MCP 的类别差异是零工具 server 造成的
8 个类别按通过率排开,最高 69.9%、最低 16.6%,看着像「数据库类好用、未分类不能碰」。把 50 个零工具 server 剔掉后,8 个类别全部落在 73.9% 到 79.8% 之间,极差从 53.3 个百分点缩到 5.9 个。差异不在类别,在类别里零工具 server 的密度。
MCP 的类别差异是零工具 server 造成的
先给结论:按类别给 MCP server 排名,得到的顺序基本是假的。类别之间的通过率差得很大,但这个差不是类别带来的,是「零工具 server」在各类别里分布不均带来的。剔掉这批之后,8 个类别就拉平了。
口径交代。数据取自子站采集机汇总文件 /opt/mcp-collect/data/mcp-data.json,generatedAt 为 2026-11-02T19:53:24Z(北京时间 2026-11-03 03:53),mode 为 full、finalChunk 为 true。161 个 server 乘 17 个宿主共 2737 格,剔掉 8 个 isFixture 测试样本后是 153 个 server、2601 格。以下数字都是 2026-11-04 在原始 JSON 上现场重算。类别字段取自子站的分类标注,逐类的能力字段与配置写法见宿主能力对照。
表面看:8 个类别差 53 个百分点
把所有格按 server 的类别汇总,通过率是这样分布的:
| 类别 | server 数 | 格数 | pass | 通过率 |
|---|---|---|---|---|
| 浏览器与网页抓取 | 8 | 136 | 95 | 69.9% |
| 文件与协议参考 | 7 | 119 | 78 | 65.5% |
| 记忆与推理 | 8 | 136 | 89 | 65.4% |
| 自有与第三方服务 | 64 | 1088 | 707 | 65.0% |
| 数据库 | 5 | 85 | 52 | 61.2% |
| 搜索与文档检索 | 15 | 255 | 151 | 59.2% |
| 代码与版本 | 6 | 102 | 54 | 52.9% |
| 未分类 | 40 | 680 | 113 | 16.6% |
实测下来,含零工具时 8 个类别的通过率从 16.6% 排到 69.9%,极差 53.3 个百分点。这个差距足够让人得出「浏览器类最稳、未分类不能碰」的结论,也足够解释为什么有人会按类别去筛 server。
问题是这个结论经不起第二步。
剔掉零工具 server 之后
零工具 server 指的是 toolCount 为 0 的那批:装上了、连上了,但一个工具都列不出来。全表 50 个,占 153 个有效 server 的三分之一。把它们整类剔掉,同一套算法重跑:
| 类别 | 剔除后 server | 剔除后格数 | pass | 通过率 | 含零工具时 |
|---|---|---|---|---|---|
| 浏览器与网页抓取 | 7 | 119 | 95 | 79.8% | 69.9% |
| 代码与版本 | 4 | 68 | 54 | 79.4% | 52.9% |
| 自有与第三方服务 | 54 | 918 | 707 | 77.0% | 65.0% |
| 数据库 | 4 | 68 | 52 | 76.5% | 61.2% |
| 文件与协议参考 | 6 | 102 | 78 | 76.5% | 65.5% |
| 记忆与推理 | 7 | 119 | 89 | 74.8% | 65.4% |
| 搜索与文档检索 | 12 | 204 | 151 | 74.0% | 59.2% |
| 未分类 | 9 | 153 | 113 | 73.9% | 16.6% |
实测剔除零工具 server 后,8 个类别的通过率收敛到 73.9% 到 79.8%,极差只剩 5.9 个百分点。原来排最后一名、只有 16.6% 的「未分类」,反手变成 73.9%,跟第一名只差 5.9 个点。
一个类别从 16.6% 跳到 73.9%,说明它原来的低分不是类别属性,是成员构成。
差在哪:零工具在类别里密度不同
50 个零工具 server 的类别分布,是整篇的关键:
| 类别 | server 数 | 其中零工具 | 零工具占比 |
|---|---|---|---|
| 未分类 | 40 | 31 | 77.5% |
| 自有与第三方服务 | 64 | 10 | 15.6% |
| 搜索与文档检索 | 15 | 3 | 20.0% |
| 代码与版本 | 6 | 2 | 33.3% |
| 数据库 / 记忆与推理 / 文件与协议参考 / 浏览器 | 28 | 4 | 14.3% |
实测未分类这 40 个 server 里有 31 个工具数是 0,占 77.5%;其余 113 个 server 里只有 19 个零工具,占 16.8%。差距 60.7 个百分点,这就是全部答案。
原因也不神秘:「未分类」是收录时没打上标签的池子,第三方批量提交的 server 常常连工具清单都没跑通就进了库,于是归类失败与启动失败高度重合。这个重合是收录流程的副产品,不是「未分类的 server 更差」。
顺带一个反例:数据库类 5 个 server 里,4 个非零工具的(工具数分别是 13、5、3、7)在 12 个文档宿主上 48 格全判 pass,看着最稳;但真机只测了 25 格,通过 4 格,通过率 16.0%。论文档,它是满分;论真机,它排在末尾。类别标签对这两种口径一视同仁,所以它两个都答不上。
三个坑
坑一 · 用类别横向比通过率
现象:按类别排序挑 server,选了个通过率高的类别,装完照样不通。原因:类别的通过率差异 53.3 个百分点里,绝大部分由零工具 server 的密度解释;剔掉之后只剩 5.9 个点,噪声级别。解决:比之前先按工具数切一刀,只比非零工具的那部分。同一套筛选逻辑在判定方法里有完整版。
坑二 · 把「未分类」读成质量差
现象:看到未分类只有 16.6%,直接跳过这 40 个 server。原因:这 40 个里有 31 个是零工具 server,剔掉后剩下的 9 个通过率是 73.9%,跟第一名差 5.9 个点。跳过等于顺手扔掉 9 个正常 server。解决:对未分类这一档,看单个 server 的工具数,不看类别整体。
坑三 · 用类别解释真机失败
现象:某个 server 在自己机器上不通,归因成「这类 server 兼容性差」。原因:真机层的差异主要在宿主侧,同一批 103 个非零工具 server,claude-code 上通过 102 个,gemini-cli 上只有 34 个,qoder 上 33 个。类别解释不了 68 个的落差。解决:真机不通先换宿主验证,再谈类别。逐宿主的约束见宿主能力对照,按现象反查见坑点清单。
收尾
判据可以浓缩成一句:先看工具数,再看类别。工具数为 0 的 server 在哪个类别里都是红的,把它们剔掉之后,类别之间的差别小到不值得作为选型依据。
想核对单个 server 的字段口径,可以拿server-filesystem这类结构完整的样本对照着看;想确认某个类别的判断是不是被零工具拉低了,按术语表里 toolCount 与 startupMs 的定义重算一遍即可。
下一次采集如果补上了那两个宿主的真机结果,表里的数字会动,但「类别不是变量」这条结论不会动。
结论采集于 2026 年 11 月 4 日,实测方法见 数据怎么来的。