Skip to main content
模型上下文协议(Model Context Protocol,MCP)是一种以模型无关格式描述工具和数据源的开放协议,使 LLM 能够通过结构化 API 发现和使用它们。 Agent Server 使用 可流式 HTTP 传输 实现了 MCP。这使得 LangGraph 智能体 可以作为 MCP 工具 暴露,从而能被任何支持可流式 HTTP 的 MCP 兼容客户端使用。 MCP 端点位于 Agent Server/mcp 路径。 您可以设置 自定义认证中间件 来使用 MCP 服务器对用户进行身份验证,以获取对 LangSmith 部署中用户作用域工具的访问权限。 此流程的示例架构:

要求

要使用 MCP,请确保已安装以下依赖项:
  • langgraph-api >= 0.2.3
  • langgraph-sdk >= 0.1.61
使用以下命令安装:

使用概述

要启用 MCP:
  • 升级到使用 langgraph-api>=0.2.3。如果您正在部署 LangSmith,创建新修订版时会自动完成此操作。
  • MCP 工具(智能体)将自动暴露。
  • 使用任何支持可流式 HTTP 的 MCP 兼容客户端进行连接。

客户端

使用 MCP 兼容客户端连接到 Agent Server。以下示例展示了如何使用不同编程语言进行连接。
注意serverUrl 替换为您的 Agent Server URL,并根据需要配置认证请求头。

将智能体暴露为 MCP 工具

部署后,您的智能体将作为工具出现在 MCP 端点中,配置如下:
  • 工具名称:智能体的名称。
  • 工具描述:智能体的描述。
  • 工具输入模式:智能体的输入模式。

设置名称和描述

您可以在 langgraph.json 中设置智能体的名称和描述:
部署后,您可以使用 LangGraph SDK 更新名称和描述。

模式

定义清晰、最小化的输入和输出模式,以避免向 LLM 暴露不必要的内部复杂性。 默认的 MessagesState 使用 AnyMessage,它支持多种消息类型,但对于直接暴露给 LLM 来说过于通用。 相反,应定义使用显式类型化输入和输出结构的自定义智能体或工作流 例如,一个回答文档问题的工作流可能如下所示:
更多详情,请参阅 底层概念指南

在您的部署中使用用户作用域的 MCP 工具

先决条件 您已添加了自己的 自定义认证中间件,该中间件填充了 langgraph_auth_user 对象,使其可通过可配置上下文在图的每个节点中访问。
要使您的 LangSmith 部署能够使用用户作用域的工具,请从实现类似以下的代码片段开始:
  1. MCP 仅支持向 streamable_httpsse transport 服务器发出的请求添加请求头。
  2. 您的 MCP 服务器 URL。
  3. 从您的 MCP 服务器获取可用工具。
这也可以通过 在运行时重建您的图 来实现,以便为新运行使用不同的配置

会话行为

当前的 LangGraph MCP 实现不支持会话。每个 /mcp 请求都是无状态且独立的。

认证

/mcp 端点使用与 LangGraph API 其余部分相同的认证。有关设置详情,请参阅 认证指南

禁用 MCP

要禁用 MCP 端点,请在您的 langgraph.json 配置文件中将 disable_mcp 设置为 true
这将阻止服务器暴露 /mcp 端点。