Methodology
This page says how the Observatory counts: where the listings come from, what a check does, what "responded" means, and what the numbers cannot tell you. If a number on this site ever outruns this page, this page wins.
Where the listings come from
The Observatory's input is the Agent Census, a directory built by running seven collectors over public sources. The current dataset was generated on October 1, 2026. The collectors read public pages and public feeds or APIs only. Before every request, the source's robots.txt is checked; paths it disallows are skipped in favor of allowed feeds. The rate is at most 1 request per second per host, and the user agent names the project.
No personal data is collected. Author and creator names, handles, and email addresses are deliberately not stored, and any email address or phone number that appears inside a description is replaced with a placeholder. Listings are deduplicated by normalized URL; MCP servers are keyed by their unique registry name instead, because many registry entries share one repository URL. Hugging Face Spaces are admitted only with an agent tag and at least 2 likes, which keeps out tens of thousands of unmodified course and template copies. Commercial curated directories are not copied, and logged-in or social platforms are excluded.
The census is rebuilt about monthly by re-running the same collectors. New public listings at covered sources are included automatically, removed ones drop out, and removals requested directly go on a permanent do-not-list file.
What the directory is made of
The directory holds 39,654 listings. 37,021 of them (93.4%) are MCP server entries from the official MCP Registry. The remaining 2,633 are Grok Bot templates (1,169), OpenClaw agent skills (948), agent projects (377), and Hugging Face Spaces (139). Any use of the headline number without that composition attached is a misuse of it, including by us.
The records are thin. Each one carries a name, a one-line description, a URL, a source, and a kind. The records have no operator field, no framework field, and no field that says what kind of thing a URL points at. Category labels carry real variety only inside the 2,633 non-MCP listings; every MCP record carries the placeholder category "MCP server," because the registry gives no categories.
Judging by URL shape alone: about 44.9% of listings point at a code repository, about 35.7% at a project homepage or other site, and at most about 12.6% at anything resembling a hosted service endpoint. For most MCP entries this is structural. A registry entry describes a package you download and run locally. There is no hosted thing that could be up or down.
Two dates, kept separate
The directory and the measurement run on different clocks. The census refreshes about monthly, so the tracked count changes monthly. Our checks run weekly, so the responded count changes weekly. Every page on this site shows the directory snapshot date and the last measurement date as two separate dates. The current snapshot is October 1, 2026, and its MCP Registry portion is from September 29, 2026 (see "Known problems" below).
How a measurement cycle runs
Each cycle, our own machines re-check a rotating sample of about 5,000 to 8,000 listings. A full pass over all 39,654 listings at a polite rate would take roughly 6 to 11 hours, which does not fit an overnight window that also carries other work, so the sample covers the full directory every five to eight cycles. The sample is drawn by deduplicated URL, not by record: the 39,654 records sit on about 34,500 distinct URLs, and sampling by record would waste about 13% of the checks on duplicates. Each check is a single GET or HEAD request to the listing's public URL, made overnight from the team's own machines.
Where a published breakdown goes beyond the source data, for example a listing's type read from its own name and description, the labels are produced by local models running on our machines and are labeled as our classification. Classified labels are never presented as source data.
What "responded this cycle" will mean
When the first cycle completes, the headline measurement will be reported per class, with the sample size and the measurement dates next to it. The definitions:
Responded this cycle means the listing's URL produced a completed HTTP response during the stated measurement window. For the hosted-endpoint class, any completed response except a connection failure counts: 200, 401, 402, and 405 all mean something is serving at that address. A 402 is a payment gate, and the endpoint behind it is alive. For the repository class, a response means the project page still resolves; it says nothing about any running agent.
Answered, bot-filtered is its own bucket. A 403, a bot challenge, or a 429 means the host answered and refused us. It is never counted as a non-response.
No response this cycle means the request did not complete. That is all it means. We never publish it as "dead," and we never publish it as an inactive agent.
One limit, stated before anyone has to point it out: these checks cannot show whether an agent did any work recently, for any class of listing. We do not publish an "active agents" number, because this data cannot support one.
Politeness rules
Public URLs only. GET or HEAD requests only. At most 1 request per second per host. An identifying user agent. robots.txt honored per host, and exponential backoff on rate limits. No POSTs, no protocol handshakes, no form submissions, no signups, and no messages to any agent. A check ends at "the host answered an HTTP request." The Observatory contacts no one.
Known problems, stated openly
The largest source failed on the current snapshot. During the October 1, 2026 collection run, the MCP Registry collector hit a server error (HTTP 500) partway through pagination and kept the 37,021 records from the previous run, dated September 29, 2026. That is 93.4% of the directory running one cycle stale, and the census site shows no warning about it. We check each month that the dataset's generated date advanced and that no source status reports an error. When one does, it will be noted on this page.
We read the census; we cannot fix it. The Observatory is built on the census's published data file. If the monthly refresh stalls, the tracked number freezes. If that happens, this page will say so, rather than letting the number rot quietly.
There is no history before ours. No earlier snapshots of the dataset were kept, so no growth or week-over-week number can be computed from the past. Change over time becomes real arithmetic only after two of our own cycles exist. Until then, this site publishes no trend.
Some listings cannot be checked at all. The current file carries 137 URLs on temporary trycloudflare.com tunnels, 14 URLs containing {template} placeholders, and 3 URLs pointing at localhost. They stay in the tracked count, because they are in the census, and they are named here so the count is not a mystery.