Claude Managed Agents 支持将 Model Context Protocol (MCP) 服务器连接到您的代理。这使代理能够通过标准化协议访问外部工具、数据源和服务。
MCP 配置分为两个步骤:
这种分离方式将密钥排除在可复用的代理定义之外,同时允许每个会话使用自己的凭据进行身份验证。
所有 Managed Agents API 请求都需要 managed-agents-2026-04-01 beta 请求头。SDK 会自动设置 beta 请求头。
创建代理时,在 mcp_servers 数组中指定 MCP 服务器。每个服务器需要一个 type、一个唯一的 name 和一个 url。此阶段不提供身份验证令牌。
您在 MCP 服务器数组中分配的 name 用于引用工具数组中的 mcp_toolset 条目。
agent_response=$(curl -sS --fail-with-body https://api.anthropic.com/v1/agents \
-H "x-api-key: $ANTHROPIC_API_KEY" \
-H "anthropic-version: 2023-06-01" \
-H "anthropic-beta: managed-agents-2026-04-01" \
-H "content-type: application/json" \
-d @- <<'EOF'
{
"name": "GitHub Assistant",
"model": "claude-sonnet-4-6",
"mcp_servers": [
{
"type": "url",
"name": "github",
"url": "https://api.githubcopilot.com/mcp/"
}
],
"tools": [
{"type": "agent_toolset_20260401"},
{"type": "mcp_toolset", "mcp_server_name": "github"}
]
}
EOF
)
agent_id=$(jq -r '.id' <<<"$agent_response")MCP 工具集默认使用 always_ask 权限策略,每次工具调用前都需要用户批准。请参阅权限策略以配置此行为。
启动会话时,传入 vault_ids 以为您的 MCP 服务器提供凭据。Vault 是您一次性注册并通过 ID 引用的凭据集合。请参阅使用 vault 进行身份验证,了解如何创建 vault 和管理凭据。
session_response=$(curl -sS --fail-with-body https://api.anthropic.com/v1/sessions \
-H "x-api-key: $ANTHROPIC_API_KEY" \
-H "anthropic-version: 2023-06-01" \
-H "anthropic-beta: managed-agents-2026-04-01" \
-H "content-type: application/json" \
-d @- <<EOF
{
"agent": "$agent_id",
"environment_id": "$environment_id",
"vault_ids": ["$vault_id"]
}
EOF
)
session_id=$(jq -r '.id' <<<"$session_response")如果 vault 中提供的授权凭据无效,会话创建仍将成功,交互仍可继续进行。系统会发出一个 session.error 事件,描述 MCP 身份验证失败的情况。您可以决定是否在此错误上阻止进一步的交互、触发凭据更新,或允许会话在没有 MCP 的情况下继续。身份验证重试将在下一次 session.status_idle 到 session.status_running 的状态转换时发生。请参阅会话事件流,了解有关消费 session.error 和其他事件的详细信息。
Claude Managed Agents 连接到暴露 HTTP 端点的远程 MCP 服务器。服务器必须支持 MCP 协议的可流式 HTTP 传输。
有关 MCP 和构建 MCP 服务器的更多信息,请参阅 MCP 文档。
Was this page helpful?