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 flagchrome://flags/#enable-webmcp-testingplus a restart. As of September 2026. - ChatGPT desktop app
- The built-in browser provides
document.modelContextnatively. 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.modelContextfirst and falls back tonavigator.modelContextplus 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
- Install Chrome Canary version 149 or later (or Chrome Stable 149+).
- Open
chrome://flags/#enable-webmcp-testing, set “WebMCP for testing” to “Enabled” and restart Canary. - 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. - 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.