cd /news/ai-agents/web-mcp-bridge-connect-browser-based… · home › topics › ai-agents › article
[ARTICLE · art-161202] src=github.com ↗ pub= topic=ai-agents verified=true sentiment=↑ positive

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.

read3 min views3 publishedOct 30, 2026
Web-MCP-Bridge – Connect browser-based LLMs to MCP servers and tools
Image: Michielbdejong (auto-discovered)

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
  1. chrome://extensions → enableDeveloper mode →Load unpacked → select this folder.
  2. Open the popup and add your server (e.g. astrax_mcp atws://localhost:8080 ), or clickAdd 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 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

── more in #ai-agents 4 stories · sorted by recency
── more on @web mcp bridge 3 stories trending now
sponsored brought to you by zahid.host 4,200+ EU-deployed projects
reading about agents? ship yours in a single git push.

Run your AI side-project on zahid.host

EU-based hosting, git-push deploys, automatic HTTPS, no cold starts. Free tier with a custom domain — perfect for shipping the agent you just read about.

$git push zahid main
→ Live at https://your-agent.zahid.host ✓
Get free account → Pricing
from €0/mo · no card required
LIVE [news/web-mcp-bridge-conne…] indexed:0 read:3min 2026-10-30 · —