🧠 LangGraph+MCP代理:总结→ 提取→ 翻译
- 总结:缩短输入的长度,同时保留关键含义。
- 提取关键字:从文本中提取相关关键字。
- 翻译:将输入或提取的内容翻译成任何指定的语言。
所有功能均按以下方式实现 MCP工具,并通过流媒体调用 LangGraph代理.
______________________________________________________________________
📁 项目结构
langgraph-mcp-tool/
│
├── mcp_servers/
│ └── text_server.py # MCP tool server (summarize, extract_keywords, translate)
├── client.py # Async client: loads tools and runs LangGraph agent
├── graph.py # Defines the LangGraph agent and tool integration
├── config.py # Loads & resolves MCP server config with environment variables
├── mcp_config.json # MCP server configuration (tool -> server mapping)
├── .env # Stores your OpenAI API key
└── README.md # You're here!______________________________________________________________________
🚀 特性
- LangGraph代理:将工具使用与工具条件路由相协调。
- 流输出:生成响应时,代理消息逐令牌流式传输。
- OpenAI GPT-4o:每个工具内部使用OpenAI API进行智能处理。
- 文本内容 输出:MCP工具输出使用
TextContent,无缝转换为ToolMessage.
______________________________________________________________________
🧠 运作原理
MCP服务器: text_server.py
服务器通过MCP使用 @mcp.tool() 装饰师:
summarize(text: str):使用GPT-4o减小输入大小。extract_keywords(text: str):提取约5-10个相关关键词。translate(text: str, language: str):将文本翻译成目标语言。
这些工具返回:
[TextContent(type="text", text="...")]LangGraph理解并呈现为ToolMessage内容。
______________________________________________________________________
代理执行:client.py
客户端执行以下操作:
- 从MCP_config.json加载MCP配置。
- 使用MultiServerMCPClient连接到MCP文本服务器。
- 使用load_mcp_tools加载工具。
- 使用这些工具创建LangGraph代理。
- 运行交互式提示,通过以下方式处理用户输入:
- HumanMessage
- 代理商状态→ LangGraph图→ 流式AI输出
使用操作系统优雅地处理退出/退出。\_exit(0)以避免异步清理错误。
______________________________________________________________________
LangGraph代理:graph.py
该代理由以下组件构建:
- AgentState:保存完整的消息历史记录。
- ToolNode(工具):注册所有加载的MCP工具。
- tools_condition:仅当调用工具时,才将模型输出路由到工具节点。
- MemorySaver:启用聊天历史的短期记忆。
______________________________________________________________________
配置:Config.py+mcp_Config.json
- mcp_config.json定义了如何运行每个mcp服务器(工具名称→ 路径)。
- config.py解析任何${ENV}变量并将JSON加载到Python中。
示例mcp_config.json:
{
"text": {
"command": "python",
"args": ["./mcp_servers/text_server.py"],
"transport": "stdio"
}
}🧪 如何跑步
1.安装依赖项
pip install -r requirements.txt确保你有:
- Python 3.10+
- OpenAI SDK
- LangGraph
- LangChain MCP
2.设置.env
OPENAI_API_KEY=your-key-here3.运行代理
python agent/client.py✅ 您将看到类似以下内容:
Loaded tools: ['summarize', 'extract_keywords', 'translate']
USER:______________________________________________________________________
💬 对话示例
USER: Translate this sentence to Korean and then to Hindi: my name is Soham and I am 10 years old
ASSISTANT:
- Korean: 제 이름은 소함이고 10살입니다.
- Hindi: मेरा नाम सोहम है और मैं 10 साल का हूँ।
USER: Summarize this then: [long paragraph]
ASSISTANT: [Summary]
USER: Extract keywords from the text you just summarized
ASSISTANT: [Keywords]
USER: Translate each keyword to Japanese
ASSISTANT: [Translated keywords]______________________________________________________________________
🧩 扩展此项目
- 添加更多MCP工具:情感分析、语法纠正、文本转语音
- 使用LangGraph条件逻辑进行工具链接
- 构建Streamlit前端
- 将消息历史记录存储在数据库中
______________________________________________________________________
🧑💻 作者
贾耶什 Suryawanshi
- 🧠 Python开发人员|💡 AI工具生成器|🌍 数据与工程爱好者
- 📫 领英
______________________________________________________________________
📃 许可证
MIT许可证
