LangGraph模型上下文协议客户端

一个使用LangGraph构建的模型上下文协议(MCP)客户端,用于连接AI应用与外部工具和数据源。

  • by Siddendra
  • Python
  • 本地部署
  • 更新于
在 GitHub 查看 Siddendra/mcp-client-langgraph

使用说明

带LangGraph的MCP客户端

最低限度 模型上下文协议(MCP)客户端 使用 LangGraph 在Python中。

此存储库显示了如何:

  • 使用LangGraph构建会话代理。
  • 通过以下方式将该代理连接到外部工具和数据源 MCP客户端.
  • 尝试同步、异步和MCP驱动的聊天机器人流。

MCP(模型上下文协议)是一个将人工智能应用程序连接到外部工具和数据源的开放标准,因此LLM可以调用工具、查询系统,并对现实世界的上下文进行操作。:contentReference[oacite:0]{索引=0}


📁 存储库结构

mcp-client-langgraph/
├── chatbot.py          # Basic LangGraph chatbot example
├── chatbot_async.py    # Asynchronous LangGraph chatbot example
├── chatbot_mcp.py      # LangGraph chatbot wired to an MCP client
  • chatbot.py –了解基于LangGraph的聊天机器人结构的最简单切入点。
  • chatbot_async.py –演示异步用法(在与外部API/工具集成时很有用)。
  • chatbot_mcp.py –展示如何使用LangGraph作为 MCP客户端,连接到MCP服务器并通过协议调用工具。

🚀 入门指南

1.先决条件

  • python 3.10+

  • git

  • (可选但推荐)虚拟环境工具:

    • venv / virtualenv / conda
  • 一个或多个 MCP服务器 本地或远程运行(以MCP为例)。

您可以通过官方MCP资源和注册表浏览公共MCP服务器和生态系统文档。([人类学][1])


2.克隆存储库

git clone https://github.com/campusx-official/mcp-client-langgraph.git
cd mcp-client-langgraph

3.设置虚拟环境(可选但推荐)

python -m venv .venv
# Linux / macOS
source .venv/bin/activate
# Windows (PowerShell)
# .venv\Scripts\Activate.ps1

4.安装依赖项

如果 requirements.txt 存在:

pip install -r requirements.txt

如果没有,您可以安装LangGraph+MCP工作通常需要的核心库:

pip install langgraph openai mcp

⚠️ 根据内部导入的内容调整依赖关系 chatbot.py, chatbot_async.py,以及 chatbot_mcp.py.


💬 用法

1.运行基本聊天机器人

python chatbot.py

这个例子通常是最简单的开始。它将:

  • 初始化LangGraph图。
  • 在终端中运行一个基本的聊天循环。
  • 显示消息如何在图中流动。

2.运行异步聊天机器人

python chatbot_async.py

使用此功能:

  • 使用LangGraph了解异步模式。
  • 与非阻塞I/O集成(例如,外部HTTP工具、数据库等)。

3.运行启用MCP的聊天机器人

python chatbot_mcp.py

此脚本演示:

  • 如何配置 LangGraph代理作为MCP客户端.
  • 如何连接到MCP服务器(通过MCP公开的工具、数据源或工作流)。
  • 如何在会话流中调用MCP工具。

运行此操作之前,请确保:

  • 您的MCP服务器正在运行并且可以访问。
  • 任何必需的环境变量/config(例如,服务器地址、API密钥)都设置在内部 chatbot_mcp.py 或者通过你的外壳。

⚙️ 配置

典型的配置选项(检查Python文件内部并根据需要进行定制):

  • 模型配置

    • 通过环境变量提供OpenAI/Anthropic/其他LLM提供者密钥
    • 型号名称、温度、最大标记等。
  • MCP连接详细信息

    • MCP服务器URL/传输(例如。, stdio, http等等)
    • 代理要使用的工具名称和资源ID

您可能需要的常见环境变量:

export OPENAI_API_KEY="your-api-key"
export MCP_SERVER_URL="http://localhost:PORT"   # Example if using HTTP transport

替换为代码中使用的实际变量。


🧠 什么是MCP(模型上下文协议)?

MCP是一个开放标准,允许AI助手通过通用协议连接到外部系统(文件、数据库、工具、API)。把它看作是 “用于AI工具的USB-C”--您的LangGraph代理将成为MCP客户端,您指向的任何MCP服务器都将成为可插拔功能。([模型上下文协议][2])

此回购 chatbot_mcp.py file就是这种模式的一个简单而实用的例子。


🧪 扩展项目

以下是一些扩展此repo的想法:

  • 添加 自定义MCP服务器 用于:

    • 内部API
    • 数据库
    • 文件系统/知识库
  • 构建一个LangGraph工作流,该工作流:

    • 通过MCP搜索文档
    • 总结它们
    • 执行操作(例如,写回结果、发送通知)
  • 与集成 UI前端:

    • 将响应流式传输到支持流式传输的web UI或CLI。
  • 添加 追踪/记录:

    • 跟踪MCP工具调用和LangGraph节点执行。