protogrid

State of MCP servers

State of MCP servers, October 2026

We probed every remote endpoint in the official MCP registry without credentials and checked every public tool list and dependency graph. This is what the ecosystem looks like at the end of October 2026.

Published Data as of 3 min readDataset (JSON)

  • 14%of remote endpoints answer the 2026-07-28 protocol
  • 64%of OAuth endpoints offer only the deprecated Dynamic Client Registration
  • 51%of servers with resolved dependencies carry a known advisory
  • 42%of servers cannot be scored from the outside

53,935 active servers, 36,700 remote endpoints and 375,723 public tools, measured from the outside without credentials.

This is the first edition of the State of MCP servers: what the 53,935 active servers in the official MCP registry look like from the outside at the end of October 2026. Every figure comes from protogrid's own probes, quality checks and dependency graphs, aggregated; the charts and tables give the counts, and the method at the end says what they can and cannot tell.

What stands out

The new protocol is still a minority

Of 36,700 remote endpoints, 5,045 (14%) answer the 2026-07-28 protocol version, three months after it shipped; 17,547 answer only older versions and 11,100 ask for credentials before any handshake, so their version cannot be seen from outside. Nearly every endpoint that answers 2026-07-28 also works without a session.

Remote endpoints by protocol version36,700 endpoints, as each answered protogrid's latest probe
  • answers 2026-07-28
  • older versions only
  • asks for credentials first
  • no MCP answer
Show the numbers
Remote endpoints by protocol version
remote endpointscountshare
answers 2026-07-285,04514%
older versions only17,54748%
asks for credentials first11,10030%
no MCP answer3,0088.2%
total36,700100%

Authorization is moving to Client ID Metadata Documents, slowly

Of 9,467 OAuth endpoints, 34% support Client ID Metadata Documents, while 64% still offer only Dynamic Client Registration, which 2026-07-28 deprecates. Almost all of them (98%) publish Protected Resource Metadata, so clients can find their authorization server without guessing.

How OAuth endpoints register clients9,467 OAuth endpoints; Client ID Metadata Documents with or without DCR
  • Client ID Metadata Documents
  • Dynamic Client Registration only
  • neither advertised
Show the numbers
How OAuth endpoints register clients
OAuth endpointscountshare
Client ID Metadata Documents3,18434%
Dynamic Client Registration only6,03364%
neither advertised2502.6%
total9,467100%

One advisory explains most of the failures

51% of the 11,632 servers with resolved dependencies carry at least one known advisory. Most of it is a single one: GHSA-mrhx-c7xc-m3w5 in zod (npm, HIGH, published on October 1), where validating an oversized constrained collection can exhaust memory. It reaches 4,224 servers and affects every version below 4.6.6; nearly all of them resolve zod 3.25.76, and the 3.x line has no fixed release, so they can only clear it by moving to zod 4.6.6 or later.

Servers by known advisories in their dependencies11,632 servers whose npm or PyPI dependencies resolved
  • passes
  • warns
  • fails
Show the numbers
Servers by known advisories in their dependencies
serverscountshare
passes5,05043%
warns6135.3%
fails5,96951%
total11,632100%
Dependencies with known advisories, by servers affectedDependency packages, never MCP servers, are named; each advisory is public
zodnpm4,224
opentelemetry-apiPyPI1,405
certifiPyPI1,230
fastmcpPyPI516
body-parsernpm504
joserfcPyPI496
authlibPyPI488
@modelcontextprotocol/sdknpm488
dnspythonPyPI482
fastmcp-slimPyPI467
Show the numbers
Dependencies with known advisories, by servers affected
servers
zod4,224
opentelemetry-api1,405
certifi1,230
fastmcp516
body-parser504
joserfc496
authlib488
@modelcontextprotocol/sdk488
dnspython482
fastmcp-slim467

The official TypeScript SDK caught up fast

GHSA-6qxp-vccf-f47h, published on October 6, let an MCP server choose the authorization server that received a client's stored OAuth credentials; it was fixed in @modelcontextprotocol/sdk 1.31.0. Twenty-five days later, 508 servers (5% of those whose official MCP SDK version we can resolve) still depend on a version with an advisory. Much of the speed comes from version ranges: a package that accepts any 1.x release resolves to the newest one, so an author who never touched the code is counted as up to date once the range allows it.

Servers by the official MCP SDK version they resolve9,784 servers whose official MCP SDK version is known
  • no advisory
  • cannot tell
  • has an advisory
Show the numbers
Servers by the official MCP SDK version they resolve
serverscountshare
no advisory9,25495%
cannot tell220.2%
has an advisory5085.2%
total9,784100%

Tool lists are larger than they look

Half of the servers with public tools cost under 1,670 tokens to load, but one in ten costs over 24,000, a large share of a model's context before the first message. 64% of those servers mark their tools as read-only or destructive, the hint clients use to ask before acting.

Tokens to load a server's whole tool list21,609 servers with public tools; characters / 4
median server1,670
90th percentile24,298
99th percentile30,895
Show the numbers
Tokens to load a server's whole tool list
tokens
median server1,670
90th percentile24,298
99th percentile30,895

Changes: read the counts with one publisher in mind

The tool-change totals include a family of about 1,900 servers from one publisher whose tool descriptions embed live counters (how many tools and sources it covers), so almost every probe recorded a "changed" description. Between October 26 and 30 that family accounts for 29,300 of the 65,087 changes in the chart: it added 14,728 tools and changed 14,570 descriptions, and it went quiet on October 31. Across the whole window, 18,991 of the 55,675 changes that touched only a description differ in numbers alone. The 14,351 changes of meaning are not affected: a new number keeps nearly every word of the text. Separately, 1,754 servers list a different set of tools from one session to the next; the chart leaves those tools out.

Tool-definition changes per daySteady changes, UTC days; tools that come and go between sessions are left out
  • added
  • changed
  • removed
one publisher's live counters
Sep 23: 497 added, 0 changed (0 in meaning), 314 removedSep 24: 1,212 added, 2,413 changed (179 in meaning), 514 removedSep 25: 941 added, 1,991 changed (207 in meaning), 472 removedSep 26: 707 added, 2,823 changed (292 in meaning), 340 removedSep 27: 591 added, 2,599 changed (240 in meaning), 345 removedSep 28: 1,135 added, 2,912 changed (409 in meaning), 719 removedSep 29: 940 added, 2,751 changed (274 in meaning), 591 removedSep 30: 904 added, 2,746 changed (266 in meaning), 392 removedOct 1: 618 added, 3,228 changed (363 in meaning), 402 removedOct 2: 772 added, 2,766 changed (329 in meaning), 452 removedOct 3: 731 added, 2,392 changed (279 in meaning), 459 removedOct 4: 909 added, 2,353 changed (238 in meaning), 236 removedOct 5: 835 added, 3,408 changed (353 in meaning), 572 removedOct 6: 1,258 added, 3,762 changed (441 in meaning), 681 removedOct 7: 954 added, 3,319 changed (436 in meaning), 805 removedOct 8: 1,362 added, 4,545 changed (455 in meaning), 400 removedOct 9: 1,356 added, 3,609 changed (323 in meaning), 614 removedOct 10: 1,303 added, 2,557 changed (305 in meaning), 674 removedOct 11: 1,187 added, 3,296 changed (484 in meaning), 906 removedOct 12: 1,103 added, 3,608 changed (381 in meaning), 476 removedOct 13: 1,632 added, 3,187 changed (310 in meaning), 851 removedOct 14: 990 added, 3,445 changed (308 in meaning), 509 removedOct 15: 1,853 added, 4,937 changed (378 in meaning), 1,272 removedOct 16: 1,294 added, 5,544 changed (294 in meaning), 386 removedOct 17: 821 added, 4,068 changed (403 in meaning), 283 removedOct 18: 1,286 added, 3,990 changed (673 in meaning), 1,145 removedOct 19: 1,298 added, 5,013 changed (523 in meaning), 365 removedOct 20: 1,061 added, 4,054 changed (238 in meaning), 663 removedOct 21: 1,491 added, 3,796 changed (594 in meaning), 907 removedOct 22: 1,718 added, 4,333 changed (385 in meaning), 569 removedOct 23: 2,119 added, 4,185 changed (337 in meaning), 1,022 removedOct 24: 1,934 added, 4,433 changed (708 in meaning), 889 removedOct 25: 1,738 added, 4,386 changed (263 in meaning), 1,548 removedOct 26: 12,696 added, 6,682 changed (370 in meaning), 358 removedOct 27: 4,862 added, 7,832 changed (357 in meaning), 186 removedOct 28: 1,984 added, 8,840 changed (303 in meaning), 1,738 removedOct 29: 1,775 added, 7,999 changed (572 in meaning), 858 removedOct 30: 1,448 added, 7,296 changed (724 in meaning), 533 removedOct 31: 892 added, 3,797 changed (357 in meaning), 224 removed
Show the numbers
Tool-definition changes per day
day (UTC)addedchangedof which meaningremoved
2026-09-2349700314
2026-09-241,2122,413179514
2026-09-259411,991207472
2026-09-267072,823292340
2026-09-275912,599240345
2026-09-281,1352,912409719
2026-09-299402,751274591
2026-09-309042,746266392
2026-10-016183,228363402
2026-10-027722,766329452
2026-10-037312,392279459
2026-10-049092,353238236
2026-10-058353,408353572
2026-10-061,2583,762441681
2026-10-079543,319436805
2026-10-081,3624,545455400
2026-10-091,3563,609323614
2026-10-101,3032,557305674
2026-10-111,1873,296484906
2026-10-121,1033,608381476
2026-10-131,6323,187310851
2026-10-149903,445308509
2026-10-151,8534,9373781,272
2026-10-161,2945,544294386
2026-10-178214,068403283
2026-10-181,2863,9906731,145
2026-10-191,2985,013523365
2026-10-201,0614,054238663
2026-10-211,4913,796594907
2026-10-221,7184,333385569
2026-10-232,1194,1853371,022
2026-10-241,9344,433708889
2026-10-251,7384,3862631,548
2026-10-2612,6966,682370358
2026-10-274,8627,832357186
2026-10-281,9848,8403031,738
2026-10-291,7757,999572858
2026-10-301,4487,296724533
2026-10-318923,797357224

42% of servers cannot be scored, and we say so

22,552 servers publish no remote endpoint or keep their tools behind sign-in; they are shown as not scored rather than given a score from metadata alone. The scored servers average 84.

Servers by quality score53,935 active servers
  • 90+
  • 75-89
  • 40-74
  • under 40
  • not scored
Show the numbers
Servers by quality score
serverscountshare
90+6,91813%
75-8921,77640%
40-742,5944.8%
under 40950.2%
not scored22,55242%
total53,935100%

About this edition

The data was read from a database snapshot taken at 04:24 UTC on November 1; tool changes after October 31 are left out.

Method and limits

Data and citation

Every figure on this page comes from one file of aggregates, free to reuse under CC BY 4.0 with credit to protogrid. The same report as Markdown, with every table, is written for language models and scripts.

Cite this report
protogrid (2026). State of MCP servers, October 2026. https://protogrid.dev/reports/state-of-mcp-servers-october-2026. Data CC BY 4.0.