WebMCP
A proposed browser API that lets a page hand its own functionality to an AI agent as tools. It fills the one slot the agent-interop stack on agentic-resource-discovery had left empty: not agent→tool (MCP), not agent→agent (A2A), but agent→web page, running client-side in the tab the user is already looking at.
Ingested 2026-08-12 after a re-read of ../webperf-wiki’s lighthouse page found Lighthouse
auditing pages for WebMCP conformance while no page in any of the 35 spokes said what WebMCP was.
What it is
“WebMCP lets developers expose web application functionality — either JavaScript functions or HTML
<form> elements — as ‘tools’ with natural language descriptions and structured schemas, designed for
AI agent ingestion.”
Imperative form — register a tool from script:
document.modelContext.registerTool({
name, description, inputSchema, execute(args)
}, { signal, exposedTo });
getTools(), executeTool() and a toolchange event on document.modelContext are named in the
explainer but still marked TODO.
Declarative form — tools synthesized automatically from annotated <form> elements, specified in a
separate explainer. The stated reason both exist: “Some of the web’s functionality is only possible
with JavaScript… WebMCP must be able to expose that JavaScript functionality through imperative tools,
not just declarative ones.”
The problem statement is an argument against server-side MCP
This is the part worth reading closely, because of who wrote it. The explainer’s case for WebMCP is that backend integrations — MCP and OpenAPI, named — bypass the web UI entirely, which it calls “UI Disintermediation & Context Loss.” The cost is concrete: a developer building the server-side version has to “replicate the user’s state, active context, and authentication credentials on a separate server.”
What WebMCP offers instead is “visually rich, cooperative interplay between a user, a web page, and an agent with shared context” — the agent acts through the page the user is looking at, so state, session and auth are already there because the browser is holding them.
So the ecosystem that built MCP is now documenting MCP’s structural cost in a spec of its own. Not a contradiction — the two answer different questions, and WebMCP “derives direct inspiration and shares a common vocabulary with MCP (e.g. tools, schemas, parameters)” — but it is the first source this spoke holds where the disintermediation objection is made from inside the standards effort rather than by a critic. The technical difference is stated plainly: MCP is server-to-client; WebMCP runs in-browser on “native web concepts like origins, standard browser permissions, DOM integration, and tab-level lifecycle.”
Security model, as far as it goes
Origin isolation is the default: tools are exposed only to same-origin documents and built-in agents.
Cross-origin iframes need Permissions Policy allow="tools", and registration without it rejects with
NotAllowedError. An optional exposedTo array opts specific trusted origins in. The explainer defers
the rest to a “Security and Privacy Considerations” section of the specification.
Recorded as incomplete rather than adequate. A page volunteering executable, natural-language-described entry points to an agent is a new attack surface — prompt injection reaching a registered tool is the obvious one — and the explainer does not work that through. Not a criticism of the design; a statement of what this corpus can and cannot claim from the source it holds.
Status: genuinely unsettled
- W3C Web Machine Learning Community Group. A proposal / draft, described as experimental.
- First published 13 August 2025 by Brandon Walderman, Leo Lee and Andrew Nolan (Microsoft) with David Bokan, Khushal Sagar and Hannah Van Opstal (Google). Later evolution driven by Dominic Farolino, with implementation feedback from Alex Nahas and Jason McGhee.
- 124 commits against 108 open issues at the time of reading. No version number.
- Chrome origin trial from Chrome 149, plus a local-development flag
(
chrome://flags/#enable-webmcp-testing). Chrome’s own page calls it “a proposed web standard” (developer.chrome.com/docs/ai/webmcp, published 2026-05-18, updated 2026-08-07 — a second T1, and the only source here with shipping detail).
The governance shape is different, and this spoke should notice
agentic-resource-discovery records the pattern this spoke keeps meeting: a vendor ships a spec, parks the data model in a neutral foundation, and bids for it to become the default — the arc of A2A, AGENTS.md and ARD itself, each one-vendor-deep at announcement.
WebMCP does not fit it. Microsoft and Google are co-authors from the first commit, in a W3C community group rather than a foundation set up around the artifact, and the browser doing the origin trial is one of the two authors’ own. Whether that produces a better standard is not something this corpus can say. What it does change is the failure mode: the single-vendor specs fail by never being adopted by anyone else, and a two-vendor spec in a CG fails by stalling — 108 open issues and no version is what that looks like from outside.
Apple and Mozilla appear nowhere in what was read. For a proposal that adds an agent-facing API surface to every page on the web, that absence is the number to watch.
Cross-spoke facets
../webperf-wiki— lighthouse‘s Agentic browsing audit category already scores pages on registered WebMCP tools, WebMCP schema validity, and forms missing declarative WebMCP. Note the ordering: the audit shipped while the standard is still an origin trial, so a scoring tool exists for a spec with no version. That page also records the consequence for webperf’s own subject — CLS now carries two justifications, one of them agentic.../search-marketing-wiki— the same Lighthouse category checks [[llms-txt|llms.txt]] discoverability alongside WebMCP. Two different bets on the same question (how does a site make itself usable to a machine): one describes the site in prose, the other exposes callable tools.../web-browsers-wiki— a W3C CG proposal shipping behind a Chrome origin trial with no stated Apple or Mozilla position is that spoke’s recurring interop story.
Related
model-context-protocol · a2a-protocol · agentic-resource-discovery · agentskills-spec · agents-md · microsoft · google · lighthouse · llms-txt · agentic-tooling · synthesis