Web2MCP watches the requests a site makes as you browse, learns their shape, and injects them into the page as native WebMCP tools an in-browser AI agent can call.
Requires a browser with WebMCP — Chrome 149+ with --enable-features=WebMCP, or a Chromium build that ships it. Works without it too, in record-only mode.
How it works
No config, no schema files, no per-endpoint wiring. Web2MCP learns a site's API surface from the traffic it already produces.
A page-context script patches fetch and XMLHttpRequest, capturing every JSON API the site calls — its own backend and third-party APIs alike — while filtering out static assets and trackers.
Requests are deduped into endpoint templates (/users/123 → /users/{id}), with JSON Schemas and required-ness inferred across observations. Everything a site touches pools under one domain.
Each endpoint registers as a native WebMCP tool via document.modelContext. Calls replay in page context, so cookies and captured auth headers just work.
Features
Every JSON call the page makes — to its own backend or any other domain — is recorded and pooled under the site you're on.
IDs, UUIDs and GraphQL query hashes collapse into {params}; query and body schemas are inferred from what it sees.
Tools register through the browser's own modelContext API — discoverable by any in-browser agent or the DevTools WebMCP panel.
Subdomains and pages share a single tool set keyed by the site's domain, so tools accumulate as you move around the app.
Opaque session tokens an agent can't know (like Yahoo's crumb) are filled from the recorded value when left blank.
A toolbar badge counts the tools on a page, the popup lists them (including the site's own WebMCP tools), and you can disable injection per site.
No magic, no hype
Web2MCP replays the requests a page actually makes. That's powerful for most sites, and honestly limited for hardened ones. Here's the real boundary.
Install
# build the extension pnpm install pnpm build # output ready to load / zip .output/chrome-mv3/
Chrome 149+ launched with --enable-features=WebMCP, or a Chromium build that ships it.
Open chrome://extensions, enable Developer mode, and “Load unpacked” the .output/chrome-mv3 folder.
Use the app normally. The toolbar badge counts tools as endpoints are captured and injected.
Any in-browser WebMCP agent can now discover and invoke the site's tools.
Open source, runs entirely on your machine, and stores everything locally. No accounts, no servers.