使用LangGraph和MCP实现多智能体系统
概述
LangGraph 编码代理团队与 MCP 技术实现
本项目使用 LangGraph 和 模型上下文协议 (MCP) 实现了一个小型编码代理团队。这些代理通过 MCP 服务器提供的统一网关访问工具和能力。
该代理团队的核心目标是:根据需求说明和代码上下文,创建多个功能实现方案;然后由人工操作者选择首选方案并推进,同时舍弃其他方案。
本项目起源于 2024 年 12 月 11 日在纽约举办的 Anthropic MCP 黑客松,现已发展为一个独立的项目。
架构设计
系统包含三个主要组件:
-
MCP 网关服务器:
- 管理多个 MCP 服务器进程
- 提供访问工具的统一 API
- 处理与 MCP 服务器的通信
- 通过简单 HTTP 接口暴露工具
-
MCP 服务器:
- GitHub 服务器:仓库操作(读取、写入、列表、搜索、创建分支、创建 PR 等)
- 可添加更多服务器扩展能力
-
编码代理(三个协作代理):
- 协调器:从人工消息中收集上下文,通过 MCP 服务器访问 Linear 和 GitHub,根据需要调度规划器和编码器
- 规划器:根据需求和代码上下文创建包含多个实现建议的方案(不使用 MCP)
- 编码器:基于代码上下文和提案,在独立 GitHub 分支上实现所有方案
快速开始
1. 安装依赖
bash
# 安装代理包
pip install -e .
# 安装网关包
cd gateway
pip install -e .
cd ..
2. 配置环境变量
代理支持通过环境变量配置多种 LLM 提供商:
bash
# LLM 配置 - 支持多提供商:
LLM_MODEL=provider/model-name
# 支持的提供商及示例模型:
# - Anthropic: anthropic/claude-3-5-sonnet-20240620
# - OpenAI: openai/gpt-4
# - OpenRouter: openrouter/openai/gpt-4o-mini
# - Google: google/gemini-1.5-pro
# 各提供商的 API 密钥
OPENAI_API_KEY=your_openai_api_key
ANTHROPIC_API_KEY=your_anthropic_api_key
OPENROUTER_API_KEY=your_openrouter_api_key
GOOGLE_API_KEY=your_google_api_key
# OpenRouter 配置(如使用)
OPENROUTER_BASE_URL=https://openrouter.ai/api/v1
3. 配置 MCP 服务器
通过 gateway/config.json
配置网关服务器,默认启动两个 MCP 服务器:
json
{
"mcp": {
"servers": {
"filesystem": {
"command": "npx",
"args": [
"-y",
"@modelcontextprotocol/server-filesystem",
"/path/to/directory"
]
},
"memory": {
"command": "npx",
"args": [
"-y",
"@modelcontextprotocol/server-memory"
]
}
}
}
}
可从 官方 MCP 服务器仓库 添加更多服务器。
4. 启动网关服务器
bash
cd gateway
python -m mcp_gateway.server
默认在 8808 端口启动服务。
5. 配置代理
代理与网关的连接配置在 langgraph.json
中:
json
{
"dependencies": ["."],
"graphs": {
"agent": "./src/react_agent/graph.py:graph"
},
"env": ".env",
"mcp": {
"gateway_url": "http://localhost:8808"
}
}
6. 使用代理
在 LangGraph Studio 中打开项目文件夹!代理将自动:
- 连接网关服务器
- 发现可用工具
- 在对话中启用工具
可用工具
代理可访问 MCP 服务器提供的工具:
文件系统工具
read_file
:读取文件内容write_file
:创建/更新文件list_directory
:列出目录内容search_files
:按模式搜索文件- 以及其他...
内存工具
create_entities
:向知识图谱添加实体create_relations
:建立实体关联search_nodes
:查询知识图谱- 以及其他...
开发指南
添加新 MCP 服务器
- 从 MCP 服务器仓库 选择服务器
- 将其配置添加到
gateway/config.json
- 代理将自动发现其工具
自定义代理
- 修改
src/react_agent/prompts.py
中的系统提示 - 在
src/react_agent/graph.py
中更新代理推理逻辑 - 通过包含更多 MCP 服务器扩展能力
文档资源
许可协议
本项目采用 MIT 许可证 - 详见 LICENSE 文件。

Ai Image Gen Mcp
使用户能够使用 Replicate 的模型从文本提示生成图像,支持配置参数并完全符合 MCP 协议。
Aistor
AIStor 官方 MCP 服务器
Any Openapi
一个 MCP 服务器,使 Claude 能够通过语义搜索发现并调用任何 API 端点。智能分块 OpenAPI 规范以处理大型 API 文档,并具备内置的请求执行功能。非常适合将私有 API 与 Claude Desktop 集成。
Apple Notes Mcp
使用 Claude 模型上下文协议读取您的 Apple Notes