使用说明(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 风格的响应或错误信息。
  • 其他注意

    • 如需了解更详细的参数和用法,请参考 doc/API.md 与 src/server.py 中工具的注册实现。
    • 运行时若遇 SUMO 或工具脚本无法定位,请确保 SUMO_HOME、PATH、以及 SUMO Tools 目录正确设置。

信息

分类

AI与计算