FAQ (answers come from our records)
How do I install it?
We did not find an install command for this repository (our install coverage is only about 4%). Check its README or releases page.
Who is it for?
We filed it under these tags: MCP 服务. The tags come from the entry itself, not a taxonomy we imposed.
Who maintains it?
first catalogued 2026-10-14;last seen 2026-10-16。There is no official certification or quality rating here — we record sources and dates only.
ROS2 MCP
以下摘录自该仓库的 README(片段) · 在 GitHub 读完整 README →
**ROS2 MCP** is an open-source (MPL-2.0) **Model Context Protocol** server that lets AI agents (Claude, Cursor, Codex and any other MCP client) list, subscribe to, publish on and call ROS 2 topics, services and actions on a live robot. It talks to ROS 2 directly through rclpy: no rosbridge, no changes to your robots. Transports: **stdio** (default), **Streamable HTTP** and SSE (deprecated by the MCP spec).
Every tool is free and open source. Commercial support is available if you want help putting it on a real machine.
⚡ Quickstart (30 seconds, Docker)
You need Docker and an MCP client. ROS 2 itself does not have to be installed: the image contains it.
Any other MCP client: run docker run -i --rm -e ROS2_MCP_READONLY=1 wisevision/ros2_mcp:jazzy as its stdio command. Then ask: *"List the ROS 2 topics"* and *"Read three messages from /chatter"*.
No robot at hand? Start a demo publisher first:
Prefer uv? On a machine with ROS 2 installed and sourced (the server needs rclpy; use the Python that matches your distro, e.g. 3.12 on Jazzy):
Remove -e ROS2_MCP_READONLY=1 (or the --read-only flag) only when you want the agent to be able to move things; see Security. Client-specific setup (VS Code Copilot, Claude Desktop, Warp, Codex CLI, custom messages): installation guide. Docs: wisevision.tech/docs.
> mcp/ros2 in Docker's official MCP catalog (13,750 pulls at the time of writing) is built by Docker and lags our releases: it was last updated on 2026-02-04 and predates read-only mode. wisevision/ros2_mcp is built and pushed by this repository's CI and is the one the commands above use.
🧰 Tools
24 tools. ⚠ marks tools that can change robot state; read-only mode removes them. The complete, generated reference with input schemas is docs/generated/tools.md (a CI check keeps it in sync with the code).
| Area | Tools |
|---|---|
| **Discover** | ros2_topic_list, ros2_service_list, ros2_list_actions, ros2_interface_list, ros2_get_message_fields (field names and types of a message type) |
| **Topics** | ros2_topic_subscribe, ros2_subscribe_multiple_topics (images come back as PNG), ⚠ ros2_topic_publish, ⚠ ros2_publish_multiple_topics (set frequency and duration) |
| **Services** | ⚠ ros2_service_call |
| **Actions** | ⚠ ros2_send_action_goal (optionally waits for the result), ros2_action_request_result, ros2_action_subscribe_feedback, ros2_action_subscribe_status, ⚠ ros2_cancel_action_goal |
| **Perception** | ros2_get_map_as_image (nav_msgs/OccupancyGrid to PNG), ros2_get_pointcloud_as_bev (sensor_msgs/PointCloud2 to bird's-eye-view PNG) |
| **History** | ros2_get_messages_stored_in_influx_data_base (past messages from the WiseVision Data Black Box, an InfluxDB-based alternative to Rosbag2) |
| **Viewer app** | ros2_viewer_app, ros2_viewer_config, ros2_stream_start, ros2_stream_next, ros2_stream_next_image, ros2_stream_stop (interactive image / point cloud / plot viewer for MCP clients that support Apps; the stream tools also serve clients that cannot render it) |
Also included: four built-in prompts, automatic QoS selection for topics, nested message fields, and custom message types (source your package before starting; see the installation guide).
🧭 Supported ROS 2 distributions
| Distro | Status |
|---|---|
| **Jazzy Jalisco** (Ubuntu 24.04, Python 3.12) | Supported. Tests run in CI on ros:jazzy-ros-base; Docker image wisevision/ros2_mcp:jazzy. |
| **Humble Hawksbill** (Ubuntu 22.04, Python 3.10) | Supported. Tests run in CI on ros:humble-ros-base; Docker image wisevision/ros2_mcp:humble. |
| Iron, Kilted, Rolling | Not tested and not shipped. It may work from source; we make no promise. Open an issue if you need one. |
ROS 1 is not supported (the server uses rclpy). Python 3.10 or newer.
🆚 How it compares
Other open-source ROS MCP servers exist. They make different trade-offs; pick by what you need. Facts below were read from each project's README, pyproject.toml and GitHub page on 2026-10-14.
| | **ROS2 MCP** (this repo) | robotmcp/ros-mcp-server | LCAS/ros2_mcp |