8.0
热点
AI SCORE
技术实践2026-08-02 09:21
MCP 工具接口版本管理:避免无声的契约破坏
dev.to · AI#MCP#版本管理#接口设计
Editor brief · 编辑速览
MCP 工具即使保持相同名称也可能改变行为(默认值、字段、错误含义)。建议将工具定义视为版本化接口,计算契约摘要、分类 diff 类型、在迁移窗口内同时保留新旧实现。
一个 MCP 数据库工具可以保持名称不变,实际执行的操作却已发生变化。
默认值从 7 天变成 30 天。某个字段变为可选。某个 enum 增加了新值。一个原本表示“重试”的错误,现在却意味着“询问用户”。
服务端成功启动。客户端发现了这个工具。而第一次显现出来的故障,可能就是生产环境中的错误回答。
应将 tools/list 视为一个有版本的接口:
Schema 兼容并不等于语义兼容。即使 JSON 类型没有变化,修改默认时间范围、租户解释方式、数据源、脱敏规则或错误含义,也可能构成破坏性变更。
在每条 trace 中保存契约 digest。这样,在进行事故复盘时,就能明确回答:究竟是哪一版接口、哪一套策略和哪一种结果结构产生了这个回答。
完整指南:MCP 数据库工具契约版本管理
如需采取进一步措施,你可以考虑屏蔽此人和/或举报滥用行为。

我们是一个供程序员交流分享、了解最新动态并推动职业成长的社区。