WebMCP — Prompted's In-Browser Actuation Surface
The browser has finally exposed a callable surface for the constraint envelope we already built. WebMCP gives in-browser agents a way to invoke declared tools on a page instead of guessing at the DOM. Prompted adopts it as Plane B — a governed projection of the authoritative server MCP spine — not as a replacement for it. Two planes, one contract.
Two planes, one contract
Prompted operates two agent planes now, and they are not equal.
- Plane A — the sovereign spine. Server-side MCP at
/mcp, the crawl and interaction contracts in /agents.txt and /llms.txt, the constraint envelope in /agentic-ux-contract, the Routing Table, the Handoff Schema, and the radial restatements. This is the authoritative substrate. - Plane B — the browser actuation surface. WebMCP tools registered on individual pages so an in-browser agent can invoke a declared affordance instead of guessing at the DOM. This is a projection, not a source of truth.
Why we say yes-and
Chrome shipped WebMCP (proposed web standard, origin trial from Chrome 149) and the Lighthouse Agentic Browsing readiness category (Chrome 150) in mid-2026. Both ratify the direction of this site: the accessibility tree is the machine-eye view, declared purpose beats inferred purpose, and stability (CLS, layout, semantic markup) is a governance property, not a cosmetic one.
We do not collapse governance to accommodate the new standard. We extend the surface so the same envelope projects onto it. Every WebMCP tool on this site has a server-MCP sibling or a published contract object; if it does not, it does not exist.
Tools registered by this site
All tools feature-detect WebMCP and no-op silently on any browser without it.
route_to(site-wide) — proxies the Routing Table; input{intent}, returns the canonical route and answer frame.explain(site-wide) — returns the current canonical path and the citation line an agent should use when summarizing the page. Read-only.open_research_post(/research,/research/*) — input{slug}, navigates to a corpus post.open_federation_tic(/state-of-the-federation/*) — input{tic}, navigates to a tic address.contact_prompted(/,/signal) — confirmation-required. Never submits. Routes the human to/signalwith the interest pre-selected so they can review and send.
Every invocation passes through a governance wrapper that emits a coarse prompted:webmcp:invoke browser event and returns structured handoff-shaped errors on failure, matching the shape declared in /agent-handoff-schema.
Non-collapse guardrails
- Feature-detect + no-op. Firefox, Safari, older Chrome, headless Chromium, and any browser without the WebMCP surface see the site behave exactly as they always have. Plane B being absent must never degrade the human UX or the server-MCP path.
- Agent surface = human surface. Every registered tool corresponds to an action the visible UI already supports on the same route. Tools are route-scoped, never global.
- No admin, no
/architect, no destructive actions exposed via WebMCP in v1. - Confirmation-required tools route to a visible dialog. No silent form submission, no hidden data transfer.
- The constraint envelope still applies. WebMCP tools inherit every restriction in /agentic-ux-contract and /not-this.
Lighthouse Agentic Browsing readiness
The Lighthouse category scores four signals: WebMCP tools registered on the page, integrity of the accessibility tree, Cumulative Layout Shift, and presence of /llms.txt. This site ships all four:
Origin-Agent-Cluster: ?1andPermissions-Policy: tools=(self)headers are set globally innetlify.toml, satisfying WebMCP's origin-isolation and permissions-policy gates.- The accessibility tree is honored across canonical surfaces; every icon-only control carries an
aria-label, and the mobile/architectchrome reserves 44×44 tap targets. /llms.txtalready ships;/webmcpis now linked under an “Actuation surface” section.
Testing the category requires Chrome 150+ and, for WebMCP audits, a registered origin trial token. Passing the category is a readiness signal — it does not redefine the contract.
Doctrine line
This is
- A governed projection of the authoritative server MCP spine onto the in-browser actuation plane.
- A progressive enhancement — every tool feature-detects the WebMCP surface and no-ops silently when absent.
- Route-scoped: a WebMCP tool only exists on a page where the same action already exists in the visible UI.
- Under the same constraint envelope as the rest of the site (see /agentic-ux-contract).
- A ratification signal that browsers are catching up to a discipline Prompted has already been shipping.
This is not
- A replacement for server MCP at /mcp — server MCP remains authoritative.
- Permission for an agent to bypass /agentic-ux-contract, /not-this, or /products.
- A silent-submission channel — any confirmation-required tool routes the human to a visible dialog first.
- A surface for admin, /architect, secret, or destructive actions in v1.
- A collapse of sovereign continuity into browser-vendor infrastructure. WebMCP gives the browser a callable surface; Prompted decides what that surface is allowed to mean.
Canonical references
Root frame
This surface sits inside Prompted LLC's governance substrate for sovereign adaptive systems. Sovereignty here is the continuity condition — agency that survives amplification — not sovereign cloud, data residency, or model hosting.