- 智能体创建通过名称和 URL 声明智能体要连接的 MCP 服务器。
- 会话创建通过引用预先注册的密钥库(vault)为这些服务器提供身份验证(请参阅使用密钥库进行身份验证)。
托管智能体 API 请求需要
managed-agents-2026-04-01 Beta 请求头,但记忆存储端点除外,它们使用 agent-memory-2026-07-22。SDK 会自动设置正确的 Beta 请求头。请参阅Beta 请求头。在智能体上声明 MCP 服务器
创建智能体时,在mcp_servers 数组中指定 MCP 服务器。每个服务器需要一个 type、一个唯一的 name 和一个 url。此阶段不提供身份验证令牌。
每个声明的服务器还需要在 tools 数组中有一个匹配的 mcp_toolset 条目。工具集的 mcp_server_name 必须与服务器的 name 匹配。
mcp_servers 字段参考
mcp_servers 数组中的每个条目定义一个连接。
约束:
- 一个智能体最多可以声明 20 个 MCP 服务器。服务器名称在数组内必须唯一。
- 每个
mcp_servers条目都必须被tools数组中的某个mcp_toolset引用,并且每个mcp_toolset都必须引用一个已声明的服务器。API 会拒绝包含未被引用的服务器或悬空工具集的智能体定义。
配置可用的 MCP 工具
mcp_toolset 条目支持与内置智能体工具集相同的 default_config 和 configs 结构,应用于 MCP 服务器公开的工具。每个 configs 条目中的 name 是服务器报告的原始工具名称。
默认情况下,MCP 服务器公开的所有工具都处于启用状态。要仅启用特定工具,请将 default_config.enabled 设置为 false,并显式启用您需要的工具:
default_config 并在各个条目上设置 enabled: false:
default_config / configs 模式,请参阅配置工具集;有关在 MCP 工具上设置 permission_policy 以及处理确认请求,请参阅 MCP 工具集权限。
MCP 工具输出处理
当 MCP 工具输出超过 100,000 个字符(约 25,000 个令牌)时,它会自动写入沙盒中的一个文件。模型会收到带有文件路径的截断预览,并可以从该文件读取完整内容。在会话创建时提供身份验证
启动会话时,传递vault_ids 为您的 MCP 服务器提供凭据。密钥库是凭据的集合,您只需注册一次,然后通过 ID 引用。有关如何创建密钥库和管理凭据,请参阅使用密钥库进行身份验证。
mcp_server_url 指向与 mcp_servers 中声明的 url 相同的服务器。两个 URL 在匹配前都会被规范化(协议和主机名转为小写,去除默认端口和尾部斜杠),因此主机名大小写、默认端口或尾部斜杠的差异不会妨碍匹配;而不同的路径、子域名或非默认端口则会。如果没有匹配项,则会尝试以未经身份验证的方式连接。有关 static_bearer 和 mcp_oauth 凭据类型,请参阅添加凭据。
处理连接和身份验证失败
会话创建不会验证 MCP 连接性或凭据。如果 MCP 服务器无法访问或拒绝所提供的凭据,会话仍会启动,并且仍可进行交互。系统会发出一个session.error 事件,其中包含受影响服务器的 mcp_server_name 和一个 retry_status:
您可以决定是在出现此错误时阻止进一步交互、触发凭据轮换,还是让会话在没有受影响服务器工具的情况下继续。连接会在下一次从
session.status_idle 到 session.status_running 的转换时重试。
后续步骤
权限策略
控制智能体和 MCP 工具何时运行。
会话事件流
发送事件、流式传输响应,以及在执行过程中中断或重定向您的会话。
支持的 MCP 服务器类型
远程 MCP 服务器的传输要求。