项目简介
'langgraph_distributed_agent' 是一个构建在 LangGraph 之上的分布式AI代理框架。它通过Redis实现多代理间的无缝协作,支持状态持久化和人工介入安全控制。这个仓库中包含一个示例MCP服务器实现,该服务器提供了一个“执行Python代码并捕获标准输出”的工具,允许外部LLM应用或Agent安全地调用Python执行环境。
主要功能点
- Python代码执行工具: 允许大型语言模型(LLM)通过调用MCP服务器来执行任意Python代码,并获取其标准输出,实现动态编程和计算能力。
- 安全控制: 提供了日志和错误捕获机制,确保代码执行的隔离性和健壮性,防止恶意代码对服务器造成影响。
- 标准协议: 基于JSON-RPC的MCP协议,方便与各种LLM客户端和服务集成,提供统一的通信接口。
安装步骤
- 克隆仓库: 首先,将 'langgraph_distributed_agent' 仓库克隆到本地:
git clone https://github.com/SelfRefLab/langgraph_distributed_agent.git cd langgraph_distributed_agent - 安装依赖: 接着,安装项目所需的所有Python依赖包。这会包括 'fastmcp' 等用于构建MCP服务器的库。
pip install -e .
服务器配置
MCP客户端需要配置此MCP服务器的连接信息。以下是JSON格式的配置示例,包含了MCP客户端所需的所有关键参数及注释:
{ "server_name": "PythonCodeExecutor", "command": ["python", "-m", "examples.agent_demo.demo_mcp_server"], "args": { "--port": "8000" }, "description": "一个提供Python代码执行能力的MCP服务器。", "url": "http://localhost:8000/demo/mcp", "transport": "http" }
参数注释:
- 'server_name': 为这个MCP服务器指定一个简短、可读的名称,用于在客户端识别。
- 'command': 启动MCP服务器的命令行指令,通常是一个Python脚本及其模块路径。
- 'args': 启动命令的额外参数,例如指定服务器监听的端口号。
- 'description': 对该MCP服务器所提供功能的简要描述,帮助用户理解其用途。
- 'url': MCP服务器的访问URL地址,MCP客户端通过此URL与服务器建立连接并发送请求。
- 'transport': 传输协议类型,此处为HTTP。
基本使用方法
-
启动MCP服务器: 在一个独立的终端中运行以下命令来启动Python代码执行MCP服务器:
python -m examples.agent_demo.demo_mcp_server --port 8000服务器启动后,将会在 'http://0.0.0.0:8000/demo/mcp' 地址上监听来自MCP客户端的请求。
-
集成到LLM应用或Agent: MCP客户端(例如基于LangChain或LangGraph构建的代理)可以通过上述配置中的 'url' 地址连接到此服务器。一旦连接成功,客户端即可加载并使用服务器提供的 'run_python_code_and_gather_stdout' 工具。
以 'langgraph_distributed_agent' 为例,可以在其 'AgentRunner' 中通过以下代码集成此MCP服务器提供的工具:
from langgraph_distributed_agent.agent_runner import AgentRunner # ... 其他初始化代码 ... runner = AgentRunner( # ... 配置AgentRunner ... ) # 通过MCP服务器的URL加载工具 await runner.add_mcp_server("http://localhost:8000/demo/mcp") # ... 启动AgentRunner ...集成后,LLM即可在需要执行Python代码时调用该工具,从而扩展其功能。
信息
分类
AI与计算