VLA-Diff-MCP
VLA-Diff-MCP
VLA-Diff 项目运维工具 MCP server(一期只读 + 二期写操作)。
部署形态(工具裁剪开关)
同一份 server.py 通过环境变量 VLADIFF_MCP_PROFILE 裁剪暴露的工具集,
避免全局 / 工作区两个实例重复暴露同一工具:
形态 | VLADIFF_MCP_PROFILE | 暴露工具 | 部署位置 |
完整 |
| 全部 10 个 | 命令行直接调试 |
运维 |
| 9 个(无 |
|
指令 |
| 仅 | 本目录(Trae 工作区 MCP |
publish_prompt 属敏感写操作(伪造大模型指令触发动作分发),仅在本工作区可用。
代码修改流程:本目录为源,改完后同步 server.py 到 ~/Global-MCP-Server/。
功能
通过 MCP 协议向 Agent 提供稳定工具,替代每次临场拼 bash 命令:
一期:只读工具
工具 | 说明 | 运行位置 |
| 查询 ROS 话题频率 + 最新消息 | 容器 |
| 读取 ROS 话题最近 n 条消息 | 容器 |
| 查询关键服务进程状态 | 宿主机 |
| 列出 tmux 会话 | 宿主机 |
| 抓取 tmux 会话 pane 输出 | 宿主机 |
| 读取 agent_run / scene_graph 日志 | 容器 |
二期:写操作工具
工具 | 说明 | 安全机制 |
| 向 /agent_prompt 发布伪造指令(task_id: 0=VLA/1=TRACKING/2=其他) | 无(模拟大模型消息) |
| 向 tmux 会话发送命令(不存在时自动创建,不 kill-session) | 无(按复用规则操作) |
| 重启 ego_planner 等(先杀后启,后台运行) | confirm=True 显式确认 |
| 容器内任意 shell 命令兜底 | 无白名单,谨慎使用 |
环境准备
# 创建虚拟环境(名称固定为 vla_diff_mcp_venv,已被 .gitignore 忽略)
uv venv vla_diff_mcp_venv
# 安装依赖(mcp SDK)
UV_PROJECT_ENVIRONMENT=vla_diff_mcp_venv uv sync运行
vla_diff_mcp_venv/bin/python server.py默认 stdio 传输,由 MCP 客户端(opencode / Claude Code)以子进程方式拉起。
前置条件
Docker 容器
ros_noetic_uss_nav已创建(ROS 相关工具依赖)未启动时,ROS 类工具会返回明确错误,tmux / 进程类工具不受影响
扩展方向
更多可重启服务:elastic-tracker、tracking_service 等(按需加入
KNOWN_RESTART)服务配置化:将启动命令迁移到 YAML,避免写死在代码里