open-browser-bridge
Drives the Brave browser via an MV3 extension, native messaging host and CDP: navigation, real mouse/keyboard input, screenshots, accessibility-tree reading, form filling, uploads, console/network access and action recording as GIFs.
Lets the side panel agent run against a local Ollama model through its OpenAI-compatible endpoint, requiring no API key.
Serves as the model provider for the side panel agent via OpenAI or any OpenAI-compatible chat completions endpoint with tool calling (OpenRouter, Groq, LM Studio, etc.).
Controls the Vivaldi browser through the same Chrome-extension bridging stack, providing tab management, page reading, real input, screenshots and network/console inspection.
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., "@open-browser-bridgeopen google.com, search for 'MCP servers', and screenshot the results"
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.
Open Browser Bridge
Open-source browser control for any AI agent. A Chrome/Edge/Brave extension, a native messaging host and an MCP server. The tool surface matches Claude in Chrome: same tool names, same parameters, same behaviour. Prompts and skills written for it work unchanged with Claude Code, Codex CLI, Gemini CLI, Cursor, VS Code, Windsurf, Cline or any other MCP client.
Independent project. Not affiliated with or endorsed by Anthropic. It contains no Anthropic code.
Agent ──MCP (stdio or HTTP)──▶ host/mcp-server.js ──authenticated pipe──▶ host/native-host.js ──Native Messaging──▶ extension (MV3)
├─ chrome.debugger (CDP): real mouse/keyboard, screenshots, console, network, dialogs
├─ content/page.js: accessibility tree, ref_N element IDs, find, forms, text, files
└─ tab group per agent session, per-site permissions, activity log, Stop buttonInstall (Windows, macOS, Linux)
Requires Node.js 18+ and Chrome/Edge/Brave/Vivaldi/Chromium 116+. No npm dependencies.
node install.jsOpen
chrome://extensions(oredge://extensions), turn on Developer mode, click Load unpacked and pick theextensionfolder. The ID must match the one the installer printed.Restart the browser once so it reads the native host registration.
Click the toolbar icon. It should say Connected to the native host.
Add the MCP server to your agent.
node install.js --printshows the exact lines, for example:claude mcp add --scope user open-browser-bridge -- node /path/to/host/mcp-server.jsMost other clients use the JSON form:
{"mcpServers":{"open-browser-bridge":{"command":"node","args":["/path/to/host/mcp-server.js"]}}}. HTTP clients: runnode host/mcp-server.js --httpand connect tohttp://127.0.0.1:12407/mcpwith the bearer token it prints.
Uninstall: node uninstall.js, then remove the extension.
Related MCP server: page-bridge
Tools
Tool | What it does |
| List this session's tab group ( |
| Open / close tabs in the group |
| Go to a URL, or |
|
|
| Accessibility tree with stable |
| Natural-language element search, up to 20 refs |
| Set inputs, selects, checkboxes, contenteditable by ref |
| Article-first plain text |
| Run JS in the page with REPL semantics (top-level |
| Per-tab buffers, cleared on cross-domain navigation |
| Set files on inputs or drop them on targets (10 MB limit, hard-linked files refused) |
| Record actions and export an annotated GIF (click circles, drag arrows, labels, progress bar, watermark) |
| Resize the window |
| Several tool calls in one round trip; stops on the first error |
| Saved prompts from the options page |
| Choose among several connected browsers |
Side panel chat (bring your own model)
Open it with the toolbar popup's Open side panel chat button or Alt+Shift+A. In ⚙ settings, choose:
Anthropic (Claude): API key and model, e.g.
claude-opus-5-5,claude-sonnet-5-5,claude-haiku-4-5-20251001OpenAI-compatible: OpenAI, OpenRouter (
https://openrouter.ai/api/v1), Groq, Ollama (http://localhost:11434/v1, no key needed), LM Studio, or any/chat/completionsendpoint with tool calling
The agent works in your current tab and uses the same tools. Responses stream as they arrive, each tool call appears as an expandable step with its screenshots, permission questions appear inline in the chat, Stop halts it, and /command runs a saved shortcut. Your key stays in this browser's extension storage and is sent only to the provider you choose.
Safety model
Tab isolation: an agent can only act on tabs in its own tab group.
Per-site permission prompts appear in the agent's own UI when the agent app supports MCP elicitation, like Claude Code's "Claude in Chrome wants to…" question in the terminal. The side panel asks inline. Otherwise a browser pop-up asks. The agent model itself can never answer them. The options are once, this session, always or deny. You can force browser pop-ups in Settings → Where to ask. The host relays an answer only from the session it asked. An "always ask" list (banks, government, sign-in providers by default) can only be approved one action at a time. A blocked list disables sites completely. Restricted pages (
chrome://, the Web Store) getnavigateonly.Stop all agent actions in the popup pauses every agent and detaches the debugger.
Authenticated IPC: the native host's pipe/socket requires a random 256-bit token stored in a user-only data folder, and connections without it are dropped. HTTP mode binds to 127.0.0.1, requires a bearer token and rejects non-local
Origins.Every click, keystroke and form fill is logged with its
action_summary(options page).The server's MCP
instructionstell agents that page content is data, not instructions, and that they should pause for logins and CAPTCHAs.
Differences from Claude in Chrome
finduses local relevance ranking over the accessibility tree instead of a hosted model.The site-safety list is local and editable rather than served from a vendor API.
There is no cloud relay (local machine only).
The side panel uses your own API key or a local model instead of a Claude subscription.
An MCP agent calling
shortcuts_executegets the saved instructions to carry out itself, because a side panel can't be opened without a user click.
Development
npm test # offline: MCP server, native host relay (auth, chunking), permission prompts, providers + agent loop, GIF encoder
npm run e2e # live: every tool against your browser (extension must be loaded)
node test/sidepanel-mock.js # live: side panel agent driven by a scripted local "model"
npm run package # dist/open-browser-bridge-<version>.zip for the Chrome Web Store / Edge Add-onsPublishing to the Chrome Web Store
npm run packageand upload the ZIP in the developer dashboard. This requires a one-time registration fee.Copy the listing text and permission justifications from
STORE_LISTING.md, and hostPRIVACY.md(e.g. with GitHub Pages) for the privacy-policy URL.Once the store assigns an ID, add it to
store-ids.jsonand re-runnode install.jsso the native host accepts the store build.
Logs: %LOCALAPPDATA%\OpenBrowserBridge\logs (Windows), ~/Library/Application Support/OpenBrowserBridge/logs (macOS), ~/.local/share/open-browser-bridge/logs (Linux).
Licence: Apache-2.0.
This server cannot be deployed
Maintenance
Related MCP Connectors
Control a real browser from AI agents: navigate, click, type, screenshot, read the page.
Let your AI agent operate any website through a real, logged-in browser session.
AI-powered browser automation — navigate, click, fill forms, and extract data from any website.
AI-powered web automation. Navigate websites using AI agents for one page or a thousand
Related MCP Servers
- AlicenseNot gradedqualityBmaintenanceEnables AI agents to control a user's existing Chrome browser with preserved logins, performing tab management, element interaction, script execution, and screenshots, all locally via a Chrome extension and Python bridge.2MIT
- AlicenseNot gradedqualityAmaintenanceEnables an AI agent to read and operate the Chrome or Edge tabs you are already using — titles, URLs, text, HTML, screenshots, clicks, typing, scrolling, and tab management — via a browser extension and native messaging, without restarting the browser, switching profiles, or opening a debug port. It exposes these capabilities as 19 MCP tools, with access limited to explicitly shared tabs and hardened by per-tab, origin-bound grants plus domain allow/deny lists.1MIT
- AlicenseNot gradedqualityCmaintenanceLets local AI agents drive the Chrome browser a user already has open, including signed-in sessions, by listing tabs, reading page text and actionable elements, then clicking, filling, selecting, scrolling, navigating, and capturing viewport screenshots without exporting cookies. Runs as a dependency-free local stdio process over Native Messaging, with per-tab leases, automatic reconnection, and pause/write-action controls.MIT
- FlicenseNot gradedqualityCmaintenanceEnables an AI agent to drive the user's actual Microsoft Edge or Chrome profile through a browser extension using tab-scoped CDP, preserving existing cookies and logins without Selenium, Playwright, or a remote debugging port. Exposes tools for listing tabs, reading cookies, evaluating JavaScript, sending raw CDP commands, batching operations, clicking, typing, uploading files, capturing screenshots, and adjusting content settings.-