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.

A domain is enough — HTTPS is added automatically.

Instant check No signup

Experimental sample report

Sample report
Checked: just now Response: 842ms Public URL
WebMCP coverage 72/100
200HTTP status 72Grade B 3HTML tools 1Warning
Check Result Details
Secure contextPassedHTTPS is enabled
Declarative HTML toolsFound3 tools with clear descriptions
Imperative JavaScript APIFoundnavigator.modelContext
MCP discoveryFound/.well-known/mcp.json
Tool input schemasReview1 optional parameter needs a description
See exactly what agents can discover Free instant validation

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

1 — Declarative HTML (no JavaScript)

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.

2 — Imperative JavaScript API

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:

SEP-1960 Endpoints Manifest
{
  "mcp_version": "2025-11-25",
  "endpoints": [{
    "url": "https://example.com/mcp",
    "transport": "streamable-http",
    "capabilities": ["tools","resources"]
  }]
}
SEP-1649 Server Card
{
  "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
  }
}
Browser support: WebMCP is available in Chrome 146+ Canary behind the chrome://flags/#webmcp-for-testing flag (as of April 2026). The W3C specification is maintained by the Web Machine Learning Working Group.