mcpmetricsmcpmetrics
← 所有文章
·4 分钟阅读

我们如何测量——以及拒绝测量什么

我们未经许可探测公开的 MCP 服务器。这给我们带来责任。以下是我们对自己设下的规则,以及原因。

没有人为了让我们测量而安装任何东西。我们从外部连接公开的 MCP 端点,和任何客户端的做法一样。这正是我们能覆盖整个生态的原因——也正是我们必须谨慎的原因。一个会伤害被测对象的测量,不是测量。

我们实际做什么

每隔几小时,我们完成协议握手、请求工具列表,并记录返回的内容:协商到哪个版本、耗时多久、什么失败了。每条结果都是追加写入,从不修改。没有任何东西被覆盖,所以即使我们判断错了,历史依然诚实。

我们确实调用工具——但只调用一部分

要知道一台服务器是仅仅会应答,还是真的能工作,你必须调用点什么。所以我们只做一次冒烟调用,并且对哪些工具有资格非常严格:只读、没有必填参数,且名称必须以明确无歧义的词开头——list、get、search、status、info、ping、health、read、describe。

任何可能创建、删除、发送、付款或修改的工具,我们绝不触碰。如果没有合格的工具,我们会记录「跳过测试」,而不是靠猜。我们不愿意为了测量而改变一个系统。

我们故意放慢自己

探测按主机打散进行,而不是按字母顺序,这样单个服务商不会突然承受一阵冲击。对每个主机,我们最多允许两个并发请求,且两次之间至少间隔半秒。成千上万的服务器其实位于少数几个平台之后,一次粗放的扫描看上去会非常像攻击。

我们从不收集的东西

  • 工具返回内容。我们记录调用是否成功、耗时多久,而不是返回了什么。
  • 认证墙之后的一切。如果服务器需要凭据,它就保持未读状态。我们不去搜寻密钥。
  • 经由代理的一切。如果工具列表只能通过连接器获取,我们读取列表就停下——调用工具会消耗别人的配额。

以及我们出错的时候

我们最近发现有 387 台服务器一直被我们标记为故障。它们其实完好无损,说错协议的是我们。公开测量诚实的一面,就是你自己的错误也会成为数据的一部分——而公开纠正这些错误,是让其余一切变得可信的唯一办法。

自己看看这些数据
#方法#伦理#mcp

更多文章

我们如何测量——以及拒绝测量什么 | mcpmetrics