Menu

Which MCP protocol revision do servers answer with?

2026-09-30MCP Checkup

Before our probe asks an MCP server for its tools, the two sides have to agree on a protocol revision. The probe records the revision that handshake produced, once per run, and a signed result carries it. At 00:12 UTC on 2026-09-30, 1,004 of the 1,468 servers in the directory had a signed latest result, and this is what those results recorded:

revision recorded servers
2025-06-18 580
2026-07-28 394
2025-11-25 14
2024-11-05 11
2025-03-26 5

This is the protocol panel of /servers/stats as computed at that time. The panel is recomputed once a day, so the page may show newer numbers than these.

How we ask

The handshake has two steps, and they explain most of that table.

First, the probe sends a server/discover request, as the 2026-07-28 revision defines it. A server that answers returns the revisions it supports, and we record the first one in its list.

If the server answers that request with an HTTP 2xx or 4xx status that carries neither a usable discovery result nor a recognized modern JSON-RPC error, the probe falls back to the older initialize handshake, offers revision 2025-06-18, and records the revision the server answers with. This follows the compatibility rule in the 2026-07-28 revision. A server that supports the offered revision will normally answer with it. A 429, which asks us to come back later, ends the round without a fallback.

Either way, the recorded revision is what our handshake produced. It is not a claim about the newest revision a server supports, and the methodology page says so in the same words.

What the two big rows say

2025-06-18 is the revision our fallback offers. A server that accepts that offer is recorded with it, whatever else it supports. So 580 counts servers where the handshake ended on the revision we proposed. It does not count servers whose newest revision is 2025-06-18; some of them may support something newer and simply agreed to what we asked for.

2026-07-28 is the current revision. 394 servers, 39 percent of the signed ones, were recorded with it. That is a lower bound, not a count: a server recorded with another revision may support 2026-07-28 as well.

The other 30 servers were recorded with one of three other revisions. This article does not split the table by which of the two steps produced each value.

What is not in the table

Only signed results are counted. The other 464 servers in the directory have an unsigned latest result. We show an unsigned observation as a raw observation, never as a conclusion, so it is not part of a distribution we publish as a finding.

The table is not a ranking either. A server on an older revision is not doing something wrong by that fact alone. The number is here because an agent that connects to a server has to settle the same question our probe does, and it helps to know how that tends to go.

If you maintain a server

Your report page shows the revision recorded on the latest run, in the protocol_revision row. If it shows 2025-06-18 and you have implemented 2026-07-28, the likely reason is that your server answered server/discover with an HTTP 2xx or 4xx status whose body is neither a usable discovery result nor a recognized modern JSON-RPC error, so our probe fell back and offered 2025-06-18. Any such answer other than a 429 triggers the fallback, including a 401, 403, 404 or 405, not only a response saying the method is unknown.

Where the numbers come from

The table is the protocol panel of /servers/stats as computed at 00:12 UTC on 2026-09-30, read from the page’s public data at /servers/stats.json. The panel groups the directory’s servers whose latest result is signed by the recorded revision. Its total of 1,004 and the directory count of 1,468 are the figures in the “Signed results” section of the same page. The description of the handshake comes from the probe’s handshake code.

Updated (2026-10-01): from suite 0.10.0, a 2xx answer to server/discover that is neither a discovery result nor a recognized modern JSON-RPC error also triggers the fallback; before that, only a 4xx did. The counts above were recorded before this change.