Browser MCP connects a Chrome Manifest V3 extension to a Bun server over an authenticated WebSocket. MCP clients send browser-scoped, authenticated requests to that server using Streamable HTTP. The extension operates your existing browser, including its signed-in sessions, rather than launching a separate headless browser.
A browser MCP token grants broad control of a connected browser: reading pages, screenshots, typing, navigation, clicks, and arbitrary page JavaScript. It is not a read-only or single-tab token. Only connect trusted AI clients. Use a separate browser profile without sensitive accounts for evaluation.
Choose an edition
EDITION=community|managed selects the implementation at build time. Community is the default. Setting an environment variable on a running community image does not convert it into managed.
The source repository remains private; the Helm chart is intended for separate public distribution through Cloudflare R2. These docs do not assert that a hosted managed service, GHCR image, public chart endpoint, Mintlify site, or Chrome Web Store listing is already published. Use operator-supplied URLs/artifacts, or build locally if you have source access.
Next steps
- Quickstart: run locally, pair a browser, and connect an MCP client.
- Extension: install, connect, disconnect, and understand permissions.
- Self-host and Helm: deploy with your own secrets and PostgreSQL.
- MCP tools: the complete initial tool set and limits.
- Security: trust boundaries, token handling, and privacy disclosures.
Current operating boundary
One server process owns all extension WebSockets. Exactly one replica is supported. Upgrades and restarts disconnect browsers and may fail in-flight commands; this is not a high-availability service. The chart enforces one replica and uses Recreate deployments.