State of MCP, 2026-08-03 census
Most MCP servers are not dead. We checked all 19,804.
A census of the entire official MCP registry, checked with the same zero-key probes anyone can run themselves. About 80.7% are healthy, roughly 1 in 5 is dead or broken, and only about 1 in 23 is fully dead. A verdict here is a measurement, not a rating.
- Census date
- 2026-08-03
- Servers checked
- 19,804
- License
- CC BY 4.0
- Probe engine
- akashi v0.3.0-6-gb1c497b
The verdict distribution
15,974
healthy (80.7%)
Browse healthy →
2,792
degraded (14.1%)
Browse degraded →
851
dead (4.3%)
Browse dead →
187
unknown (0.9%)
Browse unknown →
Dead-or-broken (degraded plus dead) is 3,643 servers, roughly 1 in 5. Fully dead is 851, roughly 1 in 23. Both counts are over the full 19,804, the more conservative and complete denominator.
Browse the archive: healthy, degraded, dead, unknown, or all 19,800 servers.
Honest denominator note: 187 servers declared only entrypoints we cannot probe without a key, so they are reported as unknown rather than folded into a rate. Excluding them narrows the base to 19,617 servers; over that smaller base healthy rises to 81.4% and dead-or-broken to 18.6%. We lead with the full 19,804 above because it is the more conservative, complete denominator.
Failure concentrates differently per layer
A single verdict hides where things actually break. Every server can fail at up to four independent layers, and they do not fail at the same rate.
Packages: the most reliable layer
Of 11,498 package entrypoints we could probe across npm, PyPI, and OCI, only 97 are broken, about 1%. A further 1,330 are OCI or private images we cannot probe without a key; they are reported separately, not counted as broken.
Repositories: the rot layer
Of 15,997 declared GitHub repositories, 2,083 return HTTP 404 or are gone and 152 are archived. Combined, 2,235 repositories have rotted, 14.0% of repository-bearing servers. A further 1,630 repository checks came back an ambiguous error, possibly transient or rate-limit related. We exclude those from the rotted figure instead of inflating it.
Hosted remotes: the fragile layer
Of 10,376 declared remote endpoints, 1,401 are down, 13.5%: unreachable, a server error, or not found. Remote-bearing servers (9,957 of them) are the sickest cohort: 24.1% dead-or-broken and 7.6% fully dead, versus 4.3% fully dead overall. 2,716 endpoints are auth-gated: alive, but not verifiable without a key. 63 answer HTTP 200 but are not real MCP servers, caught by an impostor guard before they ever count as healthy.
server.json validity
367 servers, 1.9% of the 19,804 that declare one, publish a server.json that fails validation against its own declared JSON Schema.
Conformance, not just uptime
5,582 remotes complete a full MCP initialize handshake. Of those, 5,353 go on to resolve tools/list over the official go-sdk client, the strongest keyless proof a server actually works.
Ready for the 2026-07-28 spec?
Health answers whether a server works today. The 2026-07-28 revision removes protocol
sessions and the initialize handshake, so it also matters whether
a server will still work afterwards. Of the 5,515 servers reachable
through a conformant keyless initialize, 6
pass all four required-conformance signals, against 0 in the previous census. 80.9% already accept handshake-free calls, the heart of the change.
Keyless and reproducible
Keyless
Every probe touches only public endpoints: the registry, the public GitHub API, npm, PyPI, anonymous Docker Hub, and a capability-only MCP initialize / tools-list handshake. Akashi authenticates to no probed server and runs none of its tools. A GitHub token, if present, only raises the public API rate limit.
Reproducible
Same registry, same probe set, same documented criteria, akashi v0.3.0-6-gb1c497b. Any row is re-checkable with akashi check <server>, any time.
Data access
Open data, CC BY 4.0, dated 2026-08-03.
- GitHub repository - the dated census releases and methodology source
- /data/state-of-mcp/summary.json - the machine-readable summary behind every number on this page
- /data/state-of-mcp/index.json - the per-server endpoint index
- /data/state-of-mcp/feed.xml - Atom feed, one entry per dated census with the movement since the last one
Cite this data
CC BY 4.0 asks for attribution. Cite the dated census so your snapshot is reproducible: the registry moves, and each census supersedes the last without deleting it.
RoninForge.org, "State of MCP: a dated census of the official Model Context Protocol registry", 2026-08-03. CC BY 4.0. https://roninforge.org/data/state-of-mcp/ BibTeX
@misc{roninforge_state_of_mcp,
author = {{RoninForge}},
title = {{State of MCP: a dated census of the official Model Context Protocol registry}},
year = {2026},
howpublished = {\url{https://roninforge.org/data/state-of-mcp/}},
note = {Census 2026-08-03. 19,804 servers. Data licensed CC BY 4.0.}
} The same attribution string ships inside every JSON payload, on the cite field, so it survives a copy of the raw data.
Source, methodology and a machine-readable CITATION.cff: the state-of-mcp repository.
Check it yourself
- Browse all 19,800 servers - alphabetical shards and verdict cohorts
- Read the methodology - the denominator, the definitions, and what each probe does
- Check a server yourself - the one-shot form, or run it locally:
$ akashi check io.github.owner/nameInstall Akashi - single Go binary, zero keys, MIT licensed.