Browser Bridge MCP
Enables AI assistants to control the Arc browser via MCP, supporting navigation, clicking, form filling, JavaScript execution, screenshots, and content extraction.
Enables AI assistants to control the Brave browser via MCP, supporting navigation, clicking, form filling, JavaScript execution, screenshots, and content extraction.
Enables AI assistants to control the Opera browser via MCP, supporting navigation, clicking, form filling, JavaScript execution, screenshots, and content extraction.
Enables AI assistants to control the Vivaldi browser via MCP, supporting navigation, clicking, form filling, JavaScript execution, screenshots, and content extraction.
Click on "Install 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 Bridge MCPGo to google.com and search for MCP servers"
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 MCP
MCP server that gives AI coding assistants direct access to the browser — navigate, click, fill forms, run JavaScript, take screenshots, and read page content.
MCP Client ←(stdio)→ mcp-browser-bridge ←(WebSocket :7483)→ Browser Extension ←(Chrome APIs)→ BrowserWorks with any MCP-compatible client: Claude Code, Cursor, Windsurf, Cline, and others.
Quick Start
1. Install the extension
Install from the Chrome Web Store, or load manually:
Download or clone this repo.
Open
chrome://extensions, enable Developer mode.Click Load unpacked and select the
extension/folder.
Works in any Chromium browser: Chrome, Brave, Edge, Arc, Vivaldi, Opera.
2. Add to your MCP client
Run:
claude mcp add browser-bridge -- npx -y mcp-browser-bridgeOr add to .mcp.json:
{
"mcpServers": {
"browser-bridge": {
"command": "npx",
"args": ["-y", "mcp-browser-bridge"]
}
}
}Add to .cursor/mcp.json:
{
"mcpServers": {
"browser-bridge": {
"command": "npx",
"args": ["-y", "mcp-browser-bridge"]
}
}
}Add to ~/.codeium/windsurf/mcp_config.json:
{
"mcpServers": {
"browser-bridge": {
"command": "npx",
"args": ["-y", "mcp-browser-bridge"]
}
}
}Use npx -y mcp-browser-bridge as the server command in your client's MCP configuration. The server communicates over stdio.
3. Verify
Start your MCP client. The extension popup should show a green Connected indicator. Call the browser_status tool to confirm.
Related MCP server: mcp-browser-kit
Available Tools
All tools accept an optional tabId parameter. When omitted, they target the active tab.
Tool | Description |
| Check if the extension is connected and get active tab info |
| Navigate a tab to a URL |
| Capture a screenshot of the visible area of a tab |
| Execute JavaScript in a tab and return the result |
| Click an element by CSS selector |
| Fill a form field by CSS selector (React-compatible) |
| Get the text or HTML of a page or element |
| List all open browser tabs |
| Get captured console log entries from a tab |
| Wait for a CSS selector to appear on the page |
| Send a custom message to the extension |
Included Prompts
The server ships two MCP prompts that provide guided workflows to any connected client:
Prompt | Description |
| General-purpose browser interaction — navigating, clicking, filling forms, screenshotting, running JS. Accepts an optional |
| Structured QA checklist execution — drives the browser through test scenarios defined in markdown and reports pass/fail results. Accepts an optional |
In Claude Code, these appear as slash commands: /browser-bridge:browse and /browser-bridge:qa-runner.
Configuration
The WebSocket port defaults to 7483. To change it:
Server side: Set the
BRIDGE_WS_PORTenvironment variable in your MCP config.Extension side: Change the port in the extension popup and click Reconnect.
Security
WebSocket binds to
127.0.0.1only — no network exposure.Connections restricted to browser extension origins.
Single extension client at a time.
Troubleshooting
Extension shows "Disconnected" Check that the MCP server is running and the port is free:
# macOS/Linux
lsof -i :7483
# Windows
netstat -aon | findstr :7483Tools return "No extension connected" Open the extension popup and click Reconnect.
Screenshots fail The target tab must be visible and focused. Background or minimized tabs cannot be captured.
browser_evaluate returns unexpected results
Results must be JSON-serializable. Promises return {} — use synchronous expressions or await inside an IIFE and return a plain value.
Development
git clone https://github.com/adbarc92/mcp-browser-bridge.git
cd mcp-browser-bridge
npm install
npm run build
npm test # 53 tests via VitestLoad the extension locally via chrome://extensions → Load unpacked → select extension/.
The repo includes a .mcp.json configured for local development.
License
MIT
This server cannot be installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Latest Blog Posts
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/adbarc92/mcp-browser-bridge'
If you have feedback or need assistance with the MCP directory API, please join our Discord server