Public MCP servers publish a tool contract and change it without notice: no versions,
no deprecation policy, no changelog feed. This registry reads
tools/list from 79 of them on a schedule, canonicalises every
schema and records the difference. Deterministic, no model in the loop.
Read the row count with its caveat: those 79 endpoints resolve to
21 independent contract families, because 51 of them are served by a single hosted platform (mintlify-docs). One template change there moves dozens of rows on the same day, and that is one event, not dozens.
How that was measured →
Which contract each of them serves →
Newest first. A silent drift is a schema change shipped while the human-readable description stayed byte-identical — the case no changelog and no RSS feed can report.
Fingerprint is a SHA-256 over the canonicalised tool set. Identical fingerprint, identical contract. Rows sharing a platform are not independent observations. Rows marked unstable are under reachability quarantine: their up/down events are withheld, their contract is still diffed.
| Server | Vendor | Platform | Tools | Changes | Last change | Fingerprint |
|---|---|---|---|---|---|---|
| Alpaca Docs | Alpaca | openapi-explorer |
5 | 0 | — | aeb2e58da33afc98 |
| Anchor Browser Docs | Anchor Browser | mintlify-docs |
3 | 0 | — | c98130453c37598c |
| Aryn Docs | Aryn | mintlify-docs |
3 | 0 | — | afa57f757fb38df4 |
| Astro Docs | Astro | — | 1 | 0 | — | 6b20ffb7f6d44ad1 |
| AWS Knowledge | Amazon Web Services | — | 5 | 0 | — | 030caf251233cf8d |
| Baseten Docs | Baseten | mintlify-docs |
3 | 0 | — | 26e524c5dd9311af |
| Bland AI Docs | Bland AI | mintlify-docs |
3 | 0 | — | ef125c3bf81430d4 |
| Bright Data Docs | Bright Data | mintlify-docs |
3 | 0 | — | fbd451aa514066f9 |
| Browserbase | Browserbase | — | 6 | 0 | — | 4b547305ee1263bf |
| Cartesia Docs | Cartesia | mintlify-docs |
3 | 0 | — | 5c05f9e18c5c613a |
| Chakra UI | Chakra UI | — | 6 | 0 | — | 345146b5ccab8ee7 |
| Chroma Docs | Chroma | mintlify-docs |
3 | 0 | — | 9ae56f87beceb6af |
| Chunkr Docs | Chunkr | mintlify-docs |
3 | 0 | — | 0fc23908359375a2 |
| Cloudflare Docs | Cloudflare | — | 2 | 0 | — | 454352b9398b8c00 |
| CockroachDB Docs | Cockroach Labs | mintlify-docs |
3 | 0 | — | 82fb93c5cc3559c0 |
| Cognee Docs | Cognee | mintlify-docs |
3 | 0 | — | e024835d029c1714 |
| Cohere Docs | Cohere | mintlify-search-only |
1 | 0 | — | 492b77de8631d0a9 |
| Context7 | Upstash | — | 2 | 0 | — | 9a6f737773d0d09b |
| Contextual AI Docs | Contextual AI | mintlify-docs |
3 | 0 | — | 793b01a37b5cf725 |
| Courier Docs | Courier | mintlify-docs |
3 | 0 | — | fbab3afa0a8fb7df |
| CrewAI Docs | CrewAI | mintlify-docs |
3 | 0 | — | 4fa80a50495d5d1c |
| Daily Docs | Daily | mintlify-docs |
3 | 0 | — | 650ae19422f01572 |
| DeepWiki | Cognition | — | 3 | 0 | — | 18cc2015befaea38 |
| Dub Docs | Dub | mintlify-docs |
3 | 0 | — | 004ebf4c4b9cac5c |
| Dust Docs | Dust | mintlify-docs |
3 | 0 | — | 9050227cc3c880db |
| E2B Docs | E2B | mintlify-docs |
3 | 0 | — | 84a7433b96d04b9e |
| EdgeOne Pages | Tencent | — | 1 | 0 | — | a6b33b20e918b4b4 |
| Exa | Exa | — | 2 | 0 | — | ab68e01795563113 |
| Fal AI Docs | fal | mintlify-docs |
3 | 0 | — | 2bb320f300850ac7 |
| Firecrawl | Firecrawl | — | 3 | 0 | — | e5c15231d80b3ed6 |
| Fireworks AI Docs | Fireworks AI | mintlify-docs |
3 | 0 | — | d5fbe87b7e713eee |
| Galileo Docs | Galileo | mintlify-docs |
3 | 0 | — | a923b753842e99e1 |
| GitMCP (docs) | GitMCP | gitmcp |
5 | 0 | — | d8dd5bda4e623a65 |
| GitMCP (repo mode) | GitMCP | gitmcp |
4 | 0 | — | fd0ead00efcfdb90 |
| Gumlet Docs | Gumlet | — | 1 | 0 | — | 735f98312187b691 |
| Hanko Docs | Hanko | mintlify-docs |
3 | 0 | — | 53bf793acecf02ce |
| Helicone Docs | Helicone | mintlify-docs |
3 | 0 | — | d8a789a6db57a221 |
| Honeycomb Docs | Honeycomb | mintlify-docs |
3 | 0 | — | 57555401555b09c8 |
| Hoppscotch Docs | Hoppscotch | mintlify-docs |
3 | 0 | — | b20744d3fa30d253 |
| Hugging Face | Hugging Face | — | 4 | 1 | 2026-09-09 | 869450943b354eaa |
| Hyperbrowser Docs | Hyperbrowser | mintlify-docs |
3 | 0 | — | a9e51ae1ac31b3b2 |
| Jina AI | Jina AI | — | 22 | 0 | — | 1be9de82fe97c6fd |
| Labelbox Docs | Labelbox | mintlify-docs |
3 | 0 | — | 4035d1892999154c |
| LanceDB Docs | LanceDB | mintlify-docs |
3 | 0 | — | 28021e424a40713f |
| LangChain Docs | LangChain | mintlify-docs |
3 | 0 | — | 859be103527ac731 |
| Linkup Docs | Linkup | mintlify-docs |
3 | 0 | — | ec0c5097604488bf |
| Lithic Docs | Lithic | openapi-explorer |
10 | 0 | — | 443200fc19421f4f |
| LiveKit Docs | LiveKit | — | 9 | 0 | — | de8bd5a9a598fb28 |
| Mem0 Docs | Mem0 | mintlify-docs |
3 | 0 | — | 0424cd5a38a58d27 |
| Mercury Docs | Mercury | openapi-explorer |
5 | 0 | — | 78bcd13a1199d7d5 |
| Merge Docs | Merge | mintlify-search-only |
1 | 0 | — | 57f8b52530b4c804 |
| Mergent Docs | Mergent | mintlify-docs |
3 | 0 | — | 7f89ee0733ac16b9 |
| Mermaid Chart | Mermaid Chart | — | 25 | 0 | — | 712ac35479ceda6b |
| Microsoft Learn | Microsoft | — | 3 | 0 | — | e051ed103dc648ab |
| Mixpanel Docs | Mixpanel | mintlify-docs |
3 | 0 | — | c50f9d9101c7ddbe |
| Modern Treasury Docs | Modern Treasury | openapi-explorer |
5 | 0 | — | 78bcd13a1199d7d5 |
| Novu Docs | Novu | mintlify-docs |
3 | 0 | — | f7389a576b6259d5 |
| Perplexity Docs | Perplexity | mintlify-docs |
3 | 0 | — | 934d1b8ce9475cfc |
| Pinecone Docs | Pinecone | mintlify-docs |
3 | 0 | — | b92c6afb1e69cdfc |
| Polymarket Docs | Polymarket | mintlify-docs |
3 | 0 | — | cf4efc06654c8726 |
| Porter Docs | Porter | mintlify-docs |
3 | 0 | — | f06f10fad5d38495 |
| Prefect Docs | Prefect | mintlify-docs |
3 | 0 | — | 4ab56517f4e82129 |
| ReadMe Docs | ReadMe | openapi-explorer |
9 | 0 | — | a8ab3273fb24d17b |
| Reducto Docs | Reducto | mintlify-docs |
3 | 0 | — | ced1d88a74ffa32b |
| Replit Docs | Replit | mintlify-docs |
3 | 0 | — | 5d3d77bc216a78f6 |
| Resend Docs | Resend | mintlify-docs |
3 | 0 | — | d57849f88b8ad65a |
| Retell AI Docs | Retell AI | mintlify-docs |
3 | 0 | — | 89d9718d213c2759 |
| RunPod Docs | RunPod | mintlify-docs |
3 | 0 | — | baf237d3ecb0df18 |
| Svelte | Svelte | — | 4 | 0 | — | 186bae06bc1b96ee |
| Synthflow Docs | Synthflow | mintlify-search-only |
1 | 0 | — | 5df7b748ea329d42 |
| Tavily Docs | Tavily | mintlify-docs |
3 | 0 | — | bca65aa29aca5ba5 |
| Together AI Docs | Together AI | mintlify-docs |
3 | 0 | — | 5c9ac4e6e9c2dfbc |
| Trigger.dev Docs | Trigger.dev | mintlify-docs |
3 | 0 | — | bef412a18207be85 |
| Turso Docs | Turso | mintlify-docs |
3 | 0 | — | cad1201ab3790f59 |
| Unstructured Docs | Unstructured | mintlify-docs |
3 | 0 | — | 92216b5a77af8d87 |
| Vapi Docs | Vapi | mintlify-search-only |
1 | 0 | — | b39d63fc0c2c5940 |
| Weights and Biases Docs | Weights & Biases | mintlify-docs |
3 | 0 | — | 7bce0f5ee3ce165f |
| Zapier Docs | Zapier | mintlify-docs |
3 | 0 | — | 25094d46c07edeb2 |
| ZenRows Docs | ZenRows | mintlify-docs |
3 | 0 | — | 225d65f3b4147fbe |
Every recorded change, oldest to newest, with severity in the title. Point a feed reader or a CI job at it.
https://he110.github.io/mcp-drift-registry/events.atom
Static, versionless, CORS-open. No key, no rate limit, no account.
GET https://he110.github.io/mcp-drift-registry/api/registry.json GET https://he110.github.io/mcp-drift-registry/api/events.json GET https://he110.github.io/mcp-drift-registry/api/advertised.json GET https://he110.github.io/mcp-drift-registry/api/servers/<id>.json
No language model decides anything here. Schemas are canonicalised — keys sorted, whitespace dropped — then compared structurally. A change is breaking when a parameter or enum value disappears, a type changes, or a field becomes required.
A heartbeat canary runs every pulse against a source guaranteed to move, because “nothing changed” and “the collector is broken” otherwise look identical.
Healthy. Reference source last moved 2026-09-09; the collector and the diff path are both confirmed live.
79 endpoints checked on the last pulse: 79 counted healthy, 0 in reachability quarantine, 0 unreachable.
No host is flapping; the quarantine is empty. It fills at four up/down transitions in seven days and empties on its own.
79 endpoints, 21 independent contract families. Each declared platform counts once; each endpoint with no identified platform counts as its own, since an unlabelled server is unproven, not proven independent.
mintlify-docs51 endpointsopenapi-explorer5 endpointsmintlify-search-only4 endpointsgitmcp2 endpoints74 of 79 contracts came back from a direct POST;
5 needed a full initialize handshake. 76 arrived as an SSE stream rather than a plain body. 4 went through a method-preserving redirect, and 4 were read from a URL other than the declared one.
A redirect that would change the method is refused, not followed — a page fetched instead of an endpoint is not an observation, and every record says which of the two it is.
Pulses are idempotent against the last committed snapshot, so a delayed or skipped run costs latency and nothing else. First pulse 2026-09-09.