返回
官网 Claude 官方博客 AI 逐段翻译 发布 2026-04-22 08:00 收录于 08-10

用MCP构建可达生产系统的Agent

DataHot 速览

Anthropic官方博客探讨如何让Agent连接外部生产系统,总结直接API调用、CLI与MCP三种主流路径。文章指出,直接API调用在集成数量增多后会面临M×N集成难题,而MCP作为通用协议层,能减少定制化成本,因此成为生产级Agent落地的关键方向。

为什么值得关注:MCP是Data Agent连接数据平台与外部系统的关键协议,数据从业者需要理解其技术选型与集成模式。

本文目录 19 节
  1. 将代理连接到外部系统
  2. 直接API调用
  3. 命令行界面(CLI)
  4. 模型上下文协议(MCP)
  5. 生产代理在云中运行
  6. 构建有效的MCP服务器
  7. 构建远程服务器以实现最大触达
  8. 围绕意图而非端点对工具进行分组
  9. 当你的服务表面很大时,为代码编排而设计
  10. 在有用之处提供丰富的语义
  11. 依靠标准化认证
  12. 让MCP客户端更高效地利用上下文
  13. 使用工具搜索按需加载工具定义
  14. 使用程序化工具调用在代码中处理工具结果
  15. 将MCP服务器与技能配对
  16. 将技能和MCP服务器捆绑为插件
  17. 从MCP服务器分发技能
  18. 叠加层
  19. 致谢

译文

AI 逐段翻译

代理的实用性取决于它们能触达的系统。团队通常采用三种方法将代理连接到外部系统——直接API调用、CLI和MCP。本文阐述了每种方法的适用场景,为什么生产代理倾向于采用MCP,以及有效构建这些集成的模式。

将代理连接到外部系统

我们通常看到三条将代理连接到外部系统的路径:直接API调用、CLI和MCP。每种方法在特定情境下都有其合理性,具体取决于你在构建什么。关键区别在于代理和服务之间是否存在公共层,以及该层的覆盖范围。

直接API调用

代理直接调用你的API——通过编写在代码执行沙箱中发出HTTP请求的代码,或通过通用的函数调用工具。这是大多数团队起步的方式,对于一个代理与一个服务通信,或少量不需要在代理平台间复用的集成来说,这种方式效果不错。但规模化时会遇到挑战。由于代理和服务之间没有公共层,每个代理-服务对都成为定制集成,需要单独处理认证、工具描述和边缘情况——即M×N集成问题。

命令行界面(CLI)

代理在shell中运行你的命令行工具。这种方式快速、轻量,且利用了现有工具。它非常适合本地环境和沙箱容器——任何有文件系统和shell的地方。这提供了一个公共层,但这个层很薄。CLI在触达移动、网页或云托管平台时遇到严格限制,这些平台不暴露容器,且认证由CLI自身的机制处理——通常是磁盘上的凭据文件。这最适合本地环境中快速、宽松的集成。

模型上下文协议(MCP)

MCP提供协议形式的公共层。代理连接到暴露你系统能力的服务器,认证、发现和丰富的语义都标准化了。一个远程服务器可以触达任何兼容客户端(Claude、ChatGPT、Cursor、VS Code等),在任何部署环境中。

它需要稍多的前期投入。回报是集成是可移植的,并且提供了功能丰富的代理集成所需的语义。

生产代理在云中运行

生产代理越来越多地在云中运行,以便扩展和持续运行。它们需要触达的系统也是云托管的:你的数据所在之处、工作跟踪的地方、基础设施运行的地方。通常这些系统是远程的且需要认证,而MCP在此提供公共层。当这些系统位于私有网络而非公共互联网时,Claude托管代理中的MCP隧道通过仅出站连接将代理连接到它们——无需暴露端口或公共端点。

我们已经从采用中看到这一点。MCP SDK最近每月下载量超过3亿次,而年初为1亿次,在企业和流行的代理平台中得到广泛应用。每天有数百万人使用Claude与MCP交互,该协议支撑了我们近期发布的许多功能,包括Claude Cowork、Claude托管代理以及Claude Code中的频道。随着MCP持续支持生产级代理系统,我们正在分享构建这些集成的模式:从构建高级服务器到上下文高效的客户端,以及技能如何补充协议。

构建有效的MCP服务器

我们的目录中有超过200个MCP服务器,每天有数百万人使用。通过与企业和开发者密切合作,我们发现了一些决定代理能否可靠使用服务器的设计模式。目录,每天有数百万人使用。通过与在该协议上构建的企业和开发者密切合作,我们发现了决定代理能否可靠使用服务器的一些设计模式。

构建远程服务器以实现最大触达

远程服务器是让你获得分发能力的关键——它是唯一能在网页、移动和云托管代理上运行的配置,也是每个主要客户端都优化的消费方式。构建远程服务器,以便代理无论在何处运行都能使用你的系统。

围绕意图而非端点对工具进行分组

更少、描述良好的工具始终优于详尽的API镜像。不要将你的API一对一包装成MCP服务器——围绕意图对工具进行分组,这样代理可以通过几次调用完成任务,而不是拼接许多原语。一个create_issue_from_thread工具胜过get_thread + parse_messages + create_issue + link_attachment。参见为代理编写有效工具以了解更多完整模式。

当你的服务表面很大时,为代码编排而设计

如果你的服务需要数百个不同的操作,例如Cloudflare、AWS或Kubernetes,意图分组的工具集可能无法覆盖。相反,暴露一个接受代码的薄工具面:代理编写一个简短脚本,你的服务器在沙箱中针对你的API运行它,只返回结果。Cloudflare的MCP服务器是参考示例——两个工具(搜索和执行)覆盖约2,500个端点,大约1K token。

在有用之处提供丰富的语义

MCP应用是第一个官方协议扩展,允许工具返回交互式界面,例如图表、表单或仪表板,全部在聊天界面中内联渲染。提供MCP应用的服务器往往比仅返回文本的服务器获得显著更高的采用率和留存率。在关键时刻将你的产品UI呈现在代理或最终用户面前——该扩展受Claude.ai、Claude Cowork和许多其他领先AI工具支持。

引导允许你的服务器在工具调用中途暂停以询问用户输入。表单模式发送简单模式,客户端渲染本地表单——用于请求缺失参数、确认破坏性操作或消除选项歧义。URL模式将用户引导至浏览器——用其完成后续的OAuth认证、收取款项或收集任何不应通过MCP客户端传输的凭据。两者都让用户保持在流程中,而不是将他们发送到设置页面。表单模式得到了广泛支持;URL模式在Claude Code中受支持,更多客户端正在开发中。

依靠标准化认证

标准化认证让MCP对云托管代理实用。如果您的服务器需要OAuth,最新的MCP规范支持CIMD(客户端ID元数据文档)用于客户端注册——它为用户提供了快速的首次认证流程,并大大减少了意外重新认证提示。这是我们推荐的认证方法,该功能在MCP SDK、Claude.ai和Claude Code中受支持,并正在业界广泛采用。一旦用户授权,下一个问题是云托管代理如何在运行时持有并重用这些令牌。保险库在Claude托管代理中涵盖了这一点:一次注册用户的OAuth令牌,在创建会话时通过ID引用保险库,平台将正确的凭据注入到每个MCP连接中,并代您刷新它们——无需构建秘密存储库,也无需每次调用传递令牌。

让MCP客户端更高效地利用上下文

MCP标准化了AI代理(客户端)如何连接和使用他们所需的工具和数据源(服务器)。服务器安全地暴露一系列能力,而客户端则编排这些能力并管理上下文。如果您正在构建MCP客户端,请使用渐进式披露模式使其有效地利用上下文。

使用工具搜索按需加载工具定义

工具搜索推迟将所有工具加载到上下文中,而不是预先加载。这允许代理在运行时搜索目录,在需要时拉取相关工具。在我们的测试中,工具搜索往往能将工具定义令牌减少85%以上,同时保持高选择准确性。

使用程序化工具调用在代码中处理工具结果

程序化工具调用在代码执行沙箱中处理工具结果,而不是将其原始返回给模型。这允许代理在代码中循环、过滤和聚合调用,只有最终输出到达上下文。在我们的测试中,这在复杂多步骤工作流中减少了约37%的令牌使用。

总之,这些模式自然地跨多个服务器组合:更精简的上下文、更少的往返、更快的响应。请参阅 高级工具使用获取完整分解。

将MCP服务器与技能配对

技能和MCP是互补的。MCP让代理能够访问外部系统的工具和数据,而技能则教给代理使用这些工具完成实际工作的程序性知识如何。最有能力的代理两者兼用,技能使MCP服务器能够扩展到超出少量连接的范围。组合它们有两种一般模式:

将技能和MCP服务器捆绑为插件

插件对于Claude来说是一种有用的抽象,允许开发人员将技能、MCP服务器、钩子、LSP服务器和专门的子代理捆绑在一种易于消费的分发方式中。使用这种方法是以最小摩擦统一多个上下文提供者的最佳方式。将MCP服务器与技能结合,使Claude能够更像领域专家。通过MCP获取您的工具,并赋予Claude端到端编排工作流的技能。请参阅我们的数据插件作为Cowork的示例,该插件包含10个技能和8个MCP服务器,用于Snowflake、Databricks、BigQuery、Hex等应用。

从MCP服务器分发技能

提供者越来越普遍地在其MCP服务器旁边发布技能,这样代理既能获得原始能力,又能获得使用它们的最佳实践指南。Canva、Notion、Sentry等目前在Claude中就是这样做的,在我们的网页目录中,将技能列在其连接器旁边。

为了使这种配对在每个客户端中可移植,MCP社区正在积极研究一个扩展,用于直接从服务器传递技能。这样客户端会自动继承相关专业知识,并与它所依赖的API一起版本化。随着该扩展的稳定,我们预计这种模式将被广泛采用。

叠加层

我们以三种连接代理与外部系统的路径开始。在实践中,成熟的集成将包含全部三种:API作为基础,CLI用于本地优先环境,以及用于基于云的代理的MCP。

随着生产代理向云迁移,MCP成为关键层,并且它是叠加的。如今,远程服务器可以在任何部署环境中到达每个兼容客户端,协议处理认证、交互性和丰富的语义。随着更多客户端采用该规范并在其中提供更多扩展,同样的服务器在无需您发布任何新内容的情况下变得更加有能力。

在构建集成时,如果您的目标是让云中的生产代理到达您的系统,请构建一个MCP服务器,并使用上述模式使其出色。每个基于MCP构建的集成都加强了生态系统:需要单独解决的边缘情况更少,需要维护的定制集成也更少。

致谢

感谢Den Delimarsky、David Soria Parra、Henry Shi、Felix Rieseberg、Conor Kelly、Molly Vorwerck、Andy Schumeister、Kevin Garcia、Amie Rotherham、Matt Samuels、Angela Jiang、Katelyn Lesse、AJ Rebeiro和Jess Yan 对本博客的贡献。

这篇内容对你有用吗?

反馈只用于改善内容筛选,不等同于收藏

分享这条资讯
分享海报
保存图片
iOS 也可以长按图片保存