MCP 解决什么问题
Model Context Protocol 将工具、资源和提示模板以统一协议暴露给模型客户端。工具可以是搜索、文件读取、数据库查询、代码执行或企业内部 API。客户端无需为每个工具编写独立集成协议,只需理解统一的能力描述和输入 Schema。
可靠的 Agent 执行循环
典型流程是:读取用户目标,选择工具,生成结构化参数,服务端校验并执行工具,将结果返回模型,再由模型决定是否继续。系统应设置最大步骤数、总耗时、Token 预算和工具调用预算,防止无限循环。
goal → plan → tool selection → schema validation
→ permission check → execution → observation → answer
权限隔离与高风险确认
工具权限应基于用户身份和最小权限原则。只读查询和写操作分离;生产数据库、支付、发送消息、删除文件和修改权限等操作应要求更强授权或人工确认。模型输出不能直接拼接为 SQL、Shell 或 URL,必须经过参数化接口和允许列表。
幂等、超时与审计
每次工具调用应有唯一调用 ID。写操作支持幂等键,避免 Agent 在网络重试时重复创建订单或发送消息。所有调用记录工具名、参数摘要、授权主体、结果、耗时和错误,但要对凭据及个人数据脱敏。
工具描述如何写
名称应稳定,描述说明用途和边界,参数 Schema 明确类型、范围、枚举和必填项。不要让多个工具使用含糊重叠的描述,否则模型难以选择。错误响应应区分参数错误、权限不足、资源不存在、限流和服务异常。
常见问题
- MCP 是否等于 Agent?
- 不是。MCP 是连接工具和资源的协议,Agent 是围绕目标进行规划、调用和验证的应用逻辑。
- 工具越多越好吗?
- 不是。过多相似工具会降低选择准确率,应按场景提供精简、清晰且权限匹配的工具集合。