WebMCP · verified against Chrome 152
Your site knows how to book. Agents don't.
WebMCP hands agents a typed list of what your site can actually do. This page runs it too, so an agent can read our pricing instead of scraping it.
What WebMCP actually is
A website registers tools: a name, a description, a JSON schema, and a function. An AI agent in the browser reads that list and calls the tools directly, instead of guessing the interface from a screenshot.
Source: draft specification, W3C Web Machine Learning Community Group
That execute block is your own code. It is the same
function your booking form already calls. You need no new backend, no second implementation,
and no API keys to hand out.
There is a second way in that needs no JavaScript at all: add two attributes to a
<form> and the browser builds the tool schema itself.
WebMCP is a draft specification of the W3C Web Machine Learning Community Group, edited by engineers from Microsoft and Google.
await document.modelContext.registerTool({
name: "check-availability",
description:
"Checks whether a room is free "
+ "for a given date range.",
inputSchema: { /* ... */ },
async execute({ from, to }) {
// your existing code
}
});
Three things you should know before anyone sells you this
It is an origin trial, not a finished standard
Chrome runs it from version 149 through 156 (Chrome for Developers). What happens after that is not decided.
It works today in Chrome, Edge and ChatGPT Desktop
Edge 150 runs its own origin trial, Brave has it experimentally in Leo (implementation status). Mozilla's position is neutral and Firefox has not implemented it (#1412). WebKit was asked on 28 May 2026 and has not answered (#670).
Adding it cannot break anything
Where WebMCP is missing, document.modelContext is undefined, the registration
block never runs, and your site behaves exactly as it does now. The downside is a few
kilobytes of JavaScript.
Measured, not repeated
We built it, then measured what the documentation got wrong
Most of what you'll read about WebMCP is written from other articles about WebMCP. In one set of search results we found three different names for the same API, two of which never shipped.
So we built a working implementation and tested it against real Chrome 152. Three calls do not behave the way the official explainer describes.
| Call | Documented | Observed |
|---|---|---|
| getTools()[].inputSchema | object | JSON string |
| executeTool(tool, args) | object | JSON string |
| return value | object | JSON string |
Follow the documentation and you get
UnknownError: Failed to parse input arguments, an error with no useful public
answer at time of writing.
enum and
minimum are documentation for the model, not a guard on your cart. We proved it on
our own demo, where a tool called with quantity: 0 happily added an item nobody
ordered.Every tool has to validate its own input and refuse bad calls, or a malformed agent request becomes a change your customer never asked for.
This is the single most expensive mistake in a WebMCP integration, and it is invisible until an agent makes it.
See it work
A working shop with five registered tools: search, product details, a declarative form tool built purely from HTML attributes, add-to-cart with proper refusals, and a checkout tool that only exists while the cart has something in it.
Open it in Chrome 149 or later, press Run agent sequence, and watch every tool call as it happens.
Before you talk to us, run Lighthouse
Chrome ships an Agentic Browsing audit in Lighthouse. It's free, it's already in your browser, and it will tell you whether WebMCP tools are registered, whether your forms are missing declarative definitions, and whether your schemas are valid. Run it first.
Google's own documentation names the limit: the WebMCP audits only run for sites enrolled in the origin trial. If your site doesn't have WebMCP yet, which is the entire point of being here, Lighthouse reports that nothing is registered. That answer is correct and useless at the same time.
It cannot tell you whether your site is technically capable of carrying WebMCP, which tools it should expose, or what building them costs. Those are three different questions, and they are ours.
One way in, and it is not optional
We will not quote a fixed price for code we have not read, and you should not buy one.
Readiness check
Enter your URL. We check, automatically, the five things that make WebMCP impossible: no
HTTPS, document.domain in use (which switches WebMCP off entirely), a
Permissions-Policy that blocks it, a CSP that blocks the script, or a
platform that won't let you add JavaScript at all.
You get a straight answer: your site can carry this, or here is what stands in the way. It costs nothing and there is no call to sit through. You sign in with your email first, so the result is yours to come back to.
Agent-Readiness Audit from EUR 2,000
A person reads your site, working through eleven checkpoints.
What you can offer an agent at all. Which user goals matter, which of them already live in reusable functions, which forms are clean enough for the declarative route, and whether your booking system or shop widget sits in a cross-origin iframe. That last one is the most common hidden blocker.
What it will cost to build. Is your logic callable, or welded to DOM events? That single answer is half the price.
What could go wrong. Which tools change state and must never auto-submit. Which inputs each tool has to validate itself, because the browser won't. What a tool hands back to the model.
You receive a written verdict, a prioritised tool inventory, a blocker list, and a fixed price for the integration.
If the verdict is negative, that is a real result. You have the report and you know what to fix first, instead of having paid for an integration that could never run.
Integration from EUR 5,000
We build the tools, test them in the browsers that support WebMCP, document them, and hand them over. The audit fee is credited in full. Commission the integration and the EUR 2,000 comes straight off.
Ongoing care [PRICE TBD]
The specification is still moving. The API getter was renamed once already, and the origin trial ends with Chrome 156. We keep your tools working through that.
Questions people actually ask
Which browsers support WebMCP right now?
Chrome from version 149 (origin trial, through 156) and Edge from version 150. ChatGPT Desktop supports it outside any trial. Brave has experimental support in Leo. Firefox has not implemented it and Mozilla's position is neutral. Safari has taken no position.
Will adding WebMCP break my site in Safari or Firefox?
No. Where WebMCP is unavailable, document.modelContext is
undefined, the registration code never runs, and the page behaves exactly as before. It is
progressive enhancement.
I followed the documentation and got “Failed to parse input arguments”. Why?
Because Chrome 152 does not accept a plain object.
executeTool() requires JSON-stringified arguments, getTools()
returns inputSchema as a JSON string, and the result comes back as a JSON
string too. The explainer shows objects in all three places. Stringify the arguments and
parse the result.
Is navigator.modelContext still valid?
No. It is undefined in Chrome 152. The getter moved to
document.modelContext. Any library or tutorial still using the old name will
not work.
Does the browser validate my inputSchema?
No. enum and minimum are documentation for the
model, not enforcement. Each tool has to validate its own input and refuse invalid calls,
otherwise a malformed agent request becomes a state change your user never asked for.
Do I need JavaScript to expose a form?
No. Add toolname and tooldescription to the
<form> and toolparamdescription to its inputs. Chrome derives
the JSON schema from the markup, including minimum, maximum and
format from existing HTML attributes.
How much does this cost?
The readiness check is free. The audit starts at EUR 2,000 and is credited in full against the integration, which starts at EUR 5,000.
One way in
Pricing
Every engagement begins with the free readiness check. If it says your site cannot carry WebMCP today, we tell you that instead of selling you an integration.
Readiness check
€0
- Five automated blocker checks
- Answers one question: can your site carry this at all?
- Sign in with your email, no call, no obligation
We do not take on work without it. It costs you nothing and it stops both of us from starting something your site cannot run.
Agent-Readiness Audit
from €2,000
- Eleven checkpoints, read by a person
- Written verdict and prioritised tool inventory
- Blocker list, including cross-origin iframes
- A fixed price for the integration
Credited in full if you commission the integration. A negative verdict is a real result: you keep the report.
Integration
from €5,000
- Tools built against your own client code
- Tested in the browsers that support WebMCP
- Documented and handed over
Ongoing care
[PRICE TBD]
The specification is still moving. The API getter was renamed once already and the origin trial ends with Chrome 156. We keep your tools working through that.
Every engagement starts with the free readiness check. We won't quote a fixed price for code we haven't read, and you shouldn't buy one.
Start with the free check
Sign in with your email, enter your URL, and get a straight answer without booking a call first.
Who is behind this
RakenAI builds and integrates AI systems for businesses. We wrote a WebMCP implementation and measured it against Chrome 152 with an automated test suite. That is where the corrections on this page come from, not from reading other people's articles.
Operated by Raken AG, Bahnhofstrasse 3, 5070 Frick, Switzerland.