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: agent-browser-mcp
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
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
AI-powered web automation. Navigate websites using AI agents for one page or a thousand
Real Chrome for agents: start a browser, read pages as numbered markdown, click, type, hand off.
Related MCP Servers
- AlicenseNot gradedqualityDmaintenanceEnables AI assistants to control and automate your Chrome browser directly, leveraging existing login states and configurations for tasks like content analysis, semantic search across tabs, screenshots, network monitoring, and interactive operations.11MIT
- AlicenseBqualityFmaintenanceEnables AI agents to directly control your real Chrome browser with full context including login sessions, cookies, and open tabs. It provides tools for page scanning, JavaScript execution, CDP control, screenshots, and physical mouse/keyboard input for authentic browser automation.20245MIT
- AlicenseNot gradedqualityBmaintenanceEnables AI assistants to control Chrome browser operations such as navigation, reading pages, taking screenshots, managing tabs, and more via a Chrome extension and native messaging.MIT
- AlicenseNot gradedqualityBmaintenanceEnables AI agents to directly operate a user's local Chrome browser with full login state and cookies, supporting 23 tools such as tab management, clicking, typing, screenshots, file upload, and network inspection through natural language.MIT