WebMCP Validator — 2-UA
Inspect experimental WebMCP signals
Check declarative tools, navigator.modelContext, and MCP discovery. Passing does not guarantee agent compatibility or task completion.
Instant check No signup
Experimental sample report
| Check | Result | Details |
|---|---|---|
| Secure context | Passed | HTTPS is enabled |
| Declarative HTML tools | Found | 3 tools with clear descriptions |
| Imperative JavaScript API | Found | navigator.modelContext |
| MCP discovery | Found | /.well-known/mcp.json |
| Tool input schemas | Review | 1 optional parameter needs a description |
What is WebMCP?
WebMCP (Web Model Context Protocol) is an experimental browser proposal for exposing structured tools to compatible in-browser agents. Implementations and support may change, so this validator reports conformance signals rather than guaranteed compatibility.
What this validator checks
Declarative HTML Tools
Detects form[toolname] elements and validates tool names, descriptions, and input parameter quality against the W3C spec.
Imperative JS API
Checks for navigator.modelContext.registerTool() and related API calls in page scripts.
MCP Discovery Endpoint
Probes /.well-known/mcp.json and /.well-known/mcp/server-card.json for SEP-1649 / SEP-1960 compliance.
HTTPS Requirement
navigator.modelContext requires a secure context. HTTP pages cannot use the WebMCP browser API.
WebMCP Coverage Score
Aggregates detected implementation signals into a 0–100 score (grade A–F) for experimental tracking.
Tool Quality Audit
Flags missing descriptions, invalid tool names, undocumented parameters, and dangerous autosubmit settings.
Two ways to implement WebMCP
Annotate existing forms with WebMCP attributes. The browser auto-generates JSON Schema from the form fields.
<form toolname="search_products"
tooldescription="Search catalog by keyword">
<input type="text" name="query" required
toolparamdescription="Search terms">
<button type="submit">Search</button>
</form>
Add toolautosubmit for read-only actions (search, filters).
Omit it for write actions to require human review.
Register tools programmatically for complex multi-step flows.
if ("modelContext" in navigator) {
navigator.modelContext.registerTool({
name: "add_to_cart",
description: "Add a product to cart",
inputSchema: {
type: "object",
properties: {
product_id: { type: "string" }
},
required: ["product_id"]
},
execute: async ({ product_id }) => {
await cart.add(product_id);
return { content: [{ type: "text",
text: "Added to cart" }] };
}
});
}
MCP well-known discovery endpoint
Place a JSON file at /.well-known/mcp.json so AI clients can auto-discover your MCP server
before connecting. Two formats are in use:
{
"mcp_version": "2025-11-25",
"endpoints": [{
"url": "https://example.com/mcp",
"transport": "streamable-http",
"capabilities": ["tools","resources"]
}]
}
{
"protocolVersion": "2025-11-25",
"serverInfo": {
"name": "My MCP Server",
"version": "1.0.0"
},
"transport": {
"type": "streamable-http",
"url": "https://example.com/mcp"
},
"capabilities": {
"tools": true, "resources": false
}
}
chrome://flags/#webmcp-for-testing flag (as of April 2026).
The W3C specification is maintained by the
Web Machine Learning Working Group.