Install
$ agentstack add mcp-hemanth-mcp-web-bridge ✓ scanned · ✓ verified, works with Claude Code, Cursor, and more.
Security review
✓ PassedNo issues found. Passed automated security review. · v0.1.0 How review works →
- ✓ Prompt-injection patterns
- ✓ Secret / credential exfiltration
- ✓ Dangerous shell & filesystem operations
- ✓ Untrusted network calls
- ✓ Known-malicious package signatures
What it can access
- ✓ Network access No
- ✓ Filesystem access No
- ✓ Shell / process execution No
- ✓ Environment & secrets No
- ✓ Dynamic code execution No
From automated source analysis of v0.1.0. “Used” means the capability is present in the source — more access means more to trust, not that it’s unsafe.
Verified badge
Passed review? Show it. Paste this badge into your README, it links to the public security report.
Reliability & compatibility
Declared compatibility
Compatibility is declared by the source manifest. End-to-end runtime verification is coming, see below.
We're building live execution health for every listing: tool-call success rate, median latency, uptime, and last-checked timestamps, measured, not self-reported. It isn't live yet, so we don't show numbers we can't stand behind.
How agent discovery & health will work →About
mcp-web-bridge
Connect any MCP server to Chrome's WebMCP API.
You have MCP servers. You want them in the browser. This module connects to a remote MCP server, discovers its tools, and registers them with navigator.modelContext.
npm install mcp-web-bridge
Usage
import { WebMCPBridge } from 'mcp-web-bridge';
const bridge = new WebMCPBridge('https://mcp.example.com');
await bridge.connect();
bridge.register();
That's it. Tools are now available to Chrome's AI agent.
With context enrichment
const bridge = new WebMCPBridge('https://mcp.example.com', {
enrichContext: (toolName, args) => ({
...args,
user_locale: navigator.language,
user_timezone: Intl.DateTimeFormat().resolvedOptions().timeZone,
}),
onResponse: (toolName, result) => {
console.log(`[${toolName}]`, result);
return result;
},
});
await bridge.connect();
bridge.register();
With auth
const bridge = new WebMCPBridge('https://mcp.example.com');
bridge.setAuth({ type: 'bearer', token: 'sk-...' });
await bridge.connect();
Supports bearer, apikey, and basic auth. OAuth with PKCE is handled by the MCPAuth class.
Custom headers
const bridge = new WebMCPBridge('https://mcp.example.com', {
headers: {
'X-Custom-Header': 'value',
'Authorization': 'Bearer sk-...',
},
});
Custom headers are merged into every request. Auth headers from setAuth() are applied first, then your custom headers override.
Add page-local tools
bridge.register([
{
name: 'get_selection',
description: 'Get the currently selected text on the page',
inputSchema: { type: 'object', properties: {} },
execute: async () => ({
content: [{ type: 'text', text: window.getSelection().toString() }],
}),
},
]);
Mix remote MCP tools with local browser capabilities.
API
new WebMCPBridge(serverUrl, options?)
| Option | Type | Description | |--------|------|-------------| | headers | object | Custom headers merged into every request | | enrichContext | (name, args) => args | Enrich tool args before proxying | | onToolCall | (name, args) => void | Called before each tool call | | onResponse | (name, result) => result | Transform responses | | onError | (name, error) => void | Error handler | | logger | object | Custom logger (default: console) |
Methods
| Method | Returns | Description | |--------|---------|-------------| | connect() | { tools, prompts, resources } | Initialize + discover | | register(extraTools?) | tool[] | Register with WebMCP | | callTool(name, args) | result | Call a tool | | getPrompt(name, args) | result | Get a prompt | | readResource(uri) | result | Read a resource | | setAuth({ type, token }) | — | Set auth before connecting | | disconnect() | — | Clear context + logout |
Browser requirements
- Chrome 146+ with
chrome://flags/#enable-webmcp-testing - Without WebMCP,
connect()andcallTool()still work — you just can'tregister()
License
MIT
Source & license
This open-source MCP server is cataloged on AgentStack and links to its original source — we do not rehost the code.
- Author: hemanth
- Source: hemanth/mcp-web-bridge
- License: MIT
Install and usage instructions live in the source repository linked above.
Reviews
No reviews yet, be the first.
Write a review
Versions
- v0.1.0 Imported from the upstream source.