webmcp
WebMCP
The job is to let an agent do in the page what a user can already do there, through tools registered with the browser's modelContext, without opening a new door. Two routes: from source code, where the tools live in the app itself, call the same client or service boundary as the UI and ship with it (no hosted proxy or third-party runtime); and from a live URL, where a manifest compiles into a webmcp.init.js injected into the page and no source changes. Three defects pass discovery and still fail the agent: a schema closed at discovery but backed by a permissive runtime parser, a handler that echoes its input instead of reading the app's state, and an annotation that misstates the tool's risk. With only a URL, take the init-script route and do not pretend to analyze source that was not provided.
Apply only the routes and checks for the selected job. Read a linked skill's named file from its installed folder when available, or from the linked source. Report an unavailable required reference instead of inventing it. [skill-authoring, DISTRIBUTION.md#composing-skills]
| The job | Read |
|---|---|
| Finding what to expose in a codebase: the boundary, tracing each capability, search signals, exclusions, the inventory table | INVENTORY.md |
| The browser API, tool names, schemas, results, risk classes and annotations, imperative vs declarative, registering in the app | TOOL-CONTRACT.md |
| A standalone init script from a live URL: exploring the page, the manifest, authoring tool source, the emitted script, its validation | INIT-SCRIPT.md |
| Proving tools are discovered and invoke: the test ladder, Stagehand, the expectation config, the consequential gate, zero-tools failures | VALIDATION.md |
| Hand-probing tools against the live page: schema closure, required fields, error and annotation honesty, verifying the effect | PROBING.md |
| The final report, and the quality rubric with its gates for audits and scored evaluations | AUDIT.md |
The rules
[browserbase/skills, add-webmcp and webmcp-gen; existing repository contract and consequence rules]