Docs

What we check#

We load each page in Chromium with a stand-in for document.modelContext (and Chrome's earlier navigator.modelContext) installed before your scripts run. Once the page settles, we record every tool still registered and every <form toolname>. We never run your tools.

Each check starts at your homepage and crawls up to 12 pages: pages where we found tools before, then links and sitemap entries, with apps, search, docs and pricing first. We follow robots.txt for every page we find on our own.

Listed sites are checked every 24 hours. A tool is removed only when the page it was on loads without it. A site drops off after 3 checks in a row find nothing, and comes back when tools do.

Getting listed#

Register a tool when your page loads:

document.modelContext.registerTool({
  name: 'search_flights',
  description: 'Search flights between two airports.',
  inputSchema: {
    type: 'object',
    properties: { from: { type: 'string' }, to: { type: 'string' } }
  },
  execute: async ({ from, to }) => searchFlights(from, to)
})

Or mark up a form:

<form toolname="book_table" tooldescription="Book a table">
  <input name="party" type="number" required>
</form>

Then submit your site. We follow your links and sitemap to find tools on other pages. If tools only register somewhere we can't reach, like a page nothing links to, add that page when you submit.

API#

Public JSON, no key, open to any origin, cached for up to five minutes.

curl https://wmcp.ai/api/v1/sites?q=flights
curl https://wmcp.ai/api/v1/sites/render.com

/api/v1/sites takes q, sort (popular, newest or tools), limit up to 100, and cursor from the last page's nextCursor. /api/v1/sites/:domain returns every tool with its input schema.

Start a check and poll it until its status is no longer running:

curl -X POST https://wmcp.ai/api/v1/scans \
  -H 'content-type: application/json' \
  -d '{"url": "yoursite.com"}'
curl https://wmcp.ai/api/v1/scans/<id>

POST /api/v1/scans takes url and up to 3 extra pages, and answers 202 with the scan's id. The scan lists each page as it's checked. Checks are limited per address and per site; a 429 for a site being checked returns that scan to follow.

Badge#

Shows your verified tool count and updates with every check.

[![WebMCP tools](https://wmcp.ai/badge/yoursite.com)](https://wmcp.ai/sites/yoursite.com)

Our bot#

Checks come from Chromium with this user agent:

Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/150.0.0.0 Safari/537.36 WebMCPRegistryBot/1.0 (+https://wmcp.ai/docs#bot)

WebMCPRegistryBot/1.0 checks sites people ask for and re-checks listed sites daily, loading a few pages at a time and following robots.txt. To stop checks or remove your site, email hello@tomo.ai.