Claude Browser Bridge
БесплатноНе проверенConnect your live Chrome tabs to Claude Code — 65 tools for debugging, performance, accessibility, visual inspection, and browser automation.
Описание
Connect your live Chrome tabs to Claude Code — 65 tools for debugging, performance, accessibility, visual inspection, and browser automation.
README
Connects your real, logged-in Chrome tabs to local Claude Code — no separate
debugging Chrome, no re-logging-in, no new tabs. A Chrome extension talks to a
local MCP server over ws://localhost:8787; Claude Code talks to that server
over stdio.
Claude Code ──stdio──► MCP server (server/index.js) ◄──WebSocket──► Chrome extension ──► your live tab
Setup (one time)
- Install deps:
cd server && npm install - Generate the auth token (writes
server/.bridge-token+extension/config.js):node gen-token.js - Load the extension: open
chrome://extensions, enable Developer mode, click Load unpacked, select theextension/folder. This install is your one-time "allow". (After pulling code changes or regenerating the token, click the ⟳ reload button on the extension card.) - Register the MCP server (already done on this machine):
claude mcp add --scope user browser-bridge -- node /Users/deqode/Project/chrom-extension/server/index.js - Restart Claude Code, open the site you're debugging in Chrome, and ask Claude to use the browser tools. Claude Code launches the server automatically; the extension auto-connects within a few seconds (click the extension icon to see connection status).
Tools exposed to Claude
| Tool | What it does |
|---|---|
list_tabs |
List open tabs (id, title, url; the pinned target has selected: true) |
select_tab |
Pin a tab as the sticky target for all tools and visually mark it — orange border + "Claude Code" badge on the page, 🤖 prefix in the tab title. clear=true unpins. The marker also auto-follows whichever tab a tool call touches, and is hidden during screenshots |
snapshot |
Ref-tagged list of visible interactive elements (ref_12 <button> "Sign in") — the reliable way to pick targets for click/fill |
get_page_text |
URL, title, visible text of the tab |
get_html |
outerHTML of a selector (or whole document) |
wait_for |
Poll until a selector and/or text appears — use after actions on SPAs |
click |
Click by snapshot ref (preferred) or CSS selector; auto-waits up to 5s for the element |
fill |
Fill input/textarea/contenteditable by ref or selector (fires input/change for React etc.); auto-waits |
eval |
Run JS in the page's main world |
get_console |
Console logs, uncaught errors with stack traces, unhandled rejections — recorded continuously since page load |
get_network |
fetch/XHR requests: method, url, status, duration, redacted request headers, response bodies for failures. Filters: url_contains, only_failures |
screenshot |
PNG of the visible tab area (returned as an image Claude can see) |
navigate |
Navigate the current tab (never opens a new one) |
All tools default to the tab pinned with select_tab, falling back to the
active tab; pass tab_id (from list_tabs) to target another tab
explicitly. The 🤖 title prefix makes the driven tab identifiable in the tab
strip even among several tabs of the same site.
Design notes
- No
chrome.debugger— console/network history comes from a tinyworld: "MAIN"content script (extension/inject.js) that wrapsconsole.*,fetchandXMLHttpRequestinto capped 500-entry buffers on the page. No yellow "is being debugged" banner, and history exists before Claude asks. If a tab predates the extension install, the background worker self-heals by injecting the recorder on first use (history starts from that moment). - Refs over selectors —
snapshotstores live element references in the page (window.__claudeBridge.refs);click/fillresolveref_Nagainst them. Refs go stale on navigation; the error message tells Claude to re-snapshot. - Auth handshake — the extension must present the shared secret from
extension/config.jsas its first WebSocket message; the server checks it againstserver/.bridge-tokenand drops unauthenticated connections within 3s. Regenerate anytime withnode server/gen-token.js(then reload the extension). - MV3 keepalive — 20s WebSocket pings keep the service worker alive while
connected; a 30s
chrome.alarmsheartbeat revives it (and reconnects) if Chrome kills it. - The bridge binds to
127.0.0.1only. Request headers likeAuthorizationandCookieare redacted before recording; response bodies are only captured for failed (>=400) requests, capped at 2KB.
Security caveats
host_permissions: <all_urls>is broad. Once you know which domains you debug, scope it down inextension/manifest.json.evalruns arbitrary JS in your pages — this is a personal dev tool; don't expose port 8787 or share the token files.
Roadmap (from review)
- Tier 2: combined
get_snapshotdiagnostic (console + network + URL in one call),wait_for_idle/wait_for_navigation, lightweight performance timings. - Tier 3: richer popup status (buffer counts, last command), re-inject on
webNavigation.onCommitted, source-map resolution for stacks.
Установить Claude Browser Bridge в Claude Desktop, Claude Code, Cursor
unyly install claude-browser-bridgeСтавит в Claude Desktop, Claude Code, Cursor и VS Code — сам разбирается с npx, uvx и сборкой из исходников.
Впервые? Поставь CLI: curl -fsSL https://unyly.org/install | sh
Или настроить вручную
Выполни в терминале:
claude mcp add claude-browser-bridge -- npx -y claude-browser-bridgeFAQ
Claude Browser Bridge MCP бесплатный?
Да, Claude Browser Bridge MCP бесплатный — установка в пару кликов через Unyly без оплаты.
Нужен ли API-ключ для Claude Browser Bridge?
Нет, Claude Browser Bridge работает без API-ключей и переменных окружения.
Claude Browser Bridge — hosted или self-hosted?
Self-hosted: сервер запускается локально на твоей машине командой из раздела установки.
Как установить Claude Browser Bridge в Claude Desktop, Claude Code или Cursor?
Открой Claude Browser Bridge на unyly.org, выбери вкладку своего клиента (Claude Desktop, Claude Code, Cursor) и нажми Install — конфиг сгенерируется автоматически, без правки JSON.
Похожие MCP
GitHub
PRs, issues, code search, CI status
автор: GitHubFilesystem
Secure file operations with configurable access controls.
Memory
Knowledge graph-based persistent memory system.
Template MCP Server
A CLI tool to create a new Model Context Protocol server project with TypeScript support, dual transport options, and an extensible structure
автор: mcpdotdirectCompare Claude Browser Bridge with
Не уверен что выбрать?
Найди свой стек за 60 секунд
Автор?
Embed-бейдж для README
Похожее
Все в категории development
