→ 2026-08-31
Daily contract watch
MCP Contract Drift
Every day, this watch calls initialize + tools/list against
56 remote MCP servers and stores the tool contracts exactly as served.
Each day’s surface is diffed against the previous one. Reported here are the changes
that can break or mislead an agent already in production —
breaking changes and wording changes.
The rate below is measured per server-day: one server, observed on two consecutive days. 7 calendar days of watching across 46 reporting servers gives 177 of them.
The dataset at a glance
How far to trust these numbers
92.17% of reported findings come from one server (neon). A mean “changes per comparison” would describe that server, not the ecosystem. The honest headline is the share of server-days that carried a breaking or wording change at all — 12 of 177 (6.78%) — which is the number shown above.
A further 830 additive changes (new tools, new optional fields) were classified and stored but are not reported: a hub expanding its tool list is expected behaviour, and it swamps everything that is not.
The watch is only 7 calendar days old and most servers joined recently, so they have few or no consecutive-day observations yet. Treat everything here as a working measurement, not a published finding.
Servers and findings
Servers reachable in the latest run and observed at least once — 21 whose operator is a recognisable name, 25 long-tail. A server with no observations cannot contribute to a rate, so it is not listed. Additive changes are stored but not counted in these columns.
| Server | Operator | Days | Server-days compared |
Breaking | Wording | outputSchema | Protocol |
|---|---|---|---|---|---|---|---|
| neon | vendor | 7 | 6 | 298 | 67 | 0% | 2025-11-25 |
| apify | vendor | 7 | 6 | 24 | 2 | 100% | 2026-07-28 |
| linear | vendor | 7 | 6 | 0 | 3 | 0% | 2026-07-28 |
| github | vendor | 7 | 6 | 0 | 0 | 0% | 2026-07-28 |
| huggingface | vendor | 7 | 6 | 0 | 1 | 50% | 2026-07-28 |
| sentry | vendor | 7 | 6 | 0 | 1 | 33.33% | 2026-07-28 |
| atlassian | vendor | 7 | 6 | 0 | 0 | 0% | 2025-11-25 |
| cloudflare-docs | vendor | 7 | 6 | 0 | 0 | 50% | 2026-07-28 |
| devexpress-docs | vendor | 4 | 3 | 0 | 0 | 0% | 2025-11-25 |
| fusionauth-docs | vendor | 4 | 3 | 0 | 0 | 0% | 2025-06-18 |
| infobip-search | vendor | 4 | 3 | 0 | 0 | 0% | 2025-11-25 |
| microsoft-learn | vendor | 4 | 3 | 0 | 0 | 66.66% | 2025-06-18 |
| ntop-docs | vendor | 4 | 3 | 0 | 0 | 0% | 2026-07-28 |
| paypal-sandbox | vendor | 7 | 6 | 0 | 0 | 0% | 2025-03-26 |
| redpanda-docs | vendor | 4 | 3 | 0 | 0 | 0% | 2025-06-18 |
| searchcode | vendor | 4 | 3 | 0 | 0 | 0% | 2025-03-26 |
| soracom-knowledge | vendor | 4 | 3 | 0 | 0 | 0% | 2025-11-25 |
| stripe | vendor | 7 | 6 | 0 | 0 | 77.77% | 2026-07-28 |
| supabase | vendor | 7 | 6 | 0 | 0 | 0% | 2026-07-28 |
| twilio | vendor | 7 | 6 | 0 | 0 | 0% | 2025-11-25 |
| visa-doc | vendor | 7 | 6 | 0 | 0 | 0% | 2025-11-25 |
| fiatdock | long-tail | 4 | 3 | 0 | 0 | 100% | 2025-11-25 |
| agendaforge-docs | long-tail | 4 | 3 | 0 | 0 | 0% | 2025-11-25 |
| applivery-docs | long-tail | 4 | 3 | 0 | 0 | 75% | 2025-11-25 |
| auteng-docs | long-tail | 4 | 3 | 0 | 0 | 100% | 2025-11-25 |
| betslipdoctor | long-tail | 4 | 3 | 0 | 0 | 0% | 2025-06-18 |
| blockrazor-docs | long-tail | 4 | 3 | 0 | 0 | 0% | 2025-06-18 |
| brainiall-docs | long-tail | 4 | 3 | 0 | 0 | 0% | 2025-11-25 |
| capitolguide | long-tail | 4 | 3 | 0 | 0 | 0% | 2024-11-05 |
| deepsearch | long-tail | 4 | 3 | 0 | 0 | 0% | 2025-11-25 |
| dnsdoctor | long-tail | 4 | 3 | 0 | 0 | 100% | 2025-11-25 |
| docimprint | long-tail | 4 | 3 | 0 | 0 | 100% | 2025-11-25 |
| docs-md | long-tail | 4 | 3 | 0 | 0 | 0% | 2025-06-18 |
| docwand | long-tail | 4 | 3 | 0 | 0 | 0% | 2025-06-18 |
| fodda-research | long-tail | 4 | 3 | 0 | 0 | 0% | 2025-11-25 |
| gingerguide | long-tail | 4 | 3 | 0 | 0 | 0% | 2025-11-25 |
| htagai-docs | long-tail | 4 | 3 | 0 | 0 | 100% | 2025-06-18 |
| imbawallet-docs | long-tail | 4 | 3 | 0 | 0 | 0% | 2026-07-28 |
| invokera | long-tail | 4 | 3 | 0 | 0 | 0% | 2025-06-18 |
| mintmcp-docs | long-tail | 4 | 3 | 0 | 0 | 100% | 2025-11-25 |
| moltline-research | long-tail | 4 | 3 | 0 | 0 | 100% | 2025-11-25 |
| politicalcomms-docs | long-tail | 4 | 3 | 0 | 0 | 0% | 2026-07-28 |
| roxyapi-docs | long-tail | 4 | 3 | 0 | 0 | 0% | 2025-11-25 |
| seatcanvas | long-tail | 4 | 3 | 0 | 0 | 100% | 2025-11-25 |
| trysonar | long-tail | 4 | 3 | 0 | 0 | 0% | 2025-11-25 |
| yappy-docs | long-tail | 4 | 3 | 0 | 0 | 0% | 2025-06-18 |
Every finding carries a stable rule id from the classifier, and the same severity the collector records in its local store: breaking for a change that can break a caller, warning for a change to the wording an agent steers on. Wording changes show the exact edit.
→ 2026-08-31
→ 2026-08-29
→ 2026-08-29
→ 2026-08-29
→ 2026-08-29
→ 2026-08-29
→ 2026-08-29
→ 2026-08-29
→ 2026-08-29
→ 2026-08-29
→ 2026-08-29
→ 2026-08-29
→ 2026-08-29
→ 2026-08-29
→ 2026-08-29
→ 2026-08-29
→ 2026-08-29
→ 2026-08-29
→ 2026-08-29
→ 2026-08-29
→ 2026-08-29
→ 2026-08-29
→ 2026-08-29
→ 2026-08-29
→ 2026-08-29
→ 2026-08-29
→ 2026-08-29
→ 2026-08-29
→ 2026-08-29
→ 2026-08-29
→ 2026-08-29
→ 2026-08-29
→ 2026-08-29
→ 2026-08-29
→ 2026-08-29
→ 2026-08-29
→ 2026-08-29
→ 2026-08-29
→ 2026-08-29
→ 2026-08-29
→ 2026-08-29
→ 2026-08-29
→ 2026-08-29
→ 2026-08-29
→ 2026-08-29
→ 2026-08-29
→ 2026-08-29
→ 2026-08-29
→ 2026-08-29
→ 2026-08-29
→ 2026-08-29
→ 2026-08-29
→ 2026-08-29
→ 2026-08-29
→ 2026-08-29
→ 2026-08-29
→ 2026-08-29
→ 2026-08-29
→ 2026-08-29
→ 2026-08-29
→ 2026-08-29
→ 2026-08-29
→ 2026-08-29
→ 2026-08-29
→ 2026-08-29
→ 2026-08-29
→ 2026-08-29
→ 2026-08-29
→ 2026-08-29
→ 2026-08-29
→ 2026-08-29
→ 2026-08-29
→ 2026-08-29
→ 2026-08-29
→ 2026-08-29
→ 2026-08-29
→ 2026-08-29
→ 2026-08-29
→ 2026-08-29
→ 2026-08-29
→ 2026-08-29
→ 2026-08-29
→ 2026-08-29
→ 2026-08-29
→ 2026-08-29
→ 2026-08-29
→ 2026-08-29
→ 2026-08-29
→ 2026-08-29
→ 2026-08-29
→ 2026-08-29
→ 2026-08-29
→ 2026-08-29
→ 2026-08-29
→ 2026-08-29
→ 2026-08-29
→ 2026-08-29
→ 2026-08-29
→ 2026-08-29
→ 2026-08-29
→ 2026-08-29
→ 2026-08-29
→ 2026-08-29
→ 2026-08-29
→ 2026-08-29
→ 2026-08-29
→ 2026-08-29
→ 2026-08-29
→ 2026-08-29
→ 2026-08-29
→ 2026-08-29
→ 2026-08-29
→ 2026-08-29
→ 2026-08-29
→ 2026-08-29
→ 2026-08-29
→ 2026-08-29
→ 2026-08-29
→ 2026-08-29
→ 2026-08-29
→ 2026-08-29
→ 2026-08-29
→ 2026-08-29
→ 2026-08-29
→ 2026-08-29
→ 2026-08-29
→ 2026-08-29
→ 2026-08-29
→ 2026-08-29
→ 2026-08-29
→ 2026-08-29
→ 2026-08-29
→ 2026-08-29
→ 2026-08-29
→ 2026-08-29
→ 2026-08-29
→ 2026-08-29
→ 2026-08-29
→ 2026-08-29
→ 2026-08-29
→ 2026-08-29
→ 2026-08-29
→ 2026-08-29
→ 2026-08-29
→ 2026-08-29
→ 2026-08-29
→ 2026-08-29
→ 2026-08-29
→ 2026-08-29
→ 2026-08-29
→ 2026-08-29
→ 2026-08-29
→ 2026-08-29
→ 2026-08-29
→ 2026-08-29
→ 2026-08-29
→ 2026-08-29
→ 2026-08-29
→ 2026-08-29
→ 2026-08-29
→ 2026-08-29
→ 2026-08-29
→ 2026-08-29
→ 2026-08-29
→ 2026-08-29
→ 2026-08-29
→ 2026-08-29
→ 2026-08-29
→ 2026-08-29
→ 2026-08-29
→ 2026-08-29
→ 2026-08-29
→ 2026-08-29
→ 2026-08-29
→ 2026-08-29
→ 2026-08-29
→ 2026-08-29
→ 2026-08-29
→ 2026-08-29
→ 2026-08-29
→ 2026-08-29
→ 2026-08-29
→ 2026-08-29
→ 2026-08-29
→ 2026-08-29
→ 2026-08-28
→ 2026-08-28
→ 2026-08-28
→ 2026-08-28
→ 2026-08-28
→ 2026-08-28
→ 2026-08-28
→ 2026-08-28
→ 2026-08-28
→ 2026-08-28
→ 2026-08-28
→ 2026-08-28
→ 2026-08-28
→ 2026-08-28
→ 2026-08-28
→ 2026-08-28
→ 2026-08-28
→ 2026-08-28
→ 2026-08-28
→ 2026-08-28
→ 2026-08-28
→ 2026-08-28
→ 2026-08-28
→ 2026-08-28
→ 2026-08-28
→ 2026-08-28
→ 2026-08-28
→ 2026-08-28
→ 2026-08-28
→ 2026-08-28
→ 2026-08-28
→ 2026-08-28
→ 2026-08-28
→ 2026-08-28
→ 2026-08-28
→ 2026-08-28
→ 2026-08-28
→ 2026-08-28
→ 2026-08-28
→ 2026-08-28
→ 2026-08-28
→ 2026-08-28
→ 2026-08-28
→ 2026-08-28
→ 2026-08-28
→ 2026-08-28
→ 2026-08-28
→ 2026-08-28
→ 2026-08-28
→ 2026-08-28
→ 2026-08-28
→ 2026-08-28
→ 2026-08-28
→ 2026-08-28
→ 2026-08-28
→ 2026-08-28
→ 2026-08-28
→ 2026-08-28
→ 2026-08-28
→ 2026-08-28
→ 2026-08-28
→ 2026-08-28
→ 2026-08-28
→ 2026-08-28
→ 2026-08-28
→ 2026-08-28
→ 2026-08-28
→ 2026-08-28
→ 2026-08-28
→ 2026-08-28
→ 2026-08-28
→ 2026-08-28
→ 2026-08-28
→ 2026-08-28
→ 2026-08-28
→ 2026-08-28
→ 2026-08-28
→ 2026-08-28
→ 2026-08-28
→ 2026-08-28
→ 2026-08-28
→ 2026-08-28
→ 2026-08-28
→ 2026-08-28
→ 2026-08-28
→ 2026-08-28
→ 2026-08-28
→ 2026-08-28
→ 2026-08-28
→ 2026-08-28
→ 2026-08-28
→ 2026-08-28
→ 2026-08-28
→ 2026-08-28
→ 2026-08-28
→ 2026-08-28
→ 2026-08-28
→ 2026-08-28
→ 2026-08-28
→ 2026-08-28
→ 2026-08-28
→ 2026-08-28
→ 2026-08-28
→ 2026-08-28
→ 2026-08-28
→ 2026-08-28
→ 2026-08-28
→ 2026-08-28
→ 2026-08-28
→ 2026-08-28
→ 2026-08-28
→ 2026-08-28
→ 2026-08-28
→ 2026-08-28
→ 2026-08-28
→ 2026-08-28
→ 2026-08-28
→ 2026-08-28
→ 2026-08-28
→ 2026-08-28
→ 2026-08-28
→ 2026-08-28
→ 2026-08-28
→ 2026-08-28
→ 2026-08-28
→ 2026-08-28
→ 2026-08-28
→ 2026-08-28
→ 2026-08-28
→ 2026-08-28
→ 2026-08-28
→ 2026-08-28
→ 2026-08-28
→ 2026-08-28
→ 2026-08-28
→ 2026-08-28
→ 2026-08-28
→ 2026-08-28
→ 2026-08-28
→ 2026-08-28
→ 2026-08-28
→ 2026-08-28
→ 2026-08-28
→ 2026-08-28
→ 2026-08-28
→ 2026-08-28
→ 2026-08-28
→ 2026-08-28
→ 2026-08-28
→ 2026-08-28
→ 2026-08-28
→ 2026-08-28
→ 2026-08-28
→ 2026-08-28
→ 2026-08-28
→ 2026-08-28
→ 2026-08-28
→ 2026-08-28
→ 2026-08-28
→ 2026-08-28
→ 2026-08-28
→ 2026-08-28
→ 2026-08-28
→ 2026-08-28
→ 2026-08-28
→ 2026-08-28
→ 2026-08-28
→ 2026-08-28
→ 2026-08-28
→ 2026-08-28
→ 2026-08-28
→ 2026-08-28
→ 2026-08-28
→ 2026-08-28
→ 2026-08-28
→ 2026-08-28
→ 2026-08-28
→ 2026-08-28
→ 2026-08-28
→ 2026-08-28
→ 2026-08-28
→ 2026-08-28
→ 2026-08-28
→ 2026-08-28
→ 2026-08-28
→ 2026-08-28
→ 2026-08-28
→ 2026-08-28
→ 2026-08-28
→ 2026-08-28
→ 2026-08-28
→ 2026-08-27
→ 2026-08-27
→ 2026-08-27
→ 2026-08-27
→ 2026-08-27
→ 2026-08-27
→ 2026-08-27
→ 2026-08-27
→ 2026-08-27
→ 2026-08-27
→ 2026-08-27
→ 2026-08-27
→ 2026-08-27
→ 2026-08-26
→ 2026-08-26
→ 2026-08-26
→ 2026-08-26
→ 2026-08-26
→ 2026-08-26
→ 2026-08-25
Add a server to the watch
Public endpoint? Submit it — an automated probe answers on the issue, and reachable servers are reviewed for promotion.
Authenticated server you operate? It can’t join the public watch — interested in us watching it for you? Email us.