VLA-Diff-MCP
Enables AI agents to inspect and control a robotic VLA system via MCP, offering read-only tools for ROS topics, processes, tmux, and logs, as well as write tools for publishing prompts, issuing tmux commands, restarting services, and running shell commands inside containers.
README
VLA-Diff-MCP
VLA-Diff 项目运维工具 MCP server(一期只读 + 二期写操作)。
部署形态(工具裁剪开关)
同一份 server.py 通过环境变量 VLADIFF_MCP_PROFILE 裁剪暴露的工具集,
避免全局 / 工作区两个实例重复暴露同一工具:
| 形态 | VLADIFF_MCP_PROFILE | 暴露工具 | 部署位置 |
|---|---|---|---|
| 完整 | full(默认) |
全部 10 个 | 命令行直接调试 |
| 运维 | ops |
9 个(无 publish_prompt) |
~/Global-MCP-Server(Trae 全局 MCP global-diff-ops) |
| 指令 | prompt |
仅 publish_prompt |
本目录(Trae 工作区 MCP vla-diff-prompt,见 .trae/mcp.json) |
publish_prompt 属敏感写操作(伪造大模型指令触发动作分发),仅在本工作区可用。
代码修改流程:本目录为源,改完后同步 server.py 到 ~/Global-MCP-Server/。
功能
通过 MCP 协议向 Agent 提供稳定工具,替代每次临场拼 bash 命令:
一期:只读工具
| 工具 | 说明 | 运行位置 |
|---|---|---|
ros_topic_status |
查询 ROS 话题频率 + 最新消息 | 容器 ros_noetic_uss_nav |
ros_topic_echo |
读取 ROS 话题最近 n 条消息 | 容器 |
process_status |
查询关键服务进程状态 | 宿主机 |
tmux_status |
列出 tmux 会话 | 宿主机 |
tmux_capture |
抓取 tmux 会话 pane 输出 | 宿主机 |
read_log |
读取 agent_run / scene_graph 日志 | 容器 |
二期:写操作工具
| 工具 | 说明 | 安全机制 |
|---|---|---|
publish_prompt |
向 /agent_prompt 发布伪造指令(task_id: 0=VLA/1=TRACKING/2=其他) | 无(模拟大模型消息) |
tmux_send |
向 tmux 会话发送命令(不存在时自动创建,不 kill-session) | 无(按复用规则操作) |
restart_service |
重启 ego_planner 等(先杀后启,后台运行) | confirm=True 显式确认 |
exec_cmd |
容器内任意 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,避免写死在代码里
Recommended Servers
playwright-mcp
A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.
Audiense Insights MCP Server
Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.
Magic Component Platform (MCP)
An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.
VeyraX MCP
Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.
graphlit-mcp-server
The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.
Kagi MCP Server
An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.
E2B
Using MCP to run code via e2b.
Neon Database
MCP server for interacting with Neon Management API and databases
Exa Search
A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.
Qdrant Server
This repository is an example of how to create a MCP server for Qdrant, a vector search engine.