API for Agents
Query the WebMCP directory.
Read-only JSON API for agents. List WebMCP-enabled sites, fetch their tools and input schemas, or check whether a given URL exposes any.
TL;DR
Base URL https://webmcp.com. JSON responses, no auth,
CORS open (Access-Control-Allow-Origin: *). For a one-shot
probe of an arbitrary URL, use /api/v1/lookup?url=….
Deprecation (2026-07-03). Tool kind values
were renamed read/write/action →
answer/act/transact. The old values
are no longer emitted or accepted by the kind filter. See the
OpenAPI changelog and
Tool categories.
Probe an arbitrary URL
Given any URL, return whether the site exposes WebMCP tools and — if so —
its full record. The host is extracted, www. stripped, and
path-scoped demos (e.g. googlechromelabs.github.io/webmcp-tools/demos/*)
are matched by URL prefix.
| Param | Type | Description |
|---|---|---|
| url | string | Any URL on the page being probed. The host is extracted; path-scoped demos match by prefix. |
| host | string | Alternative to url. www. is stripped before matching. |
GEThttps://webmcp.com/api/v1/lookup?url=https://store.nekuda.ai/checkout
GEThttps://webmcp.com/api/v1/lookup?url=https://example.com
List & filter sites
Returns directory entries. All params are optional and combinable. Use
fields to control response size: full includes
every tool's inputSchema, summary drops schemas,
minimal returns only name/kind/impl/description.
| Param | Type | Description |
|---|---|---|
| type | live | demo | all | Filter by site type. Defaults to all. |
| q | string | Substring search across host, description, URL, and every tool name/description. |
| tool | string | Return only sites that expose a tool whose name contains this substring. |
| kind | answer | act | transact | Filter sites by tool category. Repeat to OR (e.g. kind=answer&kind=act). |
| impl | imperative | declarative | Filter by tool implementation style. |
| apiSurface | spec | polyfill | mixed | Filter by which API surface the site uses to register tools. spec = WICG registerTool or declarative DOM. polyfill = @mcp-b/webmcp-polyfill provideContext extension. mixed = both. Repeat to OR. |
| fields | full | summary | minimal | Response shape. Defaults to full. |
| limit | integer | Max sites to return. Default 100, max 500. |
| offset | integer | Pagination offset. |
GEThttps://webmcp.com/api/v1/sites?type=live&fields=summary
GEThttps://webmcp.com/api/v1/sites?tool=checkout&fields=minimal
Get a single site
Returns the full record for one directory entry, including every tool
with its JSON Schema. host is the directory key —
www. is stripped before matching.
GEThttps://webmcp.com/api/v1/sites/store.nekuda.ai
List tools for a site
Returns the tools array only — no surrounding site metadata.
GEThttps://webmcp.com/api/v1/sites/store.nekuda.ai/tools
Get one tool definition
Returns a single tool's full record including its inputSchema.
GEThttps://webmcp.com/api/v1/sites/store.nekuda.ai/tools/add_to_cart
Search every tool across every site
Flat search across all tools in the directory. Each result carries the host and URL it belongs to.
| Param | Type | Description |
|---|---|---|
| q | string | Substring match against tool name and description. |
| kind | answer | act | transact | Filter by category. Repeat to OR. |
| impl | imperative | declarative | Filter by implementation style. |
| limit / offset | integer | Pagination — default 100, max 500. |
GEThttps://webmcp.com/api/v1/tools?q=cart&kind=act
Aggregate directory stats
Useful for status dashboards. Returns totals plus a breakdown by tool kind and implementation, and the top 10 sites by tool count.
GEThttps://webmcp.com/api/v1/stats
OpenAPI 3.1 spec
The full machine-readable contract for this API. Works with Swagger UI, OpenAPI codegen, or a ChatGPT action.
GEThttps://webmcp.com/api/openapi.json
Built and maintained by nekuda. Missing a site? Submit it on the directory.