Skip to content

Measurement: 8.6% of listed entries with a remote endpoint answer HTTP but not MCP #1626

Description

@yassinht

Hello — this is a measurement report, not a bug report or a feature request.
I have been probing the registry nightly and thought the numbers might be
useful. No action requested.

Method

Every night at 03:00 UTC I fetch the full registry, then send a plain
JSON-RPC initialize to every entry that declares a remotes[] endpoint,
followed by tools/list. Failures are recorded with a reason, so "refused
us" is never conflated with "is not there". Both streamable-http and legacy
SSE are attempted, and three protocol versions are tried before an entry is
written off.

Results, 2026-09-07

28,139 registry entries, of which 16,305 declare a network endpoint. Every
one of those 16,305 was probed:

outcome count share
answered tools/list unauthenticated 9,532 58.5%
required authentication 4,135 25.4%
answered HTTP but not MCP 1,401 8.6%
unreachable 1,043 6.4%
timed out 103 0.6%
returned a JSON-RPC error 91 0.6%

149,725 tools were recorded across the servers that answered.

The row worth your attention is the third. Those 1,401 entries respond over
HTTP but do not speak MCP at all: they return HTML, unrelated API errors, or
nothing parseable. They are not auth failures and not outages — both are
counted separately above.

Four of them are expired domains now serving for-sale parking pages, all
through the same ad network, while still listed as active:

  • backlog-forge.arcanum-plus.com
  • toolpipe.dev
  • mcp.TEST-blockscholes.com
  • mcp.tradallo.com

An agent configured from the registry connects to infrastructure the
original publisher no longer controls.

Two smaller observations

  • Declared endpoints grew from 14,426 to 16,305 over the eight days measured
    — roughly 235 per day — so any absolute figure here ages quickly.
  • 24.8% of servers that do speak MCP have no mcp substring anywhere in
    their URL path, across 3,026 distinct paths. Discovery heuristics keyed on
    the path will miss a quarter of working servers.

Reproducing this

Crawler, raw archived responses and analysis:
https://github.com/yassinht/mcp-observatory

Observations go into a signed RFC 6962 Merkle log, so these figures can be
recomputed rather than taken on trust. Corrections welcome — I have had to
correct my own numbers several times and the README records those.

Happy to share the full per-entry breakdown in whatever format is useful, or
to run a specific query against the archive.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions