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
MCP server

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
All reasons and checks

jasonjmcghee/webmcp

Install

In your terminal, with SkillFoxx CLI

npx skillfoxx add mcp/webmcp-early-prototype

Detects the agents on your machine, shows the access level and pins the version.

Other ways to install

Access and checks

How we review

Broad 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.

Official

A command-line debugger for MCP servers from Giant Swarm: a REPL for tools, OAuth 2.1 and an MCP server mode for Cursor

CLIExtended access38Repository stars

A plugin with skills for building TypeScript MCP servers and MCP apps: the agent scaffolds, edits, debugs and verifies them

PluginExtended access10.9KRepository stars
Official

A desktop app with a local MCP gateway: set servers up once and Cursor, Claude and VS Code connect through a single URL

MCP serverBroad access27Repository stars
Editors’ pick

The official plugin with skills for building MCP Apps: interactive UIs on top of MCP tools that render inline in Claude

PluginMinimal access3.1KRepository stars

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

MCP serverBroad access881Repository stars

An MCP server that lets an agent read files, search code and run commands in a workspace

MCP serverBroad access1.2KRepository stars

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.

README badge

Report a problem