LangGraph MCP快速API应用程序
一个生产就绪的FastAPI应用程序,使用LangGraph在MCP工具和LLM生成之间进行智能路由。采用企业架构模式构建,包括适当的状态管理、MCP客户端集成和异步工具执行。
✨ 特性
- 企业状态管理:GraphState通过全面的状态跟踪扩展了MessagesState
- MCP客户端集成:具有异步会话管理的多服务器MCPClient
- 工具执行器:用于工具编排的具有单例模式的SimpleMCPAgent
- LangGraph工作流:初始化→ 路线→ (MCP工具|生成)→ 聚合
- MCP工具:CVETetails和具有异步执行的MongoDB工具
- Jinja2模板:结构化响应的自动模板渲染
- Llama整合:使用Ollama和Llama模型进行LLM生成
- 响应聚合器:智能地组合来自多个来源的输出
设置
- 安装依赖项:
pip install -r requirements.txt- 配置环境:
cp .env.example .env
# Edit .env with your configuration- 启动Ollama(如果未运行):
ollama serve
ollama pull llama3.2- 运行应用程序:
python main.pyAPI终点
POST /query-通过LangGraph工作流处理查询GET /health-健康检查端点
📚 文档
- QUICKSTART.md -带有设置说明的快速入门指南
- 建筑.md -详细的工作流程架构和流程图
- 企业_建筑.md -企业模式和重构细节
- 项目\_ SUMMARY.md -完整的项目概述
示例用法
# Single CVE query
curl -X POST "http://localhost:8000/query" \
-H "Content-Type: application/json" \
-d '{"question": "What is CVE-2023-52341?"}'# Multiple questions (MCP + LLM)
curl -X POST "http://localhost:8000/query" \
-H "Content-Type: application/json" \
-d '{"question": "What is the weather in Ireland and also what is CVE-2023-52341?"}'