使用说明(Markdown 格式):
-
项目简介
- SUMO-MCP-Server 是一个完整的 MCP 服务器实现,聚合用于 SUMO 交通仿真的一组工具和工作流,通过 MCP 框架向 LLM 客户端暴露资源读取、工具调用、提示模板等能力,并通过 JSON-RPC 与客户端通信。
-
主要功能点
- MCP 核心能力:以标准化的请求-响应形式,向客户端注册并暴露多类工具、资源和工作流接口,便于 LLM 调用底层 SUMO 功能。
- 资源与工具管理:提供网络生成/转换、需求生成、路径计算、信号优化、仿真控制、状态查询等一整套工具接口。
- 在线与离线模式:支持离线工作流(批量生成与仿真)和在线 TraCI 实时交互控制仿真。
- 自动化工作流:内置 sim_gen(仿真生成与评估)、signal_opt(信号优化工作流)、rl_train(强化学习训练工作流)等高层任务。
- 安全与可扩展:服务器侧会话管理、能力声明,支持不同传输协议,便于嵌入到各种 MCP 宿主应用。
-
安装步骤
- 克隆代码并进入项目目录
- 安装依赖(Python 3.10+,并安装可选的开发依赖)
- 配置 SUMO 环境变量(SUMO_HOME)及路径,使 SUMO 二进制和工具脚本可用
- 直接运行服务器入口:python src/server.py,或使用脚本启动(如 start_server.sh / start_server.ps1 / start_server.bat)
-
服务器配置(给 MCP 客户端的配置说明) MCP 客户端连接本 MCP 服务器时需在宿主应用中配置启动命令与环境参数。本 MCP 服务器的启动主进程位于 src/server.py,使用标准输入输出(stdio)作为默认传输。以下为服务器的配置要点及注释,帮助客户端理解连接参数;实际配置应以客户端 UI 配置为准,下面给出一个准确的配置描述示例(请使用绝对路径):
- server name: sumo-mcp
- command: 替换为 Python 解释器的绝对路径,例如 /usr/bin/python3
- args: ["<项目路径>/src/server.py"],请替换为服务器脚本的绝对路径
- env(可选):
- SUMO_HOME: SUMO 安装目录
- PYTHONPATH: 项目源码路径(通常为 <项目路径>/src)
注意:
- 客户端需要读取以上信息来启动并连接 MCP 服务器,但实际使用中客户端界面会提供对应的字段填充和注释信息。
- 确保 Python、SUMO_HOME、以及源码路径在客户端执行时均可访问。
-
基本使用方法
- 启动服务器后,LLM 守护进程或宿主应用可以通过 JSON-RPC 调用下列能力:
- 资源与工具:读取/生成网络、下载 Osm 数据、随机 trips、路由计算、信号优化等
- 在线交互:连接 SUMO、逐步执行、查询仿真状态
- 执行工作流:sim_gen_eval、signal_opt、rl_train 等端到端任务
- 实际使用时,请通过 MCP 客户端的对话能力向服务器发送标准化的请求,服务器返回 JSON-RPC 风格的响应或错误信息。
- 启动服务器后,LLM 守护进程或宿主应用可以通过 JSON-RPC 调用下列能力:
-
其他注意
- 如需了解更详细的参数和用法,请参考 doc/API.md 与 src/server.py 中工具的注册实现。
- 运行时若遇 SUMO 或工具脚本无法定位,请确保 SUMO_HOME、PATH、以及 SUMO Tools 目录正确设置。
信息
分类
AI与计算