主题
将 MCP 客户端连接到 Managed Deep Agent
将已部署的 Managed Deep Agent 作为工具暴露给 Claude Code 等 MCP 客户端。
Managed Deep Agents 部署运行在 LangSmith Agent Server 上,因此每个部署都会在 /mcp 提供 Agent Server Model Context Protocol (MCP) 端点。任何支持 Streamable HTTP 传输的 MCP 客户端都可以将已部署的 agent 作为工具调用,因此另一个助手或 agent 可以将工作委托给它,而无需直接调用部署 API。
本页介绍如何查找 Managed Deep Agents URL 并进行身份验证。有关协议行为和通用 Agent Server 客户端设置,请参阅 Agent Server 中的 MCP 端点。
NOTE
Managed Deep Agents 处于公开 beta 阶段,仅在 US 区域的 LangSmith Cloud 上可用。
该端点是出站方向。MCP 连接器指向相反方向:它将远程 MCP 服务器中的工具添加到你的 agent。一个部署可以同时使用两者。
查找端点 URL
端点是部署 API URL 上的 /mcp:
text
<DEPLOYMENT_API_URL>/mcpmda deploy 打印的是 LangSmith 部署仪表板 URL,而不是 API URL。打开该仪表板,从部署详情视图中复制 API URL,然后追加 /mcp。
由 mda dev 启动的本地服务器提供相同的端点。在 CLI 打印的本地服务器 URL 后追加 /mcp。
对请求进行身份验证
MCP 端点使用部署的身份配置,与部署上的其他所有路由相同。发送与所配置模式匹配的凭据:
| 身份模式 | 标头 |
|---|---|
| LangSmith API 密钥(默认) | x-api-key: <LANGSMITH_API_KEY> |
| Supabase | Authorization: Bearer <access_token> |
对于默认的 LangSmith API 密钥,该密钥必须属于拥有该部署的工作区。对另一个工作区有效的密钥会被拒绝。
身份验证失败会返回以下三种响应之一:
| 状态 | 响应体 | 原因 |
|---|---|---|
| 401 | {"detail":"missing x-api-key"} | 请求中没有凭据标头。 |
| 403 | {"detail":"API key is forbidden"} | 密钥无效、已撤销或已过期。 |
| 403 | {"detail":"API key tenant mismatch"} | 密钥有效,但属于与部署不同的工作区。 |
由 mda dev 启动的本地服务器不需要凭据。它会为每个调用者授予无作用域的本地服务主体,因此机器上的任何客户端都可以调用 /mcp 和所有其他路由。只有部署会强制执行标头。
WARNING
任何持有 LangSmith API 密钥的人都可以访问该部署,而 MCP 客户端会将标头存储在其自己的配置中。请将添加到客户端配置中的密钥视为整个工作区的共享机密。
NOTE
Supabase 身份要求提供用户通过登录你的应用获取的访问令牌。仅存储静态标头的 MCP 客户端无法生成该令牌,因此对于由 MCP 客户端调用的部署,请使用 LangSmith API 密钥默认模式。
了解 agent 暴露的内容
Agent Server 将 agent 作为 MCP 工具暴露:
- 工具名称:agent 定义中设置的 agent
name。 - 工具输入模式:agent 的输入模式。
有关传输细节和其他 Agent Server MCP 行为,请参阅 Agent Server 中的 MCP 端点。
将 agent 添加到 Claude Code
将该端点注册为 HTTP MCP 服务器:
bash
claude mcp add --transport http research-assistant \
<DEPLOYMENT_API_URL>/mcp \
--header "x-api-key: $LANGSMITH_API_KEY"服务器连接后,Claude Code 会将 agent 列为工具。
在 JSON 配置中,Claude Code 会展开标头值中的 ${VAR},因此密钥保留在环境中,而不是配置文件中:
json
"headers": { "x-api-key": "${LANGSMITH_API_KEY}" }将 agent 添加到其他 MCP 客户端
读取 mcpServers 配置的客户端可以直接接受端点和标头:
json
{
"mcpServers": {
"research-assistant": {
"type": "http",
"url": "<DEPLOYMENT_API_URL>/mcp",
"headers": {
"x-api-key": "<LANGSMITH_API_KEY>"
}
}
}
}仅接受 URL 并协商 OAuth 的客户端无法通过端点身份验证,因为端点需要标头凭据。请显式配置标头。否则,客户端可能会回退到 OAuth 并报告动态客户端注册失败,而不是缺少标头,从而掩盖真正原因。
从代码调用端点
通过 MCP 客户端库加载 agent 的工具,然后将工具传递给模型或另一个 agent:
python
import os
from langchain_mcp_adapters.client import MultiServerMCPClient
client = MultiServerMCPClient(
{
"research-assistant": {
"transport": "streamable_http",
"url": "<DEPLOYMENT_API_URL>/mcp",
"headers": {"x-api-key": os.environ["LANGSMITH_API_KEY"]},
}
}
)
tools = await client.get_tools()从环境读取凭据。不要在客户端代码中硬编码它们。
了解会话行为
Agent Server MCP 请求是无状态的:单独的调用不共享线程状态。
要在调用之间保留知识,请选择启用持久记忆。持久记忆是可选的,并且由部署的每个调用者共享。当 MCP 客户端不应相互影响时,请勿启用它。
何时使用 MCP 端点
| 概念 | 类型 | 如何到达 agent |
|---|---|---|
| MCP 端点 | 部署 API | 将 agent 作为工具暴露给 MCP 客户端 |
| MCP 连接器 | 托管配置 | 将远程 MCP 服务器托管的工具添加到 agent |
| 频道 | 托管配置 | 接收来自外部消息服务的消息,这些消息会启动 agent 运行并传递响应 |
后续步骤
Agent Server
探索托管每个 Managed Deep Agents 部署的运行时。
Agent Server MCP
阅读 Agent Server MCP 协议参考。
MCP connectors
将远程 MCP 服务器中的工具添加到 agent。
Identity
对部署的调用者进行身份验证。