主题
MCP Tool 与 Spring AI ToolCallback 有什么区别,如何统一?
题型:追问 · 区分协议、框架抽象和模型侧 Tool Calling。
建议回答
模型 Tool Calling 是模型输出结构化调用意图的能力;Spring AI ToolCallback 是 Java 应用内描述并执行工具的框架抽象;MCP 是客户端与外部能力提供方之间进行发现和调用的标准协议。它们处于不同层次,不能直接画等号。
统一时把本地 ToolCallback 和 MCP 返回的工具描述都转换为内部 ToolDefinition,包含名称、说明、输入 Schema、来源、版本和安全策略;执行时再根据 providerType 路由到本地回调或 MCP Client。模型只看到归一化后的可用工具,鉴权、审计、超时和错误分类由内部执行层统一处理。
进一步追问
- MCP Server 下线或工具列表变化时如何刷新?
- 不同模型支持的 JSON Schema 子集不一致怎么办?
- 同名工具来自多个 Provider 时如何解决冲突?
易错点
- MCP 不只是把 HTTP API 包一层 JSON。
- 工具发现成功不代表当前用户有执行权限。