仅有 1% 的 MCP 服务器使用最新规范
我们测量了 19,233 台公开 MCP 服务器,其中 198 台协商到当前协议版本。如果你在开发客户端或服务器,这个差距意味着什么?
每台 MCP 服务器都会在 initialize 握手时声明自己使用的协议版本。这让采用率变得可以测量,于是我们对整个公开生态做了测量。
数据
在我们持续探测的 19,233 台服务器中,有 198 台协商到当前版本,占 1.0%。另有 1,451 台(7.5%)处于中间状态:它们认识现代的协议结构,但最终仍落在较旧的版本上。其余全部停留在上一代。
这个差距不是舍入误差,它就是生态本身。
为什么采用如此缓慢
- SDK 落后。大多数服务器只是官方 SDK 的一层薄封装,而版本由 SDK 锁定。SDK 不升级,服务器作者即便想动也动不了。
- 没有任何力量推动升级。客户端保持向后兼容,旧服务器照常工作:没有报错,没有弃用警告,也没有用户抱怨。
- 大多数服务器无人维护。一个周末项目不会在半年后获得协议升级。
如果你在开发客户端
不要假设对方使用最新版本。如果你的客户端在协商时只提供最新版本,那么面对 99% 的生态都会失败。提供最新版本,接受返回的结果,同时处理较旧的结构。
如果你在开发服务器
现在升级是脱颖而出最便宜的方式之一,正因为做到的人太少。但先确认一件事:协议版本请求头属于握手之后的请求,而不是握手本身。在 initialize 阶段发送它,会让某些服务器直接拒绝客户端——我们确实发现了因此而无法访问的服务器。
查看各服务器所处的版本