Measurement

We asked 7,708 MCP servers to say hello. 46% couldn't.

31 August 2026 · 6 min read

Rows of dark server outlines, less than a third lit, the rest fading into black

Public MCP registries list thousands of servers, and every listing is a claim someone typed. We tested the claims: a standard initialize handshake and a tools/list against every endpoint we index. Almost half failed the first message of their own protocol, a quarter demanded credentials no registry records, and the third that worked handed us the largest verified tool corpus that exists.

What we did

Neuronto indexes MCP servers from public ARD manifests, the official MCP Registry and every public ARD registry. Each entry arrives as a claim: a name, an endpoint URL, a description of what it can do. Claims are cheap, so we started asking. Two read-only JSON-RPC calls per endpoint, initialize and then tools/list, over streamable HTTP, with a short timeout and no retries. No tool was ever called. The whole sweep across 7,708 endpoints took about six minutes.

The result

outcomeserversshare
answered and returned tools2,22328.8%
answered, no tools exposed200.3%
demanded credentials first1,91824.9%
failed the handshake entirely3,54746.0%

Almost half of the MCP servers listed in public registries do not answer the first message of their own protocol.

How they fail

The failures are not one thing. The two biggest buckets are instructive:

failurecountwhat it usually means
HTTP 4041,150the manifest points at a path that does not exist. The domain is alive; the endpoint was never there or has moved
HTTP 4221,122the endpoint exists but rejects a standard initialize, usually a framework wrapper that never spoke MCP
HTTP 405428something is at the URL but does not accept POST, often a docs page listed as an endpoint
connection refused / DNS318the host itself is gone
HTTP 429210rate limited before one handshake, which for an agent-facing service is its own finding
HTTP 40267payment required before hello
everything else252timeouts, malformed replies, TLS and origin errors

A 404 and a 422 are different lies. The 404 is a stale listing, the ordinary rot of any directory built on self-published metadata. The 422 is stranger and more interesting: someone deployed a thing, registered it as an MCP server, and it cannot complete the protocol's opening message. Both look identical in every registry that lists them, because no registry checks.

The quarter nobody records

1,918 endpoints, one in four, answered with 401 or 403: real servers, running, that want credentials before they will list their tools. That is a perfectly legitimate design. What is strange is that no public registry records it. An agent picking a server from a listing cannot tell an open endpoint from a gated one until it has already tried, which at agent speed means thousands of doomed handshakes a day across the ecosystem.

We now store it as a field. It is queryable, and it is on the badge.

What the working third gave us

The 2,223 servers that answered returned 31,411 tools between them: names, descriptions and JSON input schemas, read from the running server rather than from its marketing copy. That corpus is the part of this measurement with lasting value, because tool retrieval research (ToolRet, ACL Findings 2025) keeps finding that retrieval models do poorly at exactly this matching task, and it has been benchmarked so far on assembled datasets rather than the live, messy ecosystem: the 400-tool grab-bag servers, the promotional descriptions, the truncated schemas. We publish the whole thing as a dataset, and it powers tool-level search on this index.

What this says about discovery

Every registry in this space, ours included, is downstream of self-published metadata. The measurement above is what that metadata is worth unchecked: for every two servers a listing shows an agent, one does not exist. Liveness checking is not a nice-to-have for agent infrastructure, it is the difference between a directory and a rumour mill.

Neuronto probes every indexed endpoint and demotes what does not answer rather than deleting it, because services come back. Verified tool counts, reachability and the auth requirement are all fields on our search API, and all statements about what we observed, never about trust.

Use Neuronto from your agent

One call searches this index and every other public ARD registry. No key, no signup. Or install it as an MCP server and let the agent search from the interface it already speaks.

curl -s https://neuronto.com/search \
  -H 'content-type: application/json' \
  -d '{"query":{"text":"scrape a website"},"federation":"auto"}'
claude mcp add --transport http neuronto https://neuronto.com/mcp

Keep reading