基于MCP的LangGraph编码代理团队

该代理团队的总体目标是获取需求和代码上下文,并创建所提议功能的多个实现;然后,人类操作员可以选择他们喜欢的方法并继续,丢弃其他方法。
该项目起源于2024年12月11日在纽约举行的Anthropic MCP黑客马拉松,此后发展成为自己的独立项目。
建筑
该系统由三个主要部分组成:
- MCP网关服务器:服务器:
- 管理多个MCP服务器进程 - 为访问工具提供统一的API - 处理与MCP服务器的通信 - 通过简单的HTTP接口公开工具
- MCP服务器:提供特定功能的单个服务器:
- GitHub服务器:回购操作(读、写、列表、搜索、创建分支、创建PR等) - 可以添加额外的服务器以获得更多功能
- 编码代理:有三个代理协作完成编码任务:
- Orchestrator:从人工消息中收集上下文,并使用MCP服务器访问Linear和GitHub。根据需要,代表计划员和编码员。 - Planner:获取需求和代码上下文,并创建一个包含多个实现建议的计划。不使用MCP。 - Coder:获取代码上下文和建议的实现,并在单独的GitHub分支上实现所有这些。
入门指南
1.安装依赖项
# Install the agent package
pip install -e .
# Install the gateway package
cd gateway
pip install -e .
cd ..2.配置环境变量
代理通过环境变量支持多个LLM提供程序:
# LLM Configuration - supports multiple providers:
LLM_MODEL=provider/model-name
# Supported providers and example models:
# - Anthropic: anthropic/claude-3-5-sonnet-20240620
# - OpenAI: openai/gpt-4
# - OpenRouter: openrouter/openai/gpt-4o-mini
# - Google: google/gemini-1.5-pro
# API Keys for different providers
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 Configuration (if using OpenRouter)
OPENROUTER_BASE_URL=https://openrouter.ai/api/v13.配置MCP服务器
网关服务器通过以下方式配置 gateway/config.json默认情况下,它启动两个MCP服务器:
{
"mcp": {
"servers": {
"filesystem": {
"command": "npx",
"args": [
"-y",
"@modelcontextprotocol/server-filesystem",
"/path/to/directory"
]
},
"memory": {
"command": "npx",
"args": [
"-y",
"@modelcontextprotocol/server-memory"
]
}
}
}
}您可以从添加更多服务器 官方MCP服务器存储库.
4.启动网关服务器
cd gateway
python -m mcp_gateway.server默认情况下,服务器将在端口8808上启动。
5.配置代理
代理与网关的连接已在中配置 langgraph.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许可证获得许可-有关详细信息,请参阅许可证文件。
