Comparison
UHP vs WebMCP
WebMCP exposes structured tools from a web document to browser/in-page agents; UHP standardizes remote execution through a selected complete agent harness. They can compose, but they standardize different boundaries.
The one-sentence difference
Section titled “The one-sentence difference”UHP standardizes how a client asks a server to execute a selected, configured complete agent harness; WebMCP standardizes a browser-facing JavaScript/HTML surface through which a web document exposes structured tools to agents.
The overlap is agent execution, but the trust boundary and object model are different. A WebMCP tool lives with a web page and invokes page/application logic. A UHP Response or Session represents work owned by a remote UHP server and complete harness runtime.
Current WebMCP status
Section titled “Current WebMCP status”The current WebMCP specification is a Draft Community Group Report dated 4 September 2026, published by the W3C Web Machine Learning Community Group. The document explicitly states that it is not a W3C Standard and is not on the W3C Standards Track.
At this verification cutoff, the official webmachinelearning/webmcp repository main is 50c4b7fd6c4402731271649bc544b662b061ed44. That 4 September change explicitly documents headless use cases as in scope. The specification also links an active Web Platform Tests suite.
What WebMCP currently defines
Section titled “What WebMCP currently defines”The current draft extends Document in secure contexts with document.modelContext. Its ModelContext interface exposes three principal methods plus a change event:
registerTool(tool, options)registers a structured page tool.getTools(options)returns tools exposed to an in-page caller from the document tree.executeTool(tool, inputObject, options)invokes a registered tool on its owning document.ontoolchangenotifies consumers when the exposed tool set changes.
An imperative ModelContextTool carries a name, human-facing optional title, natural-language description, JSON Schema inputSchema, an asynchronous-capable execute callback and optional annotations. Tool execution receives an AbortSignal, and callers can also cancel an execution with an AbortSignal.
The current annotations are:
readOnlyHint— the tool is intended not to modify state;untrustedContentHint— returned content should be treated as untrusted;consequentialHint— execution may have significant or non-reversible real-world effects.
Registration can also declare exposedTo origins, while getTools() can request tools from selected fromOrigins. The API is gated by a tools Permissions Policy and origin-isolation requirements. The draft separately includes a declarative WebMCP path intended to expose form-driven functionality without requiring every tool to be authored only through imperative JavaScript.
WebMCP is related to MCP, but it is not the MCP wire protocol
Section titled “WebMCP is related to MCP, but it is not the MCP wire protocol”The WebMCP specification says pages using the API can be thought of as MCP servers whose tools are implemented in client-side script. That is a useful mental model, not a statement that a page becomes a network MCP server speaking the MCP transport specification.
WebMCP’s normative surface is browser/web-platform API machinery: Document, ModelContext, document trees, origins, Permissions Policy, events and JavaScript callbacks. MCP’s canonical protocol surface is a client/server protocol with its own transports, capabilities, tools/resources/prompts and extensions.
Accordingly:
- WebMCP is not a new UHP version or UHP extension.
- WebMCP is not the MCP
2026-07-28protocol release and should not be described as an MCP Core release. - A WebMCP-capable website is not automatically a UHP server.
- A UHP server does not automatically expose WebMCP tools.
See UHP vs MCP for the broader MCP boundary.
Architectural comparison
Section titled “Architectural comparison”| Dimension | UHP | WebMCP |
|---|---|---|
| Primary concern | Execute work through a selected configured complete harness | Expose web-application functionality as structured page tools to agents |
| Primary boundary | Client ↔ UHP server ↔ complete harness | Web document ↔ browser/in-page agent |
| Core objects | Harnesses, Responses, Sessions, Containers, Files, streamed Events | Document.modelContext, registered tools, input schemas, execution callbacks, annotations |
| Execution location | Server-managed harness/runtime and workspace | The tool’s owning web document/application logic |
| Transport model | HTTP resource API plus SSE event streaming | Browser JavaScript/HTML API; not a remote UHP task transport |
| Discovery | UHP discovery and configured harness catalogue | Tool registration plus browser/in-page discovery through ModelContext |
| Cancellation | UHP response/task lifecycle cancellation | Per-tool execution cancellation through AbortSignal |
| Cross-origin model | Authenticated-principal/object scoping at the UHP server boundary | Origin isolation, tools Permissions Policy, exposedTo / fromOrigins controls |
| Current maturity | UHP 2026-08-11 Draft with a 64-check conformance suite | W3C Web ML Community Group Draft report, 4 Sep 2026; not a W3C Standard |
How WebMCP and UHP can compose
Section titled “How WebMCP and UHP can compose”A realistic architecture can use both layers:
Product / client │ │ UHP: start/continue remote harness work ▼UHP server + complete harness │ │ browser automation / browser agent ▼Web page │ │ WebMCP: discover and invoke page tools ▼Web application logicFor example, a complete harness running behind UHP could control a browser that understands WebMCP and choose a page-registered tool instead of inferring a sequence of DOM clicks. UHP would still own the remote task/session/workspace contract; WebMCP would govern the page-level tool exposure and invocation boundary.
That composition is an architecture, not a standardized UHP↔WebMCP binding. No primary source reviewed here establishes native WebMCP support in HarnessRouter, native UHP support in WebMCP, or a conformance mapping between their object models.
Security boundaries matter more than the similar “tool” vocabulary
Section titled “Security boundaries matter more than the similar “tool” vocabulary”WebMCP’s current security/privacy section treats agent-visible tools as a meaningful trust surface. It calls out prompt injection through tool metadata, output injection, malicious or inconsistent tool implementations, misrepresentation of intent, privacy leakage through over-parameterized tools, same-origin concerns and private-browsing boundaries.
The draft also records unresolved limits: agents cannot currently verify that an implementation matches its natural-language description, descriptions remain semantically ambiguous, and tool behavior lacks a statically verifiable behavioral contract. Its annotations help communicate intent and trust signals, but they are not cryptographic proof that a tool is safe or faithfully implemented.
UHP’s security requirements live at a different boundary: server authentication, principal/object isolation, artifact/credential handling, structured errors and harness execution controls. A deployment using both protocols must preserve both trust models rather than assuming one substitutes for the other.
What not to infer
Section titled “What not to infer”What to watch next
Section titled “What to watch next”Material changes worth revisiting include:
- movement from Community Group Draft toward a formal W3C Standards Track deliverable;
- substantive changes to the
ModelContextIDL, declarative API, permissions/origin model or security annotations; - broader browser implementation evidence beyond experimental or trial surfaces;
- a standardized bridge between WebMCP and network MCP transports; or
- explicit UHP/HarnessRouter integration backed by primary-source code or documentation.
Related pages
Section titled “Related pages”Read UHP vs MCP for the network tool/context protocol boundary, MCP Tasks for MCP’s durable asynchronous-operation extension, Skills Over MCP for skill distribution, and the ecosystem map for adjacent interoperability layers.