browser-bridge
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@browser-bridgeOpen Google, search for 'browser automation', and click the first result"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
Browser Bridge
AI ↔ Browser Control Bridge: Turn your browser into an MCP toolset. Any MCP client (AI program) can call tools like browser_snapshot / browser_click / browser_type through the standard MCP protocol to operate web pages in a real browser.
Supports any MCP client: Claude, codex, custom agents, curl
Default follow mode: AI automatically controls your currently active tab, zero configuration
Real browser, not headless: login state, CAPTCHAs (prompts you to solve manually), anti-scraping characteristics are natural
Quick Start
1. Download
Download one archive from Releases:
browser-bridge-<platform>-<arch>.zip— pick based on your machine's platform
Extract to any directory (referred to as <DIR> below). The directory contains browser-bridge/ (extension), browser-bridge-host, install-host.sh (install-host.ps1 on Windows).
2. Load the extension
Open
chrome://extensionsTurn on Developer mode in the top-right corner
Click "Load unpacked" and select the extracted
browser-bridge/directory
3. Install the host
macOS / Linux:
cd <DIR>
./install-host.sh # Windows(PowerShell): .\install-host.ps1Running it will list detected browsers; press Enter to install to all, or enter a number to select a specific browser; you can also specify directly via arguments:
./install-host.sh --all # 安装到全部浏览器
./install-host.sh --chrome # 只装 Chrome(--chromium / --edge 同理)The extension ID is built in and fixed; no need to fill it in manually. If your extension ID differs, you can pass it as an extra argument: ./install-host.sh <your-extension-ID>.
If the browser is already open, fully quit and restart it after installation.
4. Usage
Connect with any MCP client:
MCP server: http://127.0.0.1:1234/mcpWhen the port is occupied, it automatically increments by 1. The actual port is shown in the extension popup (Connected · MCP port xxxx) or in ~/.browser-bridge/port.
codex config example (~/.codex/config.toml):
[mcp_servers.browser]
url = "http://127.0.0.1:1234/mcp"Then just tell the AI "help me look at this page…".
Related MCP server: BrowserPilot
MCP Tools
Tool | Parameters | Description |
| — | Query control target and connection status |
| — | List all tabs |
|
| Pin/switch the control target |
|
| Create a new tab and navigate immediately (blank page if omitted) |
|
| Close a tab (closes the controlled tab by default, auto-returns to follow) |
|
| Activate a tab for the user to see, without changing the control target |
|
| Duplicate a tab (duplicates the controlled tab by default) |
|
| Pin/unpin a tab |
| — | Snapshot of interactive elements (ref number + coordinates) |
|
| Extract main content; conversation pages (ChatGPT/Gemini) assembled by Q&A turns; format=html returns sanitized HTML, raw returns raw body HTML |
| — | Viewport screenshot (dataUrl, for visual understanding of complex layouts) |
| — | Query the current controlled page's URL and title (lightweight) |
|
| Click |
|
| Double-click |
|
| Type text (compatible with React controlled inputs) |
|
| Fill multiple fields in batch |
|
| Key press (supports ctrl/shift/alt/meta) |
|
| Dropdown select |
|
| Scroll |
|
| Hover |
|
| Highlight an element for 1s (lets the user see where the AI is operating) |
|
| HTML5 drag-and-drop |
|
| Navigate to a specified URL |
| — | Browser back |
| — | Refresh the page |
|
| Wait: timed (ms≤60s), or wait for an element to appear, or wait for page text to appear (UI conditions max 5s) |
The AI orchestrates on its own: snapshot → decide → act → snapshot again, until the task is done.
Control Modes
Follow mode (default): controls your currently active tab; switching tabs switches the target
Pinned mode: locks a specific tab (doesn't follow tab switches); pin/unpin with one click in the popup, or have the AI call
browser_use_tab
Toolbar icon badge: none = following; amber AI = pinned; red ! = connection error.
Architecture
任意 MCP 客户端
│ MCP (Streamable HTTP, 127.0.0.1:1234/mcp)
browser-bridge host(单进程 = MCP ↔ 帧协议翻译器)
│ native messaging(stdin/stdout 帧)
Chrome 扩展
├─ background:转发、目标解析、保活、状态徽标
└─ content script:快照 / 执行MV3 extensions cannot listen on ports, so the native host is the only channel (same architecture as Chrome's official DevTools MCP).
Building from Source (Developers)
Requires bun:
bun install
bun run build # 当前平台 host + 扩展
./scripts/install-host.sh # 注册 host(默认内置扩展 ID)
bun run scripts/build.ts --all # 交叉编译全部平台 + 发布包(发布用)
bun test # 单元 + MCP API 集成测试(无需浏览器)Configuration
BROWSER_BRIDGE_PORT: MCP initial port (default 1234, auto-increments if occupied)BROWSER_BRIDGE_MOCK=1: mock extension responses (for development/testing)
Troubleshooting
Symptom | Cause | Solution |
Popup shows "host not connected" | Host not installed / browser not restarted | Run install-host, fully quit and reopen the browser |
| Host name contains a hyphen (old version) | Update to the new version (host name |
Extension ID mismatch | Loaded with an old manifest | Re-download the extension, or pass |
MCP won't connect | Host not running | Open the browser + extension first (host is launched by Chrome) |
Target tab unreachable | Page not ready / not http(s) | Wait for the page to load, or pin with |
License
This server cannot be deployed
Maintenance
Related MCP Connectors
Live browser debugging for AI assistants — DOM, console, network via MCP.
Stealth web browser for agents: search, fetch, click, download and type in persistent MCP sessions.
Hosted real Google Chrome MCP with per-user persistent state. Navigate, click, type, screenshot.
AI-powered browser automation — navigate, click, fill forms, and extract data from any website.
Related MCP Servers
- AlicenseBqualityAmaintenanceEnables controlling a real Chrome browser from MCP hosts like Claude, with extension-based or CDP fallback, supporting tabs, navigation, interaction, and page reading tools.3840 npm5MIT
- FlicenseBqualityDmaintenanceEnables AI to control browsers via natural language for web automation, testing, and data scraping. Supports Chrome-based browsers and integrates with any MCP-compatible AI tool.172-
- FlicenseNot gradedqualityCmaintenanceEnables browser automation through the MCP protocol, allowing AI agents to control a real browser using accessibility snapshots and natural language commands.-
- AlicenseNot gradedqualityBmaintenanceGives MCP-compatible AI agents direct control of your real browser with existing sessions, logins, and cookies. Supports multiple agents concurrently with tab targeting.3 npm2MIT