WebMCP, early prototype
WebMCP (early prototype)
An experimental bridge between an MCP client and website tools exposed through a JavaScript widget added by the site owner
- 938 ★ on the repository
- Last commit
- MIT
Broad access
Why this level
- The bridge may accept network connections from other machines
- A page exposes actions under the current browser session and can return malicious instructions
Install
- Works in
In your terminal, with SkillFoxx CLI
npx skillfoxx add mcp/webmcp-early-prototypeDetects the agents on your machine, shows the access level and pins the version.
Other ways to install
Access and checks
How we reviewBroad accessThe tool can change data, run commands or handle secrets.
- The bridge may accept network connections from other machines
- A page exposes actions under the current browser session and can return malicious instructions
This is third-party code. Review the repository files before installing.
What it does
This early WebMCP implementation connects an MCP client to tools deliberately exposed by a website through a JavaScript widget. The site owner adds the script and defines functions. A user pairs the page with their bridge, making its tools, resources and prompts available to an agent. The MCP side uses `stdio`; the internal bridge uses WebSocket. A one-use registration token is exchanged for a page-session token. Several pages can be connected, with domain-prefixed tool names. The server forwards a call to the page, which executes its function and returns the result. The website must support this widget.
Who it is for. Web engineers testing how to expose their site functions to an agent in a separate environment.
Good fit when
- Study an early website-to-MCP tool bridge
- Expose custom JavaScript functions on an experimental page
- Trace a call from MCP through WebSocket to a page
- Compare this historical prototype with the modern WebMCP specification
Not a fit when
- You need a current W3C WebMCP implementation
- You plan to use a work network or sensitive browser session
- You need automation of any website without its integration
Example request
Explain early WebMCP using a test page without personal data. Show one tool schema and the call path. Do not start the server or print tokens in chat.MCP
- Transport
- stdio
- Authentication
- not required
Limitations
This early prototype is incompatible with W3C WebMCP; the last commit was in February 2026. Tool availability depends on website widget support and the MCP client. Listen is called without a host address, so the server is not restricted to loopback despite the documentation; HTTP CORS allows any origin. A token pairs a page but does not validate its responses; use a test environment without sensitive tabs, since actions inherit the page session’s permissions.
How to disable. Close the paired tab or disconnect the widget. Run npx @jason.today/webmcp -q to stop the server. Remove the MCP client entry if no longer needed. Inspect `~/.webmcp` configuration and tokens separately.
FAQ
Is this modern browser WebMCP?
No. The name refers to an early independent proposal and implementation. The project does not claim compatibility with the current W3C specification.
Must the website be modified?
Yes. Its owner adds `webmcp.js` and exposes page functions. The widget connects those functions; it does not automatically turn arbitrary site UI into tools.
What does `--config` installation do?
`--config` automatically changes the selected MCP client configuration. Back up settings first. A separate `--mcp` mode supports manual registration.
Can multiple pages connect?
Yes. The bridge supports several channels with domain prefixes. Tools change as pages connect; a client may need a restart to refresh its list.
Does it protect against malicious page instructions?
No. Further security hardening remains unfinished. Treat page content and tool results as untrusted; a registration token does not validate text.
What license does the prototype use?
MIT.
Discussion
No questions or reviews yet.
Related
MCP serversA command-line debugger for MCP servers from Giant Swarm: a REPL for tools, OAuth 2.1 and an MCP server mode for Cursor
A plugin with skills for building TypeScript MCP servers and MCP apps: the agent scaffolds, edits, debugs and verifies them
A desktop app with a local MCP gateway: set servers up once and Cursor, Claude and VS Code connect through a single URL
The official plugin with skills for building MCP Apps: interactive UIs on top of MCP tools that render inline in Claude
A fast MCP server in Rust extended with WebAssembly plugins: plugins load from OCI, files, http(s) and s3, and OCI signatures can be verified
An MCP server that lets an agent read files, search code and run commands in a workspace
README in short
Built-in tools generate a registration token and help define website tool schemas. They do not establish the safety of the function a site owner attaches to a schema.