A community-driven registry for Claude, Cursor, Windsurf, Cline & more. Not affiliated with Anthropic.
Are you the author? Sign in to claim
MCP server for browser automation across Chrome, Firefox, and Safari using real browser profiles
Control your real browser with AI through the Model Context Protocol
An MCP (Model Context Protocol) server that lets AI assistants control your actual browser (Chrome, Firefox, or Opera) through a browser extension. Unlike headless automation tools, this uses your real browser profile with all your logged-in sessions, cookies, and extensions intact.
Perfect for: AI agents that need to interact with sites where you're already logged in, or that need to avoid bot detection.
| Blueprint MCP | Playwright/Puppeteer |
|---|---|
| ✅ Real browser (not headless) | ❌ Headless or new browser instance |
| ✅ Stays logged in to all your sites | ❌ Must re-authenticate each session |
| ✅ Avoids bot detection (uses real fingerprint) | ⚠️ Often detected as automated browser |
| ✅ Works with your existing browser extensions | ❌ No extension support |
| ✅ Zero setup - works out of the box | ⚠️ Requires browser installation |
| ✅ Chrome, Firefox, Edge, Opera support | ✅ Chrome, Firefox, Safari support |
npm install -g @railsblueprint/blueprint-mcp
Choose your browser:
Chrome / Edge / Opera
chrome://extensions/ (Chrome), edge://extensions/ (Edge), or opera://extensions/ (Opera)Firefox
about:debugging#/runtime/this-firefoxClaude Desktop (~/Library/Application Support/Claude/claude_desktop_config.json):
{
"mcpServers": {
"browser": {
"command": "npx",
"args": ["@railsblueprint/blueprint-mcp@latest"]
}
}
}
Claude Code (AI-powered CLI):
claude mcp add browser npx @railsblueprint/blueprint-mcp@latest
VS Code / Cursor (.vscode/settings.json):
{
"mcp.servers": {
"browser": {
"command": "npx",
"args": ["@railsblueprint/blueprint-mcp@latest"]
}
}
}
Example conversations:
You: "Go to GitHub and check my notifications"
AI: *navigates to github.com, clicks notifications, reads content*
You: "Fill out this form with my info"
AI: *reads form fields, fills them in, submits*
You: "Take a screenshot of this page"
AI: *captures screenshot and shows you*
┌─────────────────────────┐
│ AI Assistant │
│ (Claude, GPT, etc) │
└───────────┬─────────────┘
│
│ MCP Protocol
↓
┌─────────────────────────┐
│ MCP Client │
│ (Claude Desktop, etc) │
└───────────┬─────────────┘
│
│ stdio/JSON-RPC
↓
┌─────────────────────────┐
│ blueprint-mcp │
│ (this package) │
└───────────┬─────────────┘
│
│ WebSocket (localhost:5555 or cloud relay)
↓
┌─────────────────────────┐
│ Browser Extension │
└───────────┬─────────────┘
│
│ Browser Extension APIs
↓
┌─────────────────────────┐
│ Your Browser │
│ (real profile) │
└─────────────────────────┘
The MCP server provides these tools to AI assistants:
enable - Activate browser automation (required first step)disable - Deactivate browser automationstatus - Check connection statusauth - Login to PRO account (for cloud relay features)browser_tabs - List, create, attach to, or close browser tabsbrowser_navigate - Navigate to a URLbrowser_navigate_back - Go back in historybrowser_snapshot - Get accessible page content (recommended for reading pages)browser_take_screenshot - Capture visual screenshotbrowser_console_messages - Get browser console logsbrowser_network_requests - Powerful network monitoring and replay tool with multiple actions:
urlPattern (substring), method (GET/POST), status (200/404), resourceType (xhr/fetch/script)limit (default: 20), offset (default: 0)action='list', urlPattern='api/users', method='GET', limit=10$.data.items[0])action='details', requestId='12345.67', jsonPath='$.data.users[0]'browser_extract_content - Extract page content as markdownbrowser_interact - Perform multiple actions in sequence (click, type, hover, wait, etc.)browser_click - Click on elementsbrowser_type - Type text into inputsbrowser_hover - Hover over elementsbrowser_select_option - Select dropdown optionsbrowser_fill_form - Fill multiple form fields at oncebrowser_press_key - Press keyboard keysbrowser_drag - Drag and drop elementsbrowser_evaluate - Execute JavaScript in page contextbrowser_handle_dialog - Handle alert/confirm/prompt dialogsbrowser_file_upload - Upload files through file inputsbrowser_window - Resize, minimize, maximize browser windowbrowser_pdf_save - Save current page as PDFbrowser_performance_metrics - Get performance metricsbrowser_verify_text_visible - Verify text is present (for testing)browser_verify_element_visible - Verify element exists (for testing)browser_list_extensions - List installed browser extensionsbrowser_reload_extensions - Reload unpacked extensions (useful during development)# Clone the repository
git clone https://github.com/railsblueprint/blueprint-mcp.git
cd blueprint-mcp
# Install server dependencies
cd server
npm install
cd ..
# Install Chrome extension dependencies
cd extensions/chrome
npm install
cd ../..
Terminal 1: Start MCP server in debug mode
cd server
node cli.js --debug
Terminal 2: Build Chrome extension
cd extensions/chrome
npm run build
# or for watch mode:
npm run dev
Note: Firefox extension doesn't require a build step - it uses vanilla JavaScript and can be loaded directly from extensions/firefox/
Load extension in your browser:
For Chromium browsers (Chrome, Edge, Opera):
chrome://extensions/ (Chrome), edge://extensions/ (Edge), or opera://extensions/ (Opera)extensions/chrome/dist folderFor Firefox:
about:debugging#/runtime/this-firefoxextensions/firefox folderblueprint-mcp/
├── server/ # MCP Server
│ ├── cli.js # Server entry point
│ ├── src/
│ │ ├── statefulBackend.js # Connection state management
│ │ ├── unifiedBackend.js # MCP tool implementations
│ │ ├── extensionServer.js # WebSocket server for extension
│ │ ├── mcpConnection.js # Proxy/relay connection handling
│ │ ├── transport.js # Transport abstraction layer
│ │ ├── oauth.js # OAuth2 client for PRO features
│ │ └── fileLogger.js # Debug logging
│ └── tests/ # Server test suites
├── extensions/ # Browser Extensions
│ ├── chrome/ # Chrome extension (TypeScript + Vite)
│ │ └── src/
│ │ ├── background.ts # Extension service worker
│ │ ├── content-script.ts # Page content injection
│ │ └── utils/ # Utility functions
│ ├── firefox/ # Firefox extension (Vanilla JS)
│ │ └── src/
│ │ ├── background.js # Service worker
│ │ └── content-script.js # Page injection
│ ├── shared/ # Shared code between extensions
│ └── build-*.js # Build scripts for each browser
├── docs/ # Documentation
│ ├── testing/ # Test documentation
│ ├── architecture/ # Architecture docs
│ └── stores/ # Browser store assets
└── releases/ # Built extensions for distribution
├── chrome/
├── firefox/
├── edge/
└── opera/
# Run tests
npm test
# Run with coverage
npm run test:coverage
Documentation:
The server works out-of-the-box with sensible defaults. For advanced configuration:
Create a .env file in the project root:
# Authentication server (PRO features)
AUTH_BASE_URL=https://blueprint-mcp.railsblueprint.com
# Local WebSocket port (Free tier)
MCP_PORT=5555
# Debug mode
DEBUG=false
blueprint-mcp --debug # Enable verbose logging
blueprint-mcp --port 8080 # Use custom WebSocket port (default: 5555)
blueprint-mcp --debug --port 8080 # Combine options
Note: If you change the port, you'll need to update your browser extension settings to match.
Another instance is running. You can either:
lsof -ti:5555 | xargs kill -9
blueprint-mcp --port 8080
enable firstbrowser_tabsWe welcome contributions! See CONTRIBUTING.md for guidelines.
This tool gives AI assistants control over your browser. Please review:
Found a security issue? Please email security@railsblueprint.com instead of filing a public issue.
This project was originally inspired by Microsoft's Playwright MCP implementation but has been completely rewritten to use browser extension-based automation instead of Playwright. The architecture, implementation, and approach are fundamentally different.
Key differences:
We're grateful to the Playwright team for pioneering browser automation via MCP.
Apache License 2.0 - see LICENSE
Copyright (c) 2025 Rails Blueprint
Built with ❤️ by Rails Blueprint
Run Claude Code as an MCP server so any agent can delegate coding tasks to it
Browser automation using accessibility snapshots instead of screenshots
MCP server integration for DaVinci Resolve Studio
A Jetbrains IDE IntelliJ plugin aimed to provide coding agents the ability to leverage intelliJ's indexing of the codeba