· 1 observation
Technical updates · 1
Package or technical metadata updated
View technical comparison →OpenAI v0.1.1
Add reliable WebMCP tools to websites.
From the developer
Not specified in the available declarations: limitations, pricing & account requirements.
Add WebMCP tools to this website.
Developer declarations; not independently tested. Listing last checked Nov 9, 2026. Package observed Nov 9, 2026.
From the marketplace listing
WebMCP helps inspect a site's real journeys, propose a small task-completing tool surface, implement approved tools through existing trusted paths, and verify the result end to end.
Language: English · Automatically detected from descriptions.
Exact text from the indicated source. A mention alone does not establish support for your task.
WebMCP helps inspect a site's real journeys, propose a small task-completing tool surface, implement approved tools through existing trusted paths, and verify the result end to end.
· 1 observation
Package or technical metadata updated
View technical comparison →· 2 observations
Package or technical metadata updated
View technical comparison →Find competitors to follow as you develop your plugin.
Make websites WebMCP-compatible by registering page tools on document.modelContext for in-browser AI agents.
Shared terms: webmcp, website, add, design
Add WebMCP tools to a web app: read the repo, propose a reviewable tool plan, implement the tools, and verify them in a browser.
Shared terms: webmcp, add, implement, propose
Build fully functional apps and websites with AI in minutes. No code, just your words. Base44 turns a single sentence into a real product...
Shared terms: website, design, task, add
Bring an existing website into Panderr to preserve, improve, or redesign it. Start with the website you already have, migrate its pages a...
Shared terms: website, site, existing
Jimdo builds your professional small business website directly from what you've already discussed with ChatGPT, no templates, no design w...
Shared terms: website, site, small, trusted
---
name: webmcp-site-author
description: Implement task-completing imperative WebMCP tools using document.modelContext.registerTool.
---
# WebMCP
WebMCP is a proposed browser standard that lets websites expose their functionality directly to AI agents as structured tools.
It exposes declarative and imperative APIs, and the full specification can be found here https://webmachinelearning.github.io/webmcp/
The ChatGPT implementation only supports the imperative inerface
## API structure
```ts
interface Document {
readonly modelContext?: ModelContext; // Page-scoped registry; feature-detect support.
}
interface ModelContext {
registerTool(
tool: {
name: string; // Unique, stable action identifier.
description: string; // What the tool does and when to use it.
inputSchema: object; // JSON Schema describing accepted input.
execute(input: unknown): unknown | Promise<unknown>; // Validate, act, return result.
title?: string; // Human-readable display label.
annotations?: {
// Behavioral hints, not security boundaries.
readOnlyHint?: boolean; // True only when no state changes.
untrustedContentHint?: boolean; // True for external or user-generated output.
};
},
options?: {
signal?: AbortSignal; // Abort to unregister this tool.
},
): void | Promise<void>; // Register one tool for this page.
}
```
## Example call site
```ts
const context =
typeof document === "undefined" ? undefined : document.modelContext;
if (!context?.registerTool) return;
const lifecycle = new AbortController();
try {
void Promise.resolve(
context.registerTool(
{
name: "create_booking",
title: "Create booking",
description:
"Book the selected slot and update the visible reservation.",
inputSchema: {
type: "object",
properties: { slotId: { type: "string" } },
required: ["slotId"],
additionalProperties: false,
},
annotations: { readOnlyHint: false, untrustedContentHint: false },
async execute(input) {
const booking = await bookSlot(validateInput(input));
return { id: booking.id, status: "confirmed" };
},
},
{ signal: lifecycle.signal },
),
).catch(reportError);
} catch (error) {
reportError(error);
}
return () => lifecycle.abort();
```
## Tool-design rules
- Distinguish **read**, **navigate/start**, **stage/configure**, and **complete** in names and descriptions. `create_event` means an event is created; `start_event_creation` only opens or prepares a flow. Never conceal side effects in an ambiguous verb.
- Prefer batched APIs where possible, rather than requiring clients to write loops.
- Return concise JSON-serializable results only after the action and visible state finish updating.
- Register once client-side, clean up with `AbortSignal`, and handle unsupported browsers and registration failures.
Referenced files: 1 — file references are metadata, not package contents.
Publisher declarations from the archived package. These are separate from our research and the live service's terms.
Package observed Nov 9, 2026.
Plugin_671d912bf3d88191a88bc76fe741e84b
Download plugin data (JSON)Plugin details: served from cache. Prepared . Refreshed when plugin data changes or after 6 hours. Your account and Follow status are live.