Web-MCP-Bridge – Connect browser-based LLMs to MCP servers and tools A new open-source browser extension called Web MCP Bridge lets ChatGPT, Gemini and Claude web interfaces call local Model Context Protocol (MCP) servers without API keys or paid subscriptions, routing tool requests through a Python bridge that listens on 127.0.0.1 and accepts only chrome-extension:// origins. The project ships adapters for all three platforms (adapters/chatgpt.js, adapters/gemini.js, adapters/claude.js), requires per-call approval by default, and claims roughly 50% fewer tokens by describing tools as name(param: type) signatures instead of JSON Schema. A new platform integration takes about 40 lines of selectors, and the repo includes a demo MCP server for a 60-second quick start. Use your local MCP servers with ChatGPT, Gemini and Claude Web: no API keys, no extra subscriptions. Free AI chat UIs don't speak MCP. Web MCP Bridge adds it: the model asks for a tool with a JSON block, the extension runs it on your local MCP server over WebSocket and pastes the result back into the chat. By default you approve every call. Important Only connect MCP servers you trust. A tool with filesystem access can read whatever you allow it to. | Platform | Status | Adapter | |---|---|---| | | ✅ Supported | adapters/chatgpt.js | | | ✅ Supported | adapters/gemini.js | | | ✅ Supported | adapters/claude.js | | · https://camo.githubusercontent.com/d07fc3deb7c4cfed1fddd8ca223a4c9c3153dcb12bb48c267834e87c6437f144/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f506572706c65786974792d3146423843443f7374796c653d666f722d7468652d6261646765266c6f676f3d706572706c6578697479266c6f676f436f6c6f723d7768697465 · https://camo.githubusercontent.com/cfeeb479b240f7f30d30d834e294edd48b1a6c4a9fef7a2f2cc123965d939372/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f446565705365656b2d3444364246453f7374796c653d666f722d7468652d6261646765 | 🗺️ Roadmap | Contribute https://github.com/AstraxOf/web-mcp-bridge/blob/main/CONTRIBUTING.md | | | Skill | What it does | |---|---|---| | | Context control | Register many servers, 1 active by default up to 5 . Only active servers' tools reach the model; the popup shows the approximate token cost. | | | Per-MCP permissions | 3-state selector — Allow always · Ask every time · Don't allow — global and per server, in the popup and the in-page panel. | | | Nothing is dropped | Images, audio and binary resources are attached to the chat as real files; long text is attached in full instead of truncated. | | | No preinstalled MCP | Add your own, or the bundled demo server with one click. | | | Reliable in the background | No step relies on page timers throttled when hidden ; delivery is verified and retried. | | | The AI doesn't forget | A one-line reminder per message plus periodic full re-injection. | | | ≈ 50 % fewer tokens | Tools are described as name param: type signatures instead of JSON Schema. | | | ~40 lines per platform | A new platform is just a set of selectors. | | | Locked down | The Python bridge listens on 127.0.0.1 , only accepts chrome-extension:// origins and supports a token. Websites can't reach your tools. | | | No duplicates, auto-reconnect | Per-call IDs, exponential backoff, keep-alive for the MV3 Service Worker, call history, light/dark UI. | Tip Want to try it in 60 seconds? The repo ships with a demo MCP server . See Quick start -quick-start-60-seconds . Browsers can't launch local programs, so run this once . It keeps the bridge running in the background at login Windows / macOS / Linux : python server/install service.py Then load the extension. Use the master switch in the popup or the in-page panel to turn the bridge on/off; the icon shows OFF when disabled. Remove auto-start with python server/install service.py --uninstall . pip install -r server/requirements.txt python server/mcp ws bridge.py --port 8080 --name demo -- python server/examples/demo mcp server.py 1. chrome://extensions → enable Developer mode → Load unpacked → select this folder. 2. Open the popup and add your server e.g. astrax mcp at ws://localhost:8080 , or click Add demo server . 3. Open ChatGPT / Gemini / Claude → open the Web MCP Bridge panel bottom-left → Inject instructions . 4. Ask "What time is it? Use your tools." and approve the call. Your own server: python server/mcp ws bridge.py --port 8080 -- python -m astrax mcp Several at once: see server/servers.example.json and --config . { "mcp call": { "server": "server name", "name": "tool name", "arguments": { "arg1": "value" } } } Results come back as: MCP RESULT server="…" tool="…" status="ok|error|rejected" … /MCP RESULT Note The content of MCP RESULT is presented to the AI as data , not instructions prompt-injection mitigation . See the Spanish README https://github.com/AstraxOf/web-mcp-bridge/blob/main/README.es.md for the architecture diagram, security model, selector-fix guide and roadmap. npm test syntax, parser, prompt builder and bridge integration tests npm run pack dist/web-mcp-bridge.zip Astrax is open source and grows with its community. You're welcome to open issues, send pull requests, suggest ideas, try Astrax on other systems or MCP clients, and report bugs. Read CONTRIBUTING.md https://github.com/AstraxOf/web-mcp-bridge/blob/main/CONTRIBUTING.md to get started — new adapters are the best first contribution. If you find the project useful, leave a ⭐ on the repository and subscribe to the channel. Made with 💙 by Rufus · @AstraxOf https://github.com/AstraxOf · astrabots.pro https://astrabots.pro