No tab hijacking
Actions run in background tabs. CDP input is delivered silently with focus emulation; your active tab stays yours.
Let AI agents work in your real, logged-in browser — same cookies, same SSO, no separate profile. Background tabs, trusted input, and multi-agent leases so nothing collides.
MCP client #1 ──stdio──┐ MCP client #2 ──stdio──┤ MCP client #3 ──stdio──┘ │ hub host :8787 │ WebSocket Chrome MV3 extension │ chrome.debugger your real Chrome profile
Not a headless browser and not a cookie dump. The agent drives the session you are already signed into.
Actions run in background tabs. CDP input is delivered silently with focus emulation; your active tab stays yours.
Real mouse and keyboard events through the DevTools protocol, verified by an in-page probe — not synthetic DOM events.
The first agent to write to a tab owns it; others can still read. Per-client refs and per-tab queues prevent collisions.
Attach files to buttons, labels, and hidden inputs by intercepting the native file chooser — no OS dialog.
Snapshots with element refs, text extraction, screenshots, console output, and a bounded, redacted network capture.
Loopback-only hub, extension-origin checks, optional token, upload allowlists, and no cookie export.
Start one server; every other agent joins the same hub automatically.
The first MCP server process binds 127.0.0.1:8787 and holds the single
extension connection. Later processes detect the port and become guests — no extra
configuration.
clientId per agent connection.release action.agent A ── click ──▶ owns tab 42 agent B ── snapshot ─▶ allowed (read) agent B ── click ──▶ blocked: owned by A agent A ── release ─▶ free agent B ── click ──▶ owns tab 42
Three steps, no clone required.
Add Browser MCP Bridge from the Chrome Web Store, open the popup, and click
Save & reconnect. Badge ON means connected.
opencode (opencode.json):
{
"mcp": {
"browser": {
"type": "local",
"command": [
"npx", "-y", "@sondv5/browser-mcp@latest",
"--extension-id", "ieijpbldkdjgncbbjndoolkkgaamlocl"
],
"enabled": true
}
}
}
Claude Code:
claude mcp add browser -- npx -y @sondv5/browser-mcp@latest --extension-id ieijpbldkdjgncbbjndoolkkgaamlocl
The agent can now list tabs, take a snapshot, click, type, upload, inspect network traffic, and run in parallel with other agents.
A small surface that is easy for models to use — and easy for you to audit.
| Tool | Actions |
|---|---|
browser_tab |
list, open, close, activate, navigate, back, forward, reload, release, detach |
browser_act |
click, type, press_key, hover, scroll, select, upload, dialog |
browser_read |
snapshot, find, get_text, evaluate, wait, console, screenshot |
browser_network |
start, list, get, stop |
browser_download |
start, list, status, cancel |
browser_server_status |
hub role, extension state, pending calls, your client id |
browser_cdp |
raw CDP escape hatch |
Local-only by default, with explicit opt-ins for file access.