使用LangGraph的MCP(模型上下文协议)
此项目演示了如何使用 模型上下文协议(MCP) 和 LangGraph 创建可以访问外部工具和服务的AI代理。我们使用 MultiServerMCPClient 从 langchain-mcp-adapters 同时连接到多个MCP服务器。
快速开始
使用Poetry设置此项目
- 克隆此存储库:
git clone https://github.com/petereijgermans11/mcp-tutorial-java-magazine.git
cd mcp-tutorial-java-magazine- 安装诗歌:
# Simplest method (works on Windows/Mac/Linux)
pip install poetry # Official installer (recommended)
# Windows PowerShell:
powershell -c "(Invoke-WebRequest -Uri https://install.python-poetry.org -UseBasicParsing).Content | python -"
# Mac/Linux:
curl -sSL https://install.python-poetry.org | python3 -- 配置Poetry以在项目中创建venv:
poetry config virtualenvs.in-project true- 更新锁文件并安装:
poetry lock
poetry install- 在VS Code中选择Python解释器:
- 按 Ctrl+Shift+P (或 Cmd+Shift+P 在Mac上) - 键入“Python:选择解释器” - 选择 .venv 一个来自你的项目 - 完成!现在可以正常运行Python文件了。
替代方案:如果需要,使用诗歌运行python your_script.py。
添加新包: 诗歌添加包名称 (无需锁定/安装-诗歌添加会自动完成)
为幻灯片设置Slidev
要开始幻灯片放映,请执行以下操作:
npm installnpm run dev- 访问
MCP架构
MCP的工作原理
MCP(模型上下文协议) 使AI应用程序能够安全地连接到外部工具和数据源。该架构由三个主要部分组成:
1. MCP服务器 🔧
- 目的:提供特定的工具和能力
- 例子:数学运算、天气数据、文件操作、数据库访问
- 在这个项目中:
- math_server.py -基本数学运算(add, multiply, divide) - weather_server.py -天气信息(get_weather, get_forecast) - 外部Office Word服务器-文档创建和编辑
2. MCP客户端 🌉
- 目的:AI应用程序和MCP服务器之间的桥梁
- 在这个项目中:
MultiServerMCPClient从langchain-mcp-adapters - 其他示例:Claude Desktop(内置MCP客户端,用于文件访问和网络搜索)
- 主要特点:
- 同时连接到多个MCP服务器 - 聚合来自所有连接服务器的工具 - 为LangGraph代理提供统一接口
3. MCP主机 🤖
- 目的:使用MCP工具的AI应用程序
- 在这个项目中:可以调用MCP工具的LangGraph代理
- 其他示例:
- 光标 -集成MCP的AI代码编辑器,用于文件操作 - 克劳德代码 -具有MCP工具访问权限的AI编码助手 - 可爱的 -使用MCP进行项目管理的AI开发平台
- 流动:人类问题→ LangGraph代理→ MCP工具→ 响应
项目范例
此存储库包含几个演示MCP集成的示例:
01_langgraph_agent_no_mcp.py-带本地工具的基本LangGraph代理(无MCP)02_mcp_stdio_local.py-通过stdio传输与本地MCP服务器连接的LangGraph代理03_mcp_stdio_external_package.py-通过stdio连接外部MCP包的LangGraph代理(包括FastAPI web界面)
资源
- MCP服务器目录 -查找更多MCP服务器
- LangChain MCP适配器 -官方适配器库
