---
title: "The AI agent directory landscape, mid-2026: 134,000 listings, 1,200 live agents"
date: 2026-07-22
summary: "PulseMCP lists 22,282 MCP servers, Glama 59,995, chiark tracks 11,291 — and the union of the public sources holds 134,270 entries. Probe them and 1,186 answer a live protocol request. A field guide to who lists, who grades, and who probes."
slug: ai-agent-directory-landscape-2026
author: "Sebastiaan Hilbers"
hero_glyph: funnel
---

Ask the public directories of the agent web how big it is and you get four different answers. [PulseMCP](https://www.pulsemcp.com/servers) lists 22,282 MCP servers, updated daily. [Glama](https://glama.ai/mcp/servers) lists 59,995. [chiark.ai](https://chiark.ai) tracks 11,291 agents across A2A and MCP and reports 9,776 of them online. Agenstry's own crawl — the union of eight-plus public sources, deduplicated — knows about [134,270 distinct listings](https://agenstry.com/api/stats).

There is a fifth number, and it is the more useful one. Of those 134,270 listings, the number that answered a live protocol request — an A2A JSON-RPC `message/send` or an MCP `initialize` + `tools/list` — in our most recent probe cycle is **1,186**. Under 0.9%.

That gap is not a scandal, and reading it as one gets the ecosystem wrong. But it is the single most useful thing to understand about agent discovery in mid-2026: the directories disagree about the size of the agent web because *counting listings* and *testing endpoints* are different measurements, and almost everyone publishes the first.

## Who lists, who grades, who probes

The directory landscape sorts into three tiers by how much verification sits behind an entry.

**Listing registries** record that something exists. The [official MCP Registry](https://registry.modelcontextprotocol.io) is the canonical example: a cursor-paginated API of server manifests, submitted by publishers. [Smithery](https://smithery.ai) and [PulseMCP](https://www.pulsemcp.com/servers) aggregate MCP servers at larger scale; [a2aregistry.org](https://a2aregistry.org) does the same for A2A agents. A listing tells you a manifest was published. It does not tell you whether the endpoint behind it resolves, speaks its protocol, or still matches the manifest.

**Grading directories** add metadata-derived signals. [Glama](https://glama.ai/mcp/servers) attaches A–F grades for license, quality, and maintenance to its ~60,000 entries. This is genuinely more information than a bare listing — but the inputs are repository metadata, not runtime behaviour. A server can carry an A grade and be unreachable; the grade measures the project, not the deployment.

**Probing indexes** test the endpoint. [chiark.ai](https://chiark.ai/methodology) probes its tracked set every 30 minutes across three tiers — availability, conformance, performance — and publishes a 0–100 operational score with the methodology in the open. Agenstry probes on a tiered cadence, computes a [conformance score across nine criteria](https://agenstry.com/methodology), and layers identity on top: JWS card signatures, DNS ownership verification, GLEIF LEI linkage, and x402 payment metadata extracted during the probe. The two indexes disagree on plenty — corpus construction, scoring weights, what "online" means — but they share the premise that an entry should be *evidence about a running endpoint*, not a copy of its README.

The tiers are complements, not competitors. Listing registries are where publishers declare intent; probing indexes are where consumers check reality. The problem is that the ecosystem's headline numbers almost all come from the first tier.

## What probing actually finds

Here is what the funnel looks like when you run it, from our snapshot of 2026-07-22:

<svg viewBox="0 0 640 300" xmlns="http://www.w3.org/2000/svg" style="max-width:100%;height:auto;display:block;margin:28px auto" role="img" aria-labelledby="fn-title fn-desc">
  <title id="fn-title">The agent-web discovery funnel, July 2026</title>
  <desc id="fn-desc">Four horizontal bars showing the collapse from 134,270 directory listings to 7,392 endpoints with a valid, introspectable manifest (5.5 percent), to 1,186 endpoints answering a live protocol request (0.9 percent), to 38 cryptographically signed agent cards (0.03 percent). Each bar is proportionally narrower than the one above; the last two are rendered as thin slivers for legibility.</desc>
  <style>
    .lbl { font: 500 13px ui-monospace, SFMono-Regular, Menlo, monospace; fill: var(--c-fg-2, #374151); }
    .num { font: 700 13px ui-monospace, SFMono-Regular, Menlo, monospace; fill: var(--c-fg, #111827); }
    .b1 { fill: var(--c-violet, #A855F7); opacity: .85; }
    .b2 { fill: var(--c-magenta, #D946EF); opacity: .85; }
    .b3 { fill: var(--c-pink, #F472B6); opacity: .95; }
    .b4 { fill: var(--c-fg-3, #6b7280); opacity: .9; }
  </style>
  <text class="lbl" x="8" y="30">listed across public sources</text>
  <rect class="b1" x="8" y="40" width="624" height="26" rx="3"/>
  <text class="num" x="8" y="86">134,270</text>
  <text class="lbl" x="8" y="120">valid, introspectable manifest</text>
  <rect class="b2" x="8" y="130" width="34" height="26" rx="3"/>
  <text class="num" x="52" y="148">7,392 — 5.5%</text>
  <text class="lbl" x="8" y="196">answers a live protocol request</text>
  <rect class="b3" x="8" y="206" width="8" height="26" rx="3"/>
  <text class="num" x="26" y="224">1,186 — 0.9%</text>
  <text class="lbl" x="8" y="266">cryptographically signed card</text>
  <rect class="b4" x="8" y="276" width="3" height="18" rx="1"/>
  <text class="num" x="21" y="291">38 — 0.03%</text>
</svg>

Split by protocol, from the [same snapshot](https://agenstry.com/api/stats): on the A2A side, 5,148 indexed agents reduce to 3,623 with a currently-valid agent card, of which 340 answer a live JSON-RPC request correctly — and 38 carry a JWS-signed card. On the MCP side, 129,122 known server names reduce to 3,769 that could be introspected as remote endpoints, of which 846 complete a live `initialize` handshake and return a tool list.

Three honest caveats before anyone quotes "99% of the agent web is dead."

First, most of the collapse is definitional, not failure. Of the 129,122 MCP names, 125,353 are metadata-only: package-index entries, many of them stdio-local servers that are *designed* to run on a developer's machine rather than as remote endpoints. A local server that installs and runs fine is not "dead" because a crawler can't reach it; it is simply not a remote service, and directories rarely distinguish the two.

Second, the bar matters. chiark reports 86.6% of its tracked set online; we report under 1% of our raw union answering live. Both are accurate. Their corpus is pre-filtered to endpoints worth tracking and their bar is availability; our denominator is every name any source has ever published and our bar is a correct protocol response. Between HTTP-reachable and protocol-conformant sits a large population — we count 1,191 A2A endpoints that respond with the *wrong shape* — and every directory draws its line somewhere different. This, more than crawl quality, is why [five registries publish five different counts](https://agenstry.com/blog/mcp-discovery-fragmentation).

Third, the union is inflated by design. Registries barely overlap — we measured the [overlap matrix](https://agenstry.com/blog/federation-overlap-smithery-a2aregistry-glama) last quarter and found the diagonal mostly empty — so a registry-of-registries inherits every source's dead weight along with its unique finds.

With the caveats granted, the residual is still striking: the population of agents that a router could actually call right now — reachable, conformant, current — is three orders of magnitude smaller than the population of things listed. And the trust layer on top of *that* is thinner still: 38 signed cards today, [up from zero of 1,215 valid cards this spring](https://agenstry.com/reports/state-of-agent-economy). Signing is growing from nothing, slowly.

## What to demand from a directory in 2026

If you are building on top of agent discovery — a router, an orchestrator, a marketplace, an enterprise allow-list — the practical question is not "which directory has the most entries." It is "which claims can I verify." A reasonable checklist:

- **Probe evidence, with a cadence.** An uptime percentage means nothing without knowing how often it was measured and over what window. 30-day windows at a 30-minute-to-hourly cadence are the current standard among probing indexes.
- **Protocol conformance, not HTTP 200.** A reachable host that returns the wrong shape will break your integration exactly as thoroughly as a dead one. The wrong-shape population (1,191 endpoints in our A2A corpus alone) is invisible to availability checks.
- **Latency distributions.** A single "fast" claim hides tail behaviour; per-endpoint latency measured at probe time is the minimum for routing decisions.
- **Payment metadata.** x402-priced endpoints are a growing slice, and a directory should detect them from runtime behaviour — parsed payment headers on a live 402 — not from manifests. Our [paid-API listing](https://agenstry.com/paid-apis) is built from exactly that extraction.
- **Identity signals.** Card signatures, DNS ownership proof, legal-entity linkage. Thin adoption today, but it is the only defence against listing-squatting as the economic stakes rise.
- **A queryable API with constraints.** Both probing indexes now expose this: filter agents by minimum uptime, maximum latency, or payment support and get the evidence back per row, rather than scraping a leaderboard. ([Ours](https://agenstry.com/api/search?min_uptime=0.99&max_latency_ms=500): `min_uptime`, `max_latency_ms`, `payment_enabled` on `/api/search`.)

None of this makes listing registries obsolete — publication has to happen somewhere, and the official MCP Registry moving to a single canonical publication API is good for everyone downstream. It means the division of labour is becoming legible: registries for declaration, indexes for verification.

## What we're watching

Whether the headline numbers converge. The honest version of the agent web's size is a funnel, not a count, and directories that publish live-rates alongside listing totals will make the single-number comparisons obsolete. Whether card signing moves — 38 of 3,623 is 1%, up from zero in May, and it is the layer everything else eventually leans on. And whether the wrong-shape population shrinks: it is the best available proxy for how much of the ecosystem tracks spec releases, with the [2026-07-28 MCP specification](https://blog.modelcontextprotocol.io/) landing now.

The agent web is real, and it is smaller than its directories say. Both halves of that sentence are good news, if you measure them.

## Sources

- [PulseMCP server directory](https://www.pulsemcp.com/servers) — PulseMCP, fetched 2026-07-22.
- [MCP servers on Glama](https://glama.ai/mcp/servers) — Glama, fetched 2026-07-22.
- [chiark.ai](https://chiark.ai) and [methodology](https://chiark.ai/methodology) — Chiark, fetched 2026-07-22.
- [Official MCP Registry](https://registry.modelcontextprotocol.io) — modelcontextprotocol.io.
- [A2A Protocol Agent Registry](https://a2aregistry.org) — a2aregistry.org.
- [Smithery](https://smithery.ai) — Smithery.
- [Agenstry index statistics](https://agenstry.com/api/stats) — Agenstry registry crawl, snapshot 2026-07-22.
- [State of the Agent Economy — Agenstry registry crawl](https://agenstry.com/reports/state-of-agent-economy) — Agenstry, snapshot 2026-07-22.
- [Five MCP registries publish five different server counts](https://agenstry.com/blog/mcp-discovery-fragmentation) — Agenstry, 2026-05-18.
- [Federation overlap: counting Smithery, a2aregistry, Glama, and friends](https://agenstry.com/blog/federation-overlap-smithery-a2aregistry-glama) — Agenstry, 2026-05-17.
- [The 2026-07-28 MCP Specification Release Candidate](https://blog.modelcontextprotocol.io/) — modelcontextprotocol.io blog, May–June 2026.
