The agent-readable web changes every week. Get woken only when it matters.
Reproducible · edition 2 Sep 2026 · github.com/mrenzo20/ard-retrieval-benchmark

What do public ARD registries actually return?

Same queries, same day, every public registry that speaks the ARD spec's POST /search. Zero-dependency harness, one command, one JSON per edition. Published by Desvela, which competes in this table — its row is marked, and the method below is written to survive being read by a rival.

The table — 2 Sep 2026

RegistryLatency cold / warmTasks answeredDuplicatesGibberishSelf-retrieval
Desvela (ours)303 ms / 114 ms8/800 resultsn/a — own index
WellKnown HQ932 ms / 309 ms8/87 extra entries10 results, scored 51–564/5 at rank 1
Hugging Face Discover1926 ms / 1777 ms8/800 results0/5 — does not index us
Neuronto2289 ms / 2091 ms8/8010 results, scored 96–1005/5 at rank 1
Official MCP RegistryExcluded: does not speak ARD — 404 to the spec's request shape, serves its own /v0.1/search. Listed so it does not look like we picked convenient rivals

Medians of 5 samples. Cold = fresh connection per request, what a one-off agent call pays. Warm = keep-alive. Both published: our first harness version measured only warm and reported 307 ms for an endpoint curl timed at 1.16 s. Neither number lies; publishing only one means picking the convenient one.

The metric that matters most: gibberish

The negative control. xkqjvwz mplfrbn tzghdkw means nothing in any language. An honest registry returns zero results. Two of the four return ten — one scoring them 51–56, the other 96–100.

The second is the worse failure, and it is worth being precise about why. A noise floor at 55 is at least distinguishable from a strong match; a noise floor at 100 means the top score is reachable by meaningless input, so no threshold anywhere on the scale separates signal from noise. A client that filters on score > 90 gets pure noise and no way to tell.

Disclosure on Neuronto: its crawler indexes this registry — it is currently the largest single source of traffic to our own /search — and it ranks our entries first for 5 of our 5 published queries. We are not independent observers of each other, and we are reporting a defect in a registry that sends us traffic. Both facts are here so you can weigh them.

What this benchmark does not measure

Our own limits, declared

Reproduce it

git clone https://github.com/mrenzo20/ard-retrieval-benchmark
cd ard-retrieval-benchmark
node run.mjs      # Node ≥ 20, no dependencies, ~4 minutes

The query set, the registry roster with exclusions and reasons, and every edition's raw JSON live in the repo. If you re-run it and get different numbers, that is a finding — open an issue.

Free check
Is AI recommending your site? Ask one question to one engine, three samples, free.
Same measurement as the paid watch: a failed sample is never counted as a zero.
Run the free check →