日本語
verify/survey/report 1
report 1 · measured 2026-08-23 · count three

12,429 addresses were contacted once. 5,785 answered. 152 said who pays them.

Report 0 counted declarations and promised that the third count, how many actually answer, would appear as report 1 or not at all. It is here. Every https endpoint the official registry declared was contacted exactly once, read only. No tool was called on any server. The run took a full day and finished the list rather than finishing when I got bored.

12,429 of 12,429 read only robots respected one request per address
Count three

What happened when I knocked

addresses contacted
12,429, the full list from report 0
measured
5,785 spoke MCP, which is 46.5 percent. Of those, 5,618 also returned a tool list.
held
4,260 (34.3 percent) could not be measured. 3,076 required authorization and 943 could not be reached at all. These are not failures and are not counted as failures. A server behind a login is doing the correct thing.
skipped
1,466 (11.8 percent) were disallowed by robots.txt and were not contacted. Their operators said no, and no is an answer.
pending
918 (7.4 percent) were reached and measured, but did not complete an MCP handshake. Read the first card below before using this number.
tools offered
104,434 in total. Median 10 per server, 90th percentile 36, largest 647. Three servers answered with zero tools.

Held and pending are kept apart on purpose. "I could not measure this" and "I measured this and the condition was not met" are different sentences, and collapsing them is how a survey turns its own blind spots into other people's failures.

Three things to read first

Read these before quoting the headline

01 · my instrument was behind

95 of the 918 pending rows were my fault

Corrected 2026-08-24. What this card said first is kept at the bottom, because it was wrong in a way worth showing.

Every one of the 918 was contacted again. 33 answered server/discover under the current 2026-07-28 revision. 62 more answered initialize once I announced 2025-11-25 instead. That is 95, or 10.3 percent of the bucket. The remaining 820 spoke no MCP at any of the four versions tried, and 0 were unreachable.

The real defect was worse than the one I published. This walk did not merely speak an older revision — it announced protocol version 2024-11-05, which most of the registry has dropped. 137 of the 206 initialize refusals were HTTP 400, the response the spec prescribes for a version a server does not support. I counted a correct refusal as "did not speak MCP". All 62 were recovered at 2025-11-25; not one needed a version older than that.

So the headline moves. Measured goes from 5,785 to 5,880 — 46.5 percent to 47.3 — and pending drops from 918 to 823.

What this card said on 2026-08-23: "This walk speaks the 2025-06-18 revision of MCP… 74 gave no result to initialize, 638 had no MCP at the declared address, 206 refused initialize. That is 918, which is exactly the pending bucket. I cannot say all 918 are this, and I cannot say none are." The upper bound was right. The reason given for it was not.
02 · there is no agreed word for it

152 disclosures, seven different field names

Of the 5,785 that answered, 152 disclosed compensation somewhere a machine can read. That is 2.6 percent. The seven names in use are payment (104), pricing (27), payments (15), compensation (5), capabilities.payment (4), capabilities.pricing (1), and one A2A payments extension.

The other 5,633 servers are not accused of anything. There is no agreed place to put this, so silence here is the absence of a convention, not evidence of a hidden hand. What the number measures is that the convention does not exist yet — and that an agent choosing between these servers has nothing to read.

03 · one host is ten percent of it

9,109 hosts, and the largest carries 1,312

gateway.pipeworx.io declares 1,312 of the 12,429 addresses, and all 1,312 answered. The top ten hosts carry 19.7 percent of everything. Meanwhile 8,691 hosts carry exactly one endpoint each.

Counting servers is not counting operators. 3,755 distinct hosts and 2,852 distinct organisations account for the 5,785 that answered. Anyone building a trust argument on "how many servers support this" is quoting a number that one operator can move by a tenth on their own.

What this report does not say

Answering is not behaving well. This measures whether an address speaks the protocol, nothing else. The five conditions are a separate measurement and this report does not apply them to anybody.

596 servers published an agent card; 4,762 did not, and 427 could not be read. That last number is mine, not theirs — a fetch that failed on my side is recorded as not read, not as absent. The three are never added together.

1,108 servers required a session id. That is the old revision's mechanism, so this number will mean something different after a walk on the current one.

My own five endpoints are in the data and marked as mine. All five answered. They are not excluded from the totals and they are not allowed to be quoted as an independent result.

it ran. 95 of the 918 were mine, 820 were not, 0 were unreachable. the upper bound is now a number.
Method

Reproduce it, and tell me where I am wrong

source list
The 12,429 https endpoints published with report 0. The list was fixed before this walk started.
contact
One initialize per address, then tools/list if it answered. No tool was ever called. Read only.
robots
Fetched and obeyed per host. 1,466 addresses were never contacted and are recorded as skipped, not as failures.
health gate
Two control addresses were re-checked whenever failures clustered. If the control stopped answering, the walk aborted instead of recording the outcome. This exists because of run 1, below.
held vs pending
Never collapsed. Auth required, unreachable, gateway error and robots are held or skipped. Only a measured-and-unmet condition is pending.
rows read
12,429 of 12,429. The run ended because the list ended.
record hash
61fdbff057c1dfd619b28ac06fb9ea48bf8693b4951caeb08a9ffe3d7b4e1881
sha256 of the JSON linked at the top, computed over every field except the hash itself.
Run 1 was thrown away in full

The first walk wrote all 12,429 rows and none of them were used. Eighteen minutes in, my own name resolution died. From that minute onward 11,307 consecutive rows were recorded as not reached, with 0 successes among them, and the tool wrote each one as a fact about somebody else's server. It looked like a finding. It was a picture of my own laptop.

Nothing was salvaged. The 1,122 rows written before the resolver died are probably fine, and they were thrown away too: choosing which rows to keep after seeing the data is exactly the move this survey exists to avoid. Run 2 added a control probe that aborts the walk when the control stops answering, and started again from zero.

The same disease showed up a second time, in the regression test for a different system, which spent several hours testing a stale copy of the file it was supposed to be checking and reporting that everything passed. An instrument that measures itself will always say it is fine.

If you get a different number, I would like to know. Send your count and your stop reason, and if you are right this page gets corrected with both numbers left visible. The wrong one is not deleted.