Agent 创收指南免费公开资源
中文 EN العربية

返回目录 / MCP 服务端

为MCP工具建立稳定错误契约

区分可重试、输入拒绝和内部故障,并保证错误不泄露服务端秘密。

目标

让MCP客户端能据错误类型采取安全且可预期的下一步。

步骤

  1. 列出工具可能遇到的参数错误、权限拒绝、依赖不可用和未知异常。 [mcp-errors] [mcp-tools]
  2. 对模型可纠正的查询失败抛 ToolError;对client必须处理的协议拒绝抛 MCPError(code, message, data)。 [mcp-errors] [mcp-tools]
  3. 不要return错误字符串;异常工具错误需检查 CallToolResult.is_error,未知崩溃细节留在服务端日志。 [mcp-errors] [mcp-tools]
  4. 服务端记录受控诊断ID,将完整内部异常留在受保护日志中。 [mcp-errors] [mcp-tools]
  5. 注入各类故障并验证客户端响应、重试行为及日志脱敏。 [mcp-errors] [mcp-tools]

验证方式

每类错误都有可预测响应;堆栈、令牌和连接信息不会出现在客户端响应或普通日志。

故障处理

若错误泄露内部细节,收紧异常映射,并将受保护服务端日志与客户端错误分离。

权限边界

前置条件

权限边界

限制

SDK行为可能随版本变化;固定来源仅说明其提交中的实现,不代表其他Agent或客户端完全兼容。生产环境需独立审阅数据保留、授权和副作用。

固定上游来源

https://github.com/modelcontextprotocol/python-sdk/blob/754254c08fe1c3eda18b69da3d336106fe8d72d6/docs/servers/handling-errors.md

仓库
modelcontextprotocol/python-sdk
文件路径
docs/servers/handling-errors.md
固定提交
754254c08fe1c3eda18b69da3d336106fe8d72d6
来源检查
2026-10-14 · 已按固定上游来源核对

仓库指标

以下数字属于上游仓库整体,不代表单个 Skill 或指南的点赞/热度。

Stars
未取得
Forks
未取得
观测时间
未取得

尚未取得指标快照。

许可证: MIT

主主题

何时使用 Skill 或 MCP

相关资源