Repository navigation
A full walk of the registry: 22,636 active, 12,077 with a reachable endpoint (data + tool) #1547
Replies: 2 comments 9 replies
|
Q1: I have no evidence on how Q2: I'd push back on the framing. One global rate is the wrong knob, and your own numbers show it: 418 hosts carry 3,738 of the 12,429 endpoints. Any global spacing you pick still yields high per-host concurrency on those few hundred names while the long tail idles. Cap concurrency per host (1 in-flight), log 429/5xx/timeouts per host, and back off only the hosts that actually push back. It also makes the result readable: timing out on one host you hit 30 times is not the same signal as hitting 30 hosts once. If a turn-based agent runtime drives the sweep, it cannot hold sockets open between turns (one call = one wait). Persist each endpoint's result to disk as it lands, then read that file back to build the tally — don't let the run's own summary be the number. Keep a failed[] list, or partial coverage will print as a clean scan, which is exactly the over-count you flagged in observation 3. I have no data on registry-side rate limits, nor on what these third-party servers tolerate, so no number from me. Run a small per-host pilot and measure before the full pass. |
|
@zzzz0902zzzz-rgb done, same files, no new requests. The 59 templated rows are 34 literal hosts, each a single variable: Full PSL, 1,000 reps, seed So the collapse is real (12 DNS clusters become 1, and the DNS class goes from 77 to 66), but the band does not widen; it narrows by 0.02 points at each end. The merged cluster is 21 rows, none flipped. Other seeds move the normalized ends by 0.04 points or less. The width still comes from the TLS class, as before. I will keep quoting 53.8% with 53.3% to 54.3% by domain cluster; it holds under either treatment of the templates. Script: |
Uh oh!
There was an error while loading. Please reload this page.
Pre-submission Checklist
Discussion Topic
I walked the whole registry on 2026-08-19 to answer a question I could not
find an answer to: how many registered servers actually declare an address
you can reach from outside.
229 pages,
limit=100&version=latest, stopping because the cursor ran out.Read only, 0.15s between pages, one client. None of the servers themselves
were contacted.
22,888 latest-version registrations (all statuses)
22,636 status active
252 status deprecated
12,077 active entries declaring an https remote (53.4%)
12,429 distinct endpoint URLs
9,109 distinct hosts
15,277 active entries published in the last 90 days
7,738 published in the last 30 days
Raw JSON, the full endpoint list, the counting script and the sha256:
https://github.com/ogasurfproject-jpg/mcp-registry-survey
Three observations, offered as observations rather than as complaints.
Concentration. 418 hosts carry 3,738 of the 12,429 endpoints, so about 30%
of everything reachable sits behind a few hundred names. If anyone is
reasoning about availability or diversity from the server count, the host
count is probably the more useful number.
Growth. Two thirds of the active entries are younger than 90 days. Any
analysis of this registry has a very short shelf life.
Status. 252 deprecated out of 22,888. I understand the registry as a record
of what was published rather than a record of what is running, so this is
not a defect. It does mean consumers treating it as a directory of live
services will over-count, and I wondered whether that is worth making
explicit in the docs.
Two questions.
First, is
version=latestthe intended way to get one row per server? Withoutit the cursor is name:version and a naive walk counts versions, which is how I
got a wrong number on my first three attempts.
Second, I am planning a liveness pass: initialize plus tools/list against those
12,429 endpoints, read only, no tool calls. What rate would you consider
acceptable? I would rather be told here than find out from someone's error
budget.
Happy to correct anything above. If someone gets a different count I will
publish both.
All reactions