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 |
|
| · · | 🗺️ Roadmap | Contribute |
| Skill | What it does | |
|---|---|---|
| Context control | Register many servers, 1 active by default (up to5 ). 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 acceptschrome-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.
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
chrome://extensions→ enableDeveloper mode →Load unpacked → select this folder.- Open the popup and add your server (e.g.
astrax_mcpatws://localhost:8080), or clickAdd demo server . - Open ChatGPT / Gemini / Claude → open the Web MCP Bridge panel (bottom-left) →Inject instructions .
- 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 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 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 · astrabots.pro