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.
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.
// 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.
No user-agent sniffing — these are real property lookups and a real registration attempt, run on page load.
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.
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.
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.