Mcp Browser Bridge — independently scanned and version-tracked by SaferSkills.
SaferSkills independently audited Mcp Browser Bridge (MCP Server) and scored it 100/100 (green). The audit ran 55 deterministic rules across Security, Supply Chain, Maintenance, Transparency, and Community; it found 0 high-severity and 0 lower-severity findings. The full rule-by-rule trace and per-finding evidence are below. Free, methodology-open.
Findings & checks · 0 flagged
Every scanned point with the score it earned and what moved between them.
First recorded scan — no prior version to compare against.
The primary manifest — the file an agent reads to learn what this artifact does.
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.
Install from the Chrome Web Store, or load manually:
chrome://extensions, enable Developer mode.extension/ folder.Works in any Chromium browser: Chrome, Brave, Edge, Arc, Vivaldi, Opera.
<details> <summary><strong>Claude Code</strong></summary>
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"]
}
}
}</details>
<details> <summary><strong>Cursor</strong></summary>
Add to .cursor/mcp.json:
{
"mcpServers": {
"browser-bridge": {
"command": "npx",
"args": ["-y", "mcp-browser-bridge"]
}
}
}</details>
<details> <summary><strong>Windsurf</strong></summary>
Add to ~/.codeium/windsurf/mcp_config.json:
{
"mcpServers": {
"browser-bridge": {
"command": "npx",
"args": ["-y", "mcp-browser-bridge"]
}
}
}</details>
<details> <summary><strong>Other MCP clients</strong></summary>
Use npx -y mcp-browser-bridge as the server command in your client's MCP configuration. The server communicates over stdio. </details>
Start your MCP client. The extension popup should show a green Connected indicator. Call the browser_status tool to confirm.
All tools accept an optional tabId parameter. When omitted, they target the active tab.
| Tool | Description |
|---|---|
browser_status | Check if the extension is connected and get active tab info |
browser_navigate | Navigate a tab to a URL |
browser_screenshot | Capture a screenshot of the visible area of a tab |
browser_evaluate | Execute JavaScript in a tab and return the result |
browser_click | Click an element by CSS selector |
browser_fill | Fill a form field by CSS selector (React-compatible) |
browser_get_content | Get the text or HTML of a page or element |
browser_get_tabs | List all open browser tabs |
browser_get_console | Get captured console log entries from a tab |
browser_wait_for | Wait for a CSS selector to appear on the page |
browser_send_message | Send a custom message to the extension |
The server ships two MCP prompts that provide guided workflows to any connected client:
| Prompt | Description |
|---|---|
browse | General-purpose browser interaction — navigating, clicking, filling forms, screenshotting, running JS. Accepts an optional task argument. |
qa-runner | Structured QA checklist execution — drives the browser through test scenarios defined in markdown and reports pass/fail results. Accepts an optional checklist path. |
In Claude Code, these appear as slash commands: /browser-bridge:browse and /browser-bridge:qa-runner.
The WebSocket port defaults to 7483. To change it:
BRIDGE_WS_PORT environment variable in your MCP config.127.0.0.1 only — no network exposure.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.
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.
MIT
~30 seconds. Free. No account. Every finding cites a rule and a line of evidence.