Reusing your real profile is why this works on sites that need an account, with no separate login step and no headless-browser detection. It also means anything the model drives is acting as you, in a browser holding your sessions. The debugger-based network capture is the other standout: it returns response bodies, which the webRequest path cannot.
A Chrome extension that turns your everyday browser into an MCP server. Unlike Playwright-based servers it does not launch a fresh browser: it drives the Chrome you are signed into, so existing sessions and settings apply, and it has Chrome's own APIs rather than an automation subset.
- Windows and tabs listed, navigated, switched, closed and moved through history — `get_windows_and_tabs`, `chrome_navigate`, `chrome_switch_tab`, `chrome_close_tabs`, `chrome_go_back_or_forward`
- Screenshots with element targeting, full-page support and custom dimensions — `chrome_screenshot`
- Network capture two ways: the webRequest API for request lists, and the Debugger API when you need response bodies — `chrome_network_capture_start`, `chrome_network_capture_stop`, `chrome_network_debugger_start`, `chrome_network_debugger_stop`
- Custom HTTP requests sent from the browser's own context — `chrome_network_request`
- Content read and analysed: page HTML or text, the interactive elements on it, and semantic search across the content of your open tabs backed by a built-in vector database — `chrome_read_page`, `chrome_get_web_content`, `chrome_get_interactive_elements`, `search_tabs_content`
- Interaction by CSS selector plus keyboard input — `chrome_click_element`, `chrome_fill_or_select`, `chrome_keyboard`
- Browsing history searched with time filters, and bookmarks searched, added and deleted — `chrome_history`, `chrome_bookmark_search`, `chrome_bookmark_add`, `chrome_bookmark_delete`
Chrome or Chromium, plus Node.js >= 20.0.0 and pnpm or npm. Three steps: install `mcp-chrome-bridge` globally, load the extension from the GitHub release in developer mode, then connect. The recommended client transport is `streamableHttp` at `http://127.0.0.1:12306/mcp`; a stdio path exists for clients that need it, pointing at the bridge's `mcp-server-stdio.js`. Fully local. On pnpm v7+ the post-install registration may need running by hand as `mcp-chrome-bridge register`.
One command — npm install -g mcp-chrome-bridge
