菜单

一个远程 MCP server 暴露多少个工具?中位数是 7 个

2026-10-16MCP Checkup

探测器读一个 server 的工具列表时,最先知道的就是回来了多少个工具。在整个目录里,这个数从 1 到至少 1,000。这篇文章看的是完整的分布,用的是每个 server 最近一次的列表。

统计了谁

2026 年 10 月 8 日,我们的列表上有 2,982 个远程 MCP endpoint。其中 1,903 个我们至少不带凭据读到过一份工具列表,这 1,903 个就是本文的范围。其余 1,079 个从没给过我们列表:

为什么没有工具列表 endpoint 数
server 先要密钥 959
tools/list 的应答不是可用的 JSON-RPC 结果 112
其他:超时、超过我们 2 MiB 的响应上限、被限流,或域名解析失败 8

这 1,079 个不是「零个工具」的 server。它们有多少工具,我们不知道。第一行的情况见每 10 个公开的 MCP 端点里,有 3 个先要密钥。

这 1,903 个 server,每个都取我们最近一次读到的列表。大多数是最近一两天读到的;有 29 个已经超过一周,因为那之后 server 不再应答,或者开始要密钥。

分布

最近一次列表里的工具数 server 数 占比
0 0 0%
1 79 4%
2 到 5 683 36%
6 到 10 547 29%
11 到 20 334 18%
21 到 50 178 9%
51 到 100 56 3%
101 到 999 25 1%
1,000 及以上 1 不到 0.1%

中位数是 7 个工具。四分之一的 server 不超过 4 个,四分之三不超过 13 个,十分之九不超过 26 个。762 个 server(40%)只有 5 个或更少;28 个有 100 个或更多。平均数是 14,被长尾拉高了:1,903 份列表加起来一共 26,579 个工具。

统计页用更粗的分组展示同一个分布。它每天重算一次,所以可能和这里的数字差几个 server。

零意味着什么

零的意思是 server 对 tools/list 回了一个有效的空列表。这和 server 根本没有应答不一样,后者没有任何计数。最近一次的列表里没有零。8 月以来我们存下的全部列表里,只有一份是空的:某个 server 的第一次读取是空列表,12 小时后它列出了两个工具。

那个 1,000

最大的计数正好是 1,000,来自一个 server,而这不是我们这边的上限。探测器会把收到的应答里的每个工具都存下来,计数就是 server 发来的列表长度。探测器不做的,是继续往下要。MCP 的 tools/list 结果可以带一个 nextCursor,表示还有下一页,而我们只读第一页。这个 server 那份 1,000 个工具的应答带了游标,所以它真实的工具数是 1,000 或更多。

另外两个 server 也带了游标,第一页分别是 50 个和 60 个工具。它们分别在上表 21 到 50 和 51 到 100 两行里,真实数量可能更多。除此之外,本文其余的最近一次列表都没有带游标;只是有 22 个 server 的最近一次列表早于 9 月 29 日,而我们关于游标的记录从那天才开始,所以这 22 个说不准。列表分页时探测器还有哪些不同做法,见探测器有时会扣下的那一次调用。

描述不会变短

我们还量了每个工具附带的描述。26,579 个工具里只有 13 个没有描述。描述长度的中位数是 254 个字符,而且几乎不随 server 的工具数变化:

最近一次列表里的工具数 server 数 每个工具描述长度的中位数 每个 server 描述总长的中位数
1 79 337 337
2 到 5 683 241 911
6 到 10 547 227 2,104
11 到 20 334 287 4,497
21 到 50 178 287 10,017
51 到 100 56 262 21,852
101 及以上 26 217 57,300

长度以字符计。每个工具的描述长度差不多,所以总文字量随工具数增长。6 到 10 这一行的 server,描述总长的中位数约 2,100 个字符;超过 100 个工具的 server 约 57,300 个,这还没算输入 schema。

实际意味着什么

给 agent 开发者:多数 server 都不大。超过三分之二的 server 不超过 10 个工具,描述加起来几千个字符。但长尾很长。一个 agent 如果把一个超过 100 个工具的 server 的全部定义都载入,按中位数算,光描述就有约 57,000 个字符,还不算 schema。如果 server 的列表是分页的,只读第一页的客户端(我们的探测器就是这样)只能看到其中一部分。工具数也会变:我们在另一篇里发现,工具越多的 server 越常换工具。

给维护者:目录里你的 server 页面会列出我们最近一次读到的工具及其数量。如果那里的数量和你预期的不一样,说明匿名客户端拿到的列表和你看到的不同。密钥、地区或分页应答,都可能造成这种差别。

我们怎么数的

范围:2026 年 10 月 8 日我们列表上的 2,982 个 endpoint,其中 1,903 个至少存有一份工具列表;每个取最近一次的列表。时间:2026 年 10 月 8 日 UTC 13:23 到 13:30,对生产数据库的只读查询。这些列表没有一份来自首页的试用:我们查过,试用 run 不存工具列表。

一份工具列表,是探测器不带凭据发出 tools/list 后得到的一次成功应答。工具数是应答里的条目数。分页列表是带 nextCursor 的应答。描述长度是 server 发来的描述文字的字符数。

已知局限。分页列表只读第一页,所以有三个计数是下限。应答超过 2 MiB 时,其中的工具列表完全不计入。先要密钥的 server 不在统计里,所以我们说不出它们比能读到的那些大还是小。一个计数是匿名客户端在那一刻拿到的;server 可能会给登录用户看不同的工具。探测器的说明见方法论页面。