Skip to main content

WebMCP

WebMCP is a browser API that lets websites deliver structured tools to AI agents. Instead of scraping HTML, the agent queries an address or a dataset directly and gets the number, source and licence back. navigator.berlin has delivered such tools since May 2026, now eleven of them. Since August 2026 one of them also writes: an agent can operate the Kiez Finder that a person sees in front of them.

Live diagnostics in this browser

This section checks on load what the browser currently provides.

checking…

Spec status

WebMCP is a W3C Community Group draft, developed jointly by Microsoft and Google and hosted in the Web Machine Learning Community Group. It is updated continuously, status as of August 2026. The API surface has since moved from navigator.modelContext to document.modelContext. It is explicitly not on the W3C standards track. That means interested parties have agreed on a draft, but there is no commitment yet to turn it into an official web platform API.

Spec URL: github.com/webmachinelearning/webmcp.

Browser support

Chrome 149+
Origin trial from version 149, native implementation on document.modelContext. Can be enabled locally via the flag chrome://flags/#enable-webmcp-testing plus a restart. As of September 2026.
ChatGPT desktop app
The built-in browser provides document.modelContext natively. Tool calls require a runtime model with site tools support (GPT-5.6 Sol or Terra) and approval under Settings → Browser → Permissions.
Microsoft Edge 150+
Origin trial from version 150. As of September 2026.
Firefox
Mozilla lists WebMCP in its standards positions as “neutral”, with no worded position and no release date. As of September 2026.
Safari
WebKit rejects WebMCP (“position: oppose”, June 2026). As of September 2026.
Polyfill
For browsers without a native implementation, LLM browser extensions often load a polyfill that supplies the API. navigator.berlin checks document.modelContext first and falls back to navigator.modelContext plus polyfill. This way the tools also work in Chrome Stable, Firefox or Safari, provided the agent takes this route.

Reasons for early adoption

The spec is a draft and browser support is new. We ship WebMCP tools anyway, because:

  • Structured tool discovery is the right direction. HTML scraping by LLMs produces poor answers and unnecessary traffic. A declarative interface with source and licence per answer is an honest way to publish data.
  • Standards emerge when sites join early. A civic data platform should support such open web initiatives, not only commercial ones.
  • The effort is small. The tools are wrappers around functions that already exist (address lookup, layer query, election data). Spec changes affect only one adapter file.
  • If the spec breaks, one subpage fails. The main site stays usable. That limits the risk.

Available tools

Currently eleven tools are registered, ten reading and one writing. Full-text manifest with JSON schemas per tool at /webmcp-manifest.json.

address_lookup
Search Berlin addresses, streets and POIs.
cross_layer_query
Query all data layers at a coordinate, with the source for each value.
list_layers_at_point
Which layers cover the point? A lean pre-check.
get_kiez_profile
Profile of a LOR Bezirksregion: name, Bezirk, residents, area.
get_layer_metadata
Source, licence, as-of date and methodology of a data layer.
list_elections
List all 14 Berlin elections since 2011.
get_election_result
Result at an address for a given election, at a selectable level (polling district, Kiez, Bezirk, Berlin).
compare_elections
Compare several elections at the same place, sparkline-ready.
get_voting_district_geometry
Return the GeoJSON polygon for a polling district ID.
set_finder_weights
Writing: the agent sets the Kiez Finder sliders, and the map recolours live before the person's eyes.
get_finder_state
Back channel: read the weights, the last source of change (person or agent) and the top Kieze.

Using it in Chrome Canary

  1. Install Chrome Canary version 149 or later (or Chrome Stable 149+).
  2. Open chrome://flags/#enable-webmcp-testing, set “WebMCP for testing” to “Enabled” and restart Canary.
  3. Open navigator.berlin. The eleven tools register themselves automatically with document.modelContext. The live diagnostics at the top of this page show the surface and the tool list.
  4. Optional: install the Chrome team extension Model Context Tool Inspector to inspect tools and call them manually.

Using it without Canary

The ChatGPT desktop app ships WebMCP natively in its built-in browser. Anyone who stays in Stable Chrome without the flag, in Firefox or in Safari can use WebMCP through an LLM browser extension that loads a polyfill.

Discovery path (convention, not standard): /.well-known/webmcp.json mirrors /webmcp-manifest.json. Plain-text variant for crawlers following llmstxt.org: /llms.txt and /llms-full.txt.

Sources

deen