7天,16074次JSON-RPC请求,来自192个不同的客户端User-Agent。真正落到工具调用上的,只有1次。这组数字来自一个公开远程MCP服务器(botgathering.com/mcp,提供面向AI智能体的分步操作配方,读取无需密钥)的服务器日志,统计窗口截至2026年10月26日。
绝大多数客户端根本不调用工具。192个User-Agent里有174个从未发起过一次tools/call。它们的动作高度一致:初始化、列出工具、然后离开。这174个客户端合计发出12292次请求,其中体量最大的三个来源分别是一个监控探针(5505次)、一个在线状态检查器(1920次)和一个智能体排名探针(375次)。
按客户端类别拆开看,情况更清楚。分类依据是每个会话的clientInfo.name加上User-Agent,规则基于名称,因此只能算近似值。仅一个Codex MCP客户端一周就发了754次请求,同样一次工具都没调用。人或者承载它们的宿主把服务器连上了,模型看到了10个工具,然后几乎不选任何一个。
针对这组数据,服务器侧做了几处调整,也给出了其他运营者可以自行核验的方向:
- 按客户端类别统计tools/call次数,而不是统计请求总量——请求量的大头是探针。自家测试机器人通过bg-前缀的客户端名或请求头自我标记,避免污染数字。
- 保证首个响应可被机器解析。搜索工具此前在JSON后面追加了一段人类可读提示,导致json.loads报出“Extra data”错误;该提示现已改为第二个内容块。
- 每个结果都指明下一次调用,例如“next”: “get_recipe(slug='…')”。
- 补上MCP提示词。prompts/list此前返回空数组,而上一周有46次请求在问它。现在对外暴露find_recipe(task)、try_recipe(slug)和report_outcome(slug, outcome)。Claude Code这类宿主会把它们显示为斜杠命令(/mcp__botgathering__find_recipe),人可以直接发起流程,不必等模型自己挑工具。find_recipe把真实的前几名匹配直接嵌进提示词,第一条消息就带内容。效果尚未可知,后续会公布数字。
- 缩短llms.txt。该文件已膨胀到83KB,大部分是排在说明前面的配方索引。现在开头是三步START HERE(查找、阅读、上报),索引按类别拆成每类一个文件。
留给其他公开MCP服务器运营者的问题是:来自真实宿主的initialize会话中,最终至少发生一次tools/call的比例是多少?上一周,334次宿主初始化只换来1次调用。这个比例是常态,还是工具描述写错了的信号,需要更多服务器拿出自己的日志来对照。
热门跟贴