Building Agents That Reach Production Systems with MCP(用 MCP 构建触达生产系统的 Agent)
- 原文标题
- Building Agents That Reach Production Systems with MCP(用 MCP 构建触达生产系统的 Agent)
- 原文链接
- https://claude.com/blog/building-agents-that-reach-production-systems-with-mcp
- 作者
- Anthropic(鸣谢 Den Delimarsky、David Soria Parra 等)
- 发布日期
- 2026-04-22
🎯 一句话
让 Agent 碰生产系统,难点从来不是技术接入,而是「错了怎么办」的完整答案:幂等、限流、审计、回滚四件事缺一不可。
MCP(Model Context Protocol)已成为云端生产 Agent 连接外部系统的最优标准——相比直接 API 调用和 CLI,它有更好的可移植性和语义表达。
三种连接方式对比
- 直接 API 调用: 沙箱内发 HTTP 请求。简单场景可用,但规模化后出现 M×N 集成问题——每个 Agent-服务组合都要定制认证和工具描述
- 命令行工具(CLI): 轻量、复用现有工具,但只适用于有文件系统和 shell 的本地环境;移动端、Web、云托管平台不适用
- MCP: 标准化协议层,远程 server 以标准化的认证、发现和丰富语义暴露能力,跨任意兼容客户端和部署环境工作
成熟的集成最终三种方式都会提供,但 MCP 是生产系统的战略复利层。MCP SDK 月下载量已从 1 亿增长到 3 亿+。
构建有效 MCP Server 的设计模式
远程 Server 架构
唯一在 Web、移动、云部署间都被主要客户端优化支持的形态。
按意图分组工具
不要一比一镜像 API,而是围绕用户意图捆绑操作。例:create_issue_from_thread 优于分立的 get_thread + parse_messages + create_issue。
大接口面用代码编排
对有数百个操作的服务(Cloudflare、AWS、Kubernetes),暴露接受代码脚本的薄工具层。Cloudflare 的参考实现用两个工具覆盖约 2,500 个端点。
丰富语义
- MCP Apps 扩展: 内联渲染交互式界面(图表、表单、仪表盘)
- Elicitation: 调用中途请求用户输入——表单模式处理缺失参数或破坏性操作确认;URL 模式处理 OAuth、支付和敏感凭据
标准化认证
- CIMD(Client ID Metadata Documents)简化 OAuth 流程
- Claude Managed Agents 的 Vaults 安全存储和刷新 OAuth token,无需自建密钥管理
- MCP 隧道支持仅出站连接,触达私有网络内的系统
上下文高效的 MCP 客户端模式
- Tool Search: 延迟加载工具定义、运行时发现——工具定义 token 减少 85%+ 且不损准确率
- Programmatic Tool Calling: 工具结果在代码沙箱中处理而非原样返回模型——复杂多步流程 token 减少约 37%
MCP 与 Skills 的配合
Skills 提供「如何有效使用 MCP 工具」的程序性知识。两种分发模式: 1. 插件捆绑: skills + MCP servers 打包为插件(例:Cowork 数据插件含 10 个 skills 和 8 个 MCP server,覆盖 Snowflake、Databricks、BigQuery、Hex) 2. Server 分发 Skills: 提供方随 MCP server 发布 skills,新兴扩展支持从 server 直接下发、版本与 API 依赖对齐
建议清单
- 把远程 MCP server 作为云端生产 Agent 的关键集成层
- 设计意图导向的工具而非穷举式 API 镜像
- 用 MCP Apps 和 elicitation 实现丰富语义
- 用 CIMD 和 Vaults 标准化认证
- MCP 与 skills 结合打造领域专家型 Agent
- 采用上下文高效模式(tool search、程序化调用)以支撑规模化
生态数据:官方目录 200+ MCP server,日服务量达数百万次。
✅ 检查点
- Agent 接入生产系统必须先解决哪四件事?
- 为什么幂等性对 Agent 特别重要?
- 生产环境的工具设计和实验环境有什么不同?
👀 答案
- ①幂等(重复执行不会重复生效)②限流(防止失控放大)③审计(每次操作可追溯)④回滚(错了能撤)。
- 因为 Agent 会重试——超时、报错、或它自己判断上次没成功,都会导致同一个操作被执行多次。⭐ 「发一封邮件」重试三次就是三封;「扣一次款」重试三次就是事故。所以写操作必须带幂等键,让重复请求只生效一次。
- ①工具描述要写清副作用和不可逆性,让模型知道哪些操作要慎重;②错误信息要可执行(说清哪错了、怎么改),而不是抛原始堆栈;③危险操作要设计成两步(先返回将要执行的内容供确认,再执行);④返回结果要精简,别把整个数据库 dump 回上下文。
🛑 可以停在这里
⚡ 走神救援
⭐Agent 碰生产系统的难点不是技术接入,是「错了怎么办」的完整答案:幂等、限流、审计、回滚,四件事缺一不可。⭐⭐幂等特别重要因为 Agent 会重试——超时/报错/它自己判断上次没成功都会重复执行;「发一封邮件」重试三次就是三封,「扣一次款」重试三次就是事故;写操作必须带幂等键。生产环境的工具设计四点:描述写清副作用和不可逆性、错误信息要可执行(说清哪错了怎么改,不是抛堆栈)、危险操作设计成两步(先返回将要执行的内容供确认)、返回结果要精简(别把整个数据库 dump 回上下文)。