BrowserChatBridge
Enables Claude to send prompts to and retrieve responses from Google Gemini through a signed-in browser tab, including asking questions, reading the latest reply, scraping full conversation threads, and listing open Gemini tabs.
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@BrowserChatBridgeAsk ChatGPT to review this code and suggest improvements."
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
BrowserChatBridge (bcb) — ChatGPT & Gemini as Claude Code tools
A Claude Code plugin that lets Claude talk to your signed-in ChatGPT and Gemini browser tabs. No API keys, no scraping services: a tiny browser extension types into the real web UI and reads the reply back.
Claude Code ──MCP stdio──► mcp-server ──WebSocket (127.0.0.1:17361)──► browser extension ──► chatgpt.com / gemini.google.com tabsTools exposed to Claude:
Tool | What it does |
| Send a prompt, wait for the reply to finish streaming, return it as markdown |
| Open ChatGPT/Gemini tabs with ids |
| Read the newest reply in a tab without sending |
| Pull the whole visible thread |
| Is the extension connected? Which process owns the bridge? |
Plus two slash commands, /bcb:setup and /bcb:doctor, and a skill that teaches Claude when to reach for a second opinion.
Install
Requires Node 20+ and a Chromium browser (Chrome, Edge, Brave).
claude plugin marketplace add satabd/BrowserChatBridge-Plugin
claude plugin install bcb@bcbOr, for a local checkout:
claude --plugin-dir /path/to/BrowserChatBridge-PluginThen, inside Claude Code, run /bcb:setup once. It stages the extension in a stable folder, opens your browser's extensions page, and walks you through the single manual step: Developer mode → Load unpacked → pick the folder. Sign in to chatgpt.com and gemini.google.com and you're done.
Try it: "Ask ChatGPT what it thinks of this function."
Related MCP server: MCP Browser Extension
How it works (and why it's robust)
Extension is the WebSocket client, so it reconnects on its own when a Claude Code session starts. A
chrome.alarmsheartbeat keeps the MV3 service worker from sleeping through it.Many sessions, one extension. Each Claude Code session spawns its own MCP server. The first to bind port 17361 becomes the leader; the rest proxy to it over loopback HTTP. If the leader exits, the next call re-elects.
Composer input uses
focus → execCommand('selectAll') → execCommand('insertText')plus a syntheticInputEvent. SettingtextContentdoes not update ProseMirror (ChatGPT) or Quill (Gemini) state.Completion is a hybrid gate: provider "generating" signals (ChatGPT's Stop button and
data-talvt-turn-state, Gemini'saria-busy/.pending) and user+assistant turn counts past a pre-send baseline and the extracted text unchanged for 2.5 s. Stop-button-alone is racy.Selectors are fallback chains, newest first, in
extension/src/content/adapters/. When a site redesigns, add a new first entry; don't delete the old ones.Gemini quirk: replies only finalise once the tab paints. The extension activates the target tab for the duration of an ask.
Everything binds to
127.0.0.1only. Prompts go to your own ChatGPT/Gemini account exactly as if you typed them.
Repo layout
.claude-plugin/plugin.json plugin manifest (name: bcb)
.claude-plugin/marketplace.json single-plugin marketplace so `claude plugin install bcb@bcb` works
.mcp.json declares the stdio MCP server (node mcp-server/dist/index.js)
mcp-server/src/ MCP tools + leader/follower bridge (bundled → mcp-server/dist, committed)
extension/src/ MV3 extension: background.ts, content/{entry,dom,markdown}.ts, adapters/{chatgpt,gemini}.ts
extension/dist/ built extension (committed; what you load unpacked)
shared/protocol.ts wire types shared by both sides
scripts/setup.mjs /bcb:setup helper
commands/, skills/ slash commands and the skill
tests/ fake-extension + stdio MCP client for Node-side e2eDevelop
npm install
npm run build # bundles extension/dist and mcp-server/dist (commit both)
npm run typecheck
node tests/fake-extension.mjs & # pretends to be the browser
node tests/mcp-client.mjs --two # spawns two servers: leader + followerAfter changing the extension, reload it at chrome://extensions. After changing the MCP server, run /reload-plugins or restart Claude Code.
When a site changes its UI
Open the site, inspect the composer / send button / message containers, prepend the new selector to the relevant chain in extension/src/content/adapters/<provider>.ts, rebuild, reload the extension. The adapter header comments record what each selector looked like on the last verified date.
License
MIT
This server cannot be deployed
Maintenance
Related MCP Connectors
Remote streamable-HTTP MCP server running on a single Cloudflare Worker. Your assistant gets live Airbnb, Amazon, Booking.com, Google Flights, Maps and Reddit data, social search on X, Instagram and TikTok, the Meta Ad Library, and image/video generation without any keys. Connect your own accounts to let it send WhatsApp or Telegram messages, work an IMAP inbox, manage Meta Ads campaigns and publish to X and LinkedIn. OAuth 2.1 with PKCE; stored credentials are AES-256-GCM encrypted.
Let Claude or ChatGPT search, read and send your WhatsApp messages over MCP. OAuth sign-in.
- QuallaaOAuthcom.quallaa
Talk to your public-facing AI from any MCP client — Claude, ChatGPT, Cursor, Cline, Windsurf.
Browser MCP for logged-in tasks. Uses your Chrome — credentials stay local. Zero-token replay.
Related MCP Servers
- FlicenseNot gradedqualityBmaintenanceEnables Claude Code to control a real browser using AI for web scraping, competitive intelligence, and UX auditing through the MCP protocol.-
- AlicenseBqualityAmaintenanceUse your signed-in Chrome through a local MCP server and companion extension. Supports tabs, navigation, forms, screenshots, and page reading, with a deny-all domain allowlist. Install: npx -y mcp-browser-extension@latest.22611 npm6MIT
- FlicenseNot gradedqualityDmaintenanceEnables browser automation (navigate, screenshot, click, type, etc.) for Claude Code via MCP protocol, with a Chrome extension for configuration.2-
- AlicenseNot gradedqualityDmaintenanceAn ungated reimplementation of the 'Claude in Chrome' MCP bridge that exposes 22 browser-automation tools to any MCP client, driving the official Claude Chrome extension via native messaging without requiring a claude.ai login.MIT