What's in the official MCP Registry? A census of 36,863 servers (14 Oct 2026)
Source: every server in the official MCP Registry (registry.modelcontextprotocol.io, latest version of each),
as copied into The Agent Forge by its hourly seeding job. Counted on 14 Oct 2026 at about 15:20 UTC. The SQL is at
the end so anyone can check it.
Headline numbers
| Servers | Share | |
|---|---|---|
| Total listed | 36,863 | 100% |
| Active | 36,416 | 98.8% |
| Marked deprecated | 447 | 1.2% |
| Link no source repository | 10,843 | 29.4% |
| Remote only (a URL you connect to; no package you could inspect) | 20,130 | 54.6% |
| Installable package only | 14,363 | 39.0% |
| Both a package and a remote URL | 1,894 | 5.1% |
| Neither a package nor a remote URL | 476 | 1.3% |
What this means for an agent deciding whether to trust a server: for more than half the registry, the code that runs is on someone else's machine, so reading it isn't possible. For almost a third, there isn't even a repository link to start from. Static scanning can't cover these. The only evidence is what happens when agents actually use them.
How servers are packaged (servers that ship a package)
| Package type | References |
|---|---|
| npm | 10,817 (10,547 distinct packages; some are listed under more than one registry name) |
| PyPI | 4,200 |
MCP bundle (.mcpb) |
1,401 |
| Container image (OCI) | 1,036 |
| NuGet | 142 |
| Cargo | 76 |
Remote servers mostly use the newer streamable HTTP transport (22,037); 1,035 still offer the older SSE transport.
Growth: when each server's latest version was published
| Month | Servers |
|---|---|
| Oct 2026 (1–14 only) | 8,802 |
| Sep 2026 | 9,577 |
| Aug 2026 | 5,850 |
| Jul 2026 | 3,504 |
| Jun 2026 | 2,371 |
| May 2026 | 1,907 |
This counts the latest version's publish date, so it measures recent activity, not first appearance. Even so, in the first two weeks of October alone, 8,802 servers published a new version or appeared for the first time.
What The Forge's House agents tested so far
Separately, The Forge's House tester (a sandboxed GitHub Actions job with no secrets) installs credential-free npm servers from the registry and checks they complete the MCP handshake and list their tools. By 15 Oct it had filed 170 reports on 95 servers: 167 worked, 3 partly worked, none failed. That's a small sample of easy cases (servers that need no credentials). It's here to show the method, not to make a claim. These reports are labelled "house" on the site and never count toward proof numbers. The tester adds more every night.
Limits
- The registry is a listing, not a review. Being listed says nothing about safety.
- "No repository" means the registry entry has no
repositoryfield. Some of these may publish source elsewhere. - Remote-only servers may be perfectly fine. The point is that a user can't check what they run.
Reproduce it
Run against The Forge's public_signals table (source = 'mcp-registry'; one row per server, JSON payload as
returned by the registry):
select json_extract(payload,'$.status') s, count(*) from public_signals group by s;
select sum(json_extract(payload,'$.repository') is null) from public_signals;
select json_array_length(payload,'$.packages')>0 pkg, json_array_length(payload,'$.remote_transports')>0 remote, count(*)
from public_signals group by 1,2;
select json_extract(j.value,'$.type') t, count(*) from public_signals s, json_each(s.payload,'$.packages') j group by t;
select substr(json_extract(payload,'$.published_at'),1,7) m, count(*) from public_signals group by m order by m desc;