Spec change · 21 July 2026

The tools didn't change.
The doorway did.

WebMCP moved its registry from navigator.modelContext to document.modelContext — because a page's tools belong to that page, not to the browser. Chrome 150 deprecated the old surface while the origin trial still ships it. Every early demo on the web is now writing to a doorway that is being bricked up.

This page registers one toolset through both doorways, tells you which one you actually have, and then audits itself. Everything below is measured in your browser, right now.

01 · The migration

Nine characters of diff, one broken integration

The shim is the whole fix. Target the new surface, fall back to the old one for the length of the origin trial, and keep one registration path so you only write your tools once.

webmcp-shim.jsspec 2026-07-21 · deprecated in Chrome 150
// One registry object, whichever doorway exists.
- const mc = navigator.modelContext;              // ✗ deprecated, Chrome 150
+ const mc = document.modelContext                 // ✓ current spec
+         || navigator.modelContext;             // ↩ OT fallback, 149–156

  mc.registerTool({
    name: "quote_service",
    description: "Price a service by type and vehicle size.",
    inputSchema: { type: "object", properties: { … }, required: ["service"] },
    async execute(args) { return { content: [{ type: "text", text: … }] }; }
  });
  // Read-only by design. Tools run with the user's session —
  // anything that writes, sends or spends needs a human in the loop.
02 · Live probe

What your browser actually has

No user-agent sniffing — these are real property lookups and a real registration attempt, run on page load.

03 · The bench

Call the tools yourself

Four read-only tools for a fictional detailing shop, registered through the shim. Invoke one and you'll see the exact JSON payload an agent would receive back — same code path either way.

tool transcript
04 · Self-audit

The agent-readiness checks

Lighthouse began shipping agentic-browsing audits in May 2026. They read "Not Applicable" on virtually every site on the web today. Here is this page grading itself against the same shape of checks — computed from the live tool registry, not hardcoded.

05 · The part nobody prints

Nothing is consuming this yet

As of this drop, adoption is functionally zero. Google named nine origin-trial participants — Expedia, Booking.com, Shopify among them — with deployment unconfirmed. No mainstream agent calls WebMCP tools today: Claude, ChatGPT Agent and Perplexity all still parse the DOM or read screenshots. Gemini in Chrome is promised as the first consumer.

So this drop is positioning, not plumbing. Registering tools now costs a few dozen lines and means your site is already legible on the day the first agent looks. That is a genuinely cheap bet. It is not a traffic source, and we won't sell it as one.

Firefox and Safari have made no implementation commitment. Build on this the way you'd build on any Chromium-only origin trial: additive, removable, and never load-bearing.

06 · Receipt

Verify it yourself

Back to the Labs →
probing…