WebMCP

WebMCP exposes in-page tools to agents via document.modelContext on the live page.

Standard
Emerging checkEmerging
Off by default, turn on in settings

What it checks

WebMCP lets a page register tools that an agent in the browser can call. The tools only exist in the live page, so this check reads the page open in your active tab rather than fetching anything. It looks for:

  • tools registered through document.modelContext, the entry point the spec settles on;
  • tools registered through navigator.modelContext, the earlier alias, which Chrome 150 and later deprecate; and
  • declarative tools: elements such as forms marked up with a toolname attribute, and whether each has a tooldescription.

Where it can, it reports how many tools are registered.

Results

Status When
Pass Tools are registered through document.modelContext
Pass Tools are registered through navigator.modelContext, with a note to migrate
Pass The page declares toolname tools, with a note if any lack a tooldescription
N/A No WebMCP tools of either kind were found on the page
Unmeasured The extension could not read the page, so it could not look

Unmeasured usually means the site you scanned is not the one open in the active tab. Open it there and scan again.

How to fix

To offer tools, register them through document.modelContext in the page’s script. If you already use navigator.modelContext, switch to document.modelContext.

For a form, you can declare it as a tool in the markup instead, and describe what it does so an agent knows when to use it:

<form toolname="search-products" tooldescription="Search the product catalogue by keyword.">
  <label for="q">Search</label>
  <input id="q" name="q" type="search" />
  <button type="submit">Search</button>
</form>

Related: Form control labelling and MCP Server Card.