Chrome Bridge
Your real, logged-in Chrome as an MCP server: 60 tools, 2.75× fewer turns measured. ChromeOS too.
- Transport
- Not stated
- Package
- —
- Registry id
- io.github.frsorrentino/chrome-bridge
No install snippet on purpose. A working MCP config is a command, its arguments and an environment block — the last two are where API keys live, so this catalogue never stores them and cannot publish them. Follow the link above for the authors' own instructions.
By frsorrentino · npm
chrome-bridge-mcp· not affiliated with other projects named "chrome-bridge".
Claude Code borrows a tab from the Chrome you are already using — signed in,
with your extensions and your cookies — works in it, and hands it back. What
only a person can do (a login, a 2FA code, a CAPTCHA, a choice) comes back to
you through handoff: a banner in the page, you act, the agent continues.
Measured on a form-filling task: 2.75× fewer turns and 2.28× lower cost than the official browser extension, with ~3× the toolset and no paid plan. 60 web-development tools (navigation, DOM inspection, visual regression, audits, network mocking) over a local WebSocket bridge, plus a headless instance for CI. Self-hosted, local-only. Works on ChromeOS.

Quickstart
Requires Node.js 18+ and Chrome 135+.
git clone git@github.com:frsorrentino/chrome-bridge.git
cd chrome-bridge && ./install.sh
- Open
chrome://extensions, enable Developer mode, click Load unpacked, select theextension/folder. - Restart Claude Code.
Then ask for something like "open localhost:3000, run an accessibility audit
and find the Sign Up button": Claude Code calls navigate,
audit and find_text. Because navigate already returns
element refs, click(ref="n1") follows with no discovery turn in between.
On ChromeOS/Crostini install from the Chrome Web Store instead: an unpacked extension is dropped on every reboot, because the container isn't mounted when Chrome starts.
install.sh registers the MCP server with --scope user. To do it by hand:
claude mcp add --scope user chrome-bridge node /path/to/server/index.js.
For execute_js, enable Allow user scripts in chrome://extensions →
Chrome Bridge → Details (on Chrome 135-137, enable Developer Mode instead).
As a plugin, without a clone: in Claude Code, /plugin marketplace add frsorrentino/chrome-bridge then /plugin install chrome-bridge@chrome-bridge
registers the MCP server from npm (all capabilities) together with the recipes
skill; clients that read Agent Plugins 1.0 get the
same from plugin.json + mcp.json. The extension still comes from the Web
Store or extension/. Pick one path: the plugin and install.sh would
register the same server twice.
Your browser, your login
No blank profile, no debugging port, no cloud browser. The extension runs in your Chrome, so every site you are signed into is already open to the agent: webmail, the hosting panel, a client's back office, a staging site behind basic auth. Tabs the agent opens are marked as its own and closed when the session ends; your tabs stay yours.
When a page asks for something only you can give, the agent does not guess and
never types credentials. handoff shows a banner in the page with what it
needs — "complete the login with your 2FA, then press Done", "click the button
you mean" — waits for you, and continues from where you left it, redirects
included. It can also ask a question in the banner and read your typed reply,
or let you pick one or more elements on the page.
Why Chrome Bridge?
From the project's README.