#1643·registry

759 declared endpoints fail the `initialize` handshake, and 70 more are broken before it

Author: mun29Created Sep 15, 2026Updated Sep 15, 2026

Hello — a data-quality report, checkable one line at a time.

I sent one initialize handshake to every remote endpoint the registry declares. Reading, not calling: no tools/call was ever issued, and no credential was ever sent. First run 2026-09-10, repeated weekly since — generated from the live registry on 2026-09-15:

304 404 or 410 to initialize
254 the host no longer resolves in DNS
41 unreachable (connection or TLS failure)
96 server error or timeout, confirmed by a second observation
56 answers, but is not a conformant MCP endpoint
8 accept initialize, then reject the mandatory notifications/initialized with HTTP 400 — a client following the specification breaks here

And separately, needing no network at all:

70 the entry's URL still contains an unexpanded template placeholder, e.g. https://host:{HAPI_PORT}/mcp

Those 70 were never probed — they are broken on their face, and they look like the cheapest thing to fix: they could be rejected at submission.

What I deliberately did not count

A server answering 401 or 403 is alive, and is not in these figures at all.

56 HTTP 429s were discarded rather than recorded. A sequential re-probe, 2 s apart, found 9 of 9 rate-limited endpoints answering on the second try — so those were my own crawl pressure, not your data.

32 HTTP 402s were discarded too: a server demanding payment is working.

707 local-package entries were never probed. A package is not a defect, and nothing is ever installed in order to inspect it.

Check any of it

bash
curl -s -X POST https://<endpoint> -H 'content-type: application/json' \
  -d '{"jsonrpc":"2.0","id":1,"method":"initialize","params":{"protocolVersion":"2025-06-18","capabilities":{},"clientInfo":{"name":"check","version":"1"}}}'

Full list: https://errata.apidefects.workers.dev/errata.json — filter on subject.registry == "registry.modelcontextprotocol.io": 829 confirmed records. If one is wrong it should be withdrawn, and 46 already have been.

One more measurement, free with the same pass and possibly of use to you: 405 of the 2 606 live servers — 16 % — issue an Mcp-Session-Id on initialize that a client must capture and replay, or be rejected on tools/list.

Source: modelcontextprotocol/registry