Warning
Experimental. This extension is experimental and not yet ready for production use. It is built on top of WebMCP, which is itself an experimental, early-stage proposal. Both the underlying specification and this extension's API may change or break at any time without notice. Use at your own risk.
Introduction
What is WebMCP?
WebMCP exposes page-scoped tools to AI agents through the browser's
ModelContext interface (
document., with a fallback to
navigator. used by Chrome's origin trial). An agent operating
the page can discover these tools and call them – for example to search content,
navigate to a section, or open a pre-filled contact e-mail.
See also
The WebMCP proposal of the W3C Web Machine Learning Community Group describes the underlying browser API this extension builds on.
What this extension does
The extension turns tool definitions into a declarative concern:
- A tool is a small PHP class implementing
\Neoblack\. It returns aWebmcp\ Tool\ Tool Provider Interface \Neoblack\describing the tool's name, JSON schema and behaviour.Webmcp\ Tool\ Manifest - Behaviour is expressed through one of four primitives whose generic
interpreters live in a single JavaScript runtime (
webmcp.). No per-tool JavaScript is required.js - A
\Neoblack\(a TYPO3 data processor) collects every registered provider into one JSON block per page; the runtime reads it and registers the tools.Webmcp\ Data Processing\ Tool Manifest Processor
The four primitives at a glance:
| Primitive | Behaviour |
|---|---|
navigate | Navigate the browser to a URL chosen from a fixed set of options. |
search | Fetch a same-origin JSON index, filter it client-side, return the hits. |
mailto | Build a pre-filled mailto: link and open it (no server storage). |
static | Return a curated, static list of items verbatim. |
Because tools are pure server-side configuration, other extensions and site packages can add their own without touching JavaScript. For behaviour that no primitive covers, a tool may point at its own ES module (escape hatch).
Tip
See Writing tools for the full payload of each primitive and the escape-hatch contract.
Privacy-preserving analytics
An optional first-party ingest endpoint (/webmcp-event) logs one row per
tool call – only the tool name and a coarse, self-reported client hint, never
free text, cookies or IP. A backend module visualises the usage. Analytics can
be disabled in the extension configuration.
See also
Analytics covers exactly what is recorded, how long it is kept and how the public endpoint is hardened.
Feature detection & progressive enhancement
Everything degrades gracefully: without a ModelContext implementation,
without configuration, or with a malformed manifest, nothing is registered and
regular visitors are unaffected.
Warning
Experimental. This extension is built on top of the WebMCP proposal, which is itself an early-stage, experimental specification. Both the specification and this extension's API may change or break at any time without notice. Use at your own risk.