WebMCP
WebMCP versus MCP, raw APIs and browser automation
Four ways an agent can reach your product, what each costs you, and the one question that decides between them: who is holding the credential.
Last reviewed 27 August 2026
These get conflated constantly, usually because they share the word tool. They are not competitors so much as points on a line running from fully headless to fully in-page, and most serious products end up on more than one of them.
| Raw API | MCP server | Browser automation | WebMCP | |
|---|---|---|---|---|
| Where it runs | Your server | Your server | A driven browser | The visitor's page |
| Who authenticates | API key | Token or OAuth | A stored session | The visitor's own session |
| Discoverable before a visit | With a spec | Yes | n/a | No |
| Can change the UI | No | No | Yes, by clicking | Yes, directly |
| Breaks when you redesign | No | No | Constantly | No |
| Cost per call | Yours | Yours | Heavy — screenshots, DOM | Cheap |
| Build cost | Already built | New service | None for you | A day, then upkeep |
The four surfaces, compared on what actually differs
The question that decides it
Who is holding the credential? Everything else follows from the answer.
If a machine acts on its own schedule — a nightly sync, a monitoring job, a partner integration — nobody is signed in, so something must hold a key. That is an API or an MCP server, and the entire apparatus of key issuance, rotation, scoping and revocation comes with it.
If a person is acting through an assistant, they are already signed in, and the browser session already carries it. That is WebMCP's real advantage and it is a security argument rather than a convenience one: no new credential is minted, nothing is stored in an agent's context window, and revoking access is logging out. For a bank or an insurer, that difference is the entire conversation.
Where browser automation still wins
Computer use and browser-driving agents read the screen or the DOM and click. It is slow, expensive and fragile — a redesign breaks it, and every call carries screenshots or a full document through a model. But it works on every site, including the ones that have adopted nothing at all, which is precisely why the major agents still lead with it.
Read that as a warning rather than a reprieve: agents will operate your site whether or not you help them. The choice is between a fragile interpretation of your markup and a stable interface you defined. Only one of those is something you can test.
The discovery gap, which is the real limitation
WebMCP tools exist only while a page is open. An agent cannot learn what you offer without visiting first, and cannot include you in a plan formed before the visit.
That is not a small caveat — it is the difference between the assistant can use this site once the user is on it and the assistant knows this site is an option. Closing it takes a discovery document: a server card at /.well-known/mcp.json, or an OpenAPI description, or an entry in a registry.
A site publishes /.well-known/mcp.json pointing at /api/mcp, and its robots.txt disallows /api/. The endpoint works perfectly for anyone who knows the URL, and is invisible to every well-behaved crawler that would have discovered it. The fix is a more specific Allow rule ahead of the Disallow — and our discovery check looks for exactly this.
What to build, in order
- Your existing API, documented. Everything downstream calls it. An OpenAPI document with operation IDs and typed schemas is the foundation for all three of the others.
- WebMCP tools for the in-page journeys. Search, compare, configure, add, book. Cheapest to build, immediate benefit, no credential handling.
- A discovery document. So agents know you exist before they arrive. Then check your robots.txt does not hide it.
- An MCP server — only if headless callers genuinely need you. It is a service to run, monitor and secure, and plenty of products never need one.
Note what is not on the list: an in-app assistant of your own. There is a place for those, but the sentiment among people who use agents daily is consistent — they want to bring the assistant that already holds their context, not learn yours. WebMCP is the shape that lets you say yes to that without paying for their tokens.
Sources
Primary documents, checked on 27 August 2026
- webmachinelearning.github.io/webmcp — W3C Web Machine Learning Community Group draft — WebIDL, annotations, permissions policy
- modelcontextprotocol.io — Server-side MCP: transports, discovery, auth
- RFC 9727 — API Catalog — A well-known document for describing available APIs
- blog.cloudflare.com/webmcp — Same-origin credential model in practice
- developer.chrome.com/docs/ai/webmcp — Origin trial, flags, permissions policy directive
Keep reading
Check your own site against this
The Agent Readiness Score measures exactly what this article describes, and shows the evidence behind every finding.
Run the check →