agentgrade

EnglishEspañol日本語中文
← Knowledge Base

What is WebMCP?

WebMCP is a W3C Community Group draft proposal that lets AI agents interact with websites through the user's browser rather than over a separate API. Sites annotate existing HTML forms with attributes that declare them as callable tools; the browser exposes those tools to an agent via a new navigator.modelContext API. The proposal is backed by Google and Microsoft and is currently available behind an experimental flag in Chrome Canary.

The name is a deliberate echo of MCP, Anthropic's Model Context Protocol, but the two are distinct specs that solve different problems. MCP defines a JSON-RPC protocol for an agent to call tools on a server. WebMCP defines a browser API for an agent to call tools that already exist as forms on a page. They share the "tools" concept and not much else.

Why WebMCP matters

The traditional path for agent-website integration is: the site publishes an API (OpenAPI) or an MCP server, the agent authenticates separately, and calls run over a backchannel. This works for first-party agent integrations but breaks down for the long tail of websites that have valuable functionality but no API team to build a parallel surface.

WebMCP takes the inverse approach: the site already has a form to do the thing, the user is already logged in, the browser already has the session. Why build a parallel API? Annotate the existing form with a few attributes, and an agent in the browser can call it directly — inheriting the user's auth, the site's CSRF protections, and the browser's permissions model for free.

The use cases are mostly user-in-the-loop agent flows: an agent acting on behalf of a logged-in user on the site the user is currently visiting. Booking a flight, filing a support ticket, posting a comment — anywhere a form would normally take a human submission.

How WebMCP differs from MCP

MCPWebMCP
Who calls whomAgent → serverAgent → browser → server
Where the agent runsOutside the browserInside or alongside the browser
AuthenticationOAuth 2.1 / API keysThe user's existing browser session
TransportJSON-RPC over HTTP/SSEBrowser internal API (navigator.modelContext)
What you build on the siteA dedicated MCP endpointAttribute annotations on existing HTML forms
Connection lifetimePersistent across sessionsEnds when the tab closes
DiscoveryMCP registry / well-knownDOM scan + /.well-known/webmcp.json manifest

The architectures are nearly opposites. MCP gives external agents a stable backend interface; WebMCP gives in-browser agents access to the existing frontend. A site can publish both: MCP for headless agent integrations, WebMCP for user-in-the-loop browser flows.

How WebMCP works

There are two cooperating pieces: DOM annotations (per-page) and an optional manifest (per-site).

1. Annotated forms. A site marks any HTML form as agent-callable with three custom attributes:

<form tool-name="search-products" tool-description="Search the catalog by keyword">
  <input type="text" name="q" tool-param-description="Search query, e.g. 'red shoes'">
  <button type="submit">Search</button>
</form>

The browser-side WebMCP runtime scans the DOM for tool-name elements, builds a tool list, and exposes it to the agent. When the agent invokes search-products with q: "running shoes", the browser fills in the form and submits it on the agent's behalf — through the user's session.

2. The manifest. A site can publish /.well-known/webmcp.json declaring tools that may not be visible on every page (or that involve multi-step flows). The manifest format mirrors MCP's tool descriptors:

{
  "spec": "webmcp/0.1",
  "tools": [
    {
      "name": "search-products",
      "description": "Search the product catalog",
      "url": "/search",
      "method": "GET",
      "parameters": [
        {
          "name": "q",
          "type": "string",
          "description": "Search query"
        }
      ]
    }
  ]
}

The manifest gives agents a discovery path that doesn't depend on DOM scraping. AgentGrade checks both: a present /.well-known/webmcp.json and any tool-name attributes on the homepage.

WebMCP vs other agent-interop layers

SpecWhere the agent livesWhat's exposedAuth
WebMCPIn the browserAnnotated HTML formsUser's session
MCPOutside the browserJSON-RPC tools on a serverOAuth / API keys
A2AAnywhereA whole agent with named skillsAgent-level auth
OpenAPIAnywhereREST endpoints with schemasPer-endpoint scheme
SKILL.mdAnywhereProse playbookN/A

WebMCP is the only one that runs inside the user's browser. The others all assume the agent is on a server or in a chat client; WebMCP assumes the agent is the user's user agent, with all the trust and authority that implies.

Current status

WebMCP is a Draft Community Group Report under the W3C Web Machine Learning Community Group. As of mid-2026:

Because the user-side surface is gated on browser support, sites that ship WebMCP today are early — they're betting on the spec stabilizing and browsers shipping. The cost of being early is low (a few HTML attributes); the upside is being agent-callable for the first wave of in-browser agents that adopt the spec.

Who's backing WebMCP

Notably absent: Anthropic (the MCP author) and OpenAI. The spec is positioned as complementary to MCP, not competitive, but the overlap in naming has caused some confusion.

How to add WebMCP to your site

  1. Pick the forms that matter. Don't annotate every form on the site. Pick the 1-3 most valuable agent-callable actions (search, submit, subscribe).
  2. Add the attributes. tool-name on the <form> element, tool-description on the form, tool-param-description on each <input>.
  3. Use lowercase-hyphen names. search-products, not searchProducts.
  4. Write descriptions for an agent, not a human. Lead with the verb. Be specific about the parameter type (e.g., "Search query string, 1-200 chars" not just "search").
  5. Publish the manifest. /.well-known/webmcp.json listing the same tools. This is the discovery path for agents that don't scan the DOM.
  6. Test in Chrome Canary with the experimental flag enabled.

Common errors scanners flag

FAQ

Is WebMCP a fork of MCP?

No. They are separate specs from separate working groups with separate architectures. They share the "tools" concept (a named, parameterized action an agent can call) but the protocols, transports, and trust models are completely different. The naming is unfortunate.

Will Chrome's WebMCP work in Firefox or Safari?

Not currently. Firefox and Safari have not implemented the spec. Cross-browser support depends on the spec maturing past Draft status, which is a multi-year process.

Should I add WebMCP if I already have MCP?

Yes if your service has a website with forms that users fill out today. The two address different agent contexts: server-side agents use MCP; user-in-the-loop browser agents use WebMCP. Sites with both let agents pick the right surface.

Does AgentGrade penalize sites without WebMCP?

No. WebMCP is an informational check. The score is not penalized for missing it. It is a positive signal when present.

Is WebMCP secure?

The security model inherits from the browser: same-origin enforcement, the user's existing session, CSRF protection. An agent can only call tools the user could call manually on the same page. There is no escalation surface beyond what the user already has. The risk is that the agent acts on the user's behalf without the user understanding what's happening — a UX problem, not a security boundary problem.

What replaces /.well-known/webmcp.json if I host my forms in an iframe?

Same-origin rules apply: an agent in the parent page can call form-level tools in same-origin iframes. Cross-origin iframes are isolated. The manifest should be on the iframe's origin.

Does WebMCP work with single-page apps?

Yes, but forms must be present in the DOM at the time the agent scans. SPAs that hydrate forms on user interaction may need to declare them in the manifest instead.

When will WebMCP ship to stable Chrome?

No public timeline. The spec is Draft; production rollout depends on spec stability, security review, and demonstrated developer adoption.

Spec maturity

Draft, not shipped. WebMCP is a W3C Community Group draft, available behind an experimental flag in Chrome Canary only. The spec may change. Adoption is early — annotating forms is cheap insurance for sites that want to be ready when production browser support arrives.

Learn more