ROS2 MCP
An MCP server for ROS 2: the agent inspects robot topics, services and actions, reads maps and point clouds and can drive it
- 99 ★ on the repository
- Last commit
Broad access
Why this level
- Without read-only mode the agent publishes messages, calls services and sends action goals, which physically moves the robot
- The server connects to the ROS 2 graph directly and sees every topic on the network
Install
- Works in
Manual install
claude mcp add ros2 -- docker run -i --rm -e ROS2_MCP_READONLY=1 wisevision/ros2_mcp:jazzyUse the `:humble` tag for Humble; read-only mode is on through the variable.
Access and checks
How we reviewBroad accessThe tool can change data, run commands or handle secrets.
- Without read-only mode the agent publishes messages, calls services and sends action goals, which physically moves the robot
- The server connects to the ROS 2 graph directly and sees every topic on the network
This is third-party code. Review the repository files before installing.
What it does
The server connects the agent directly to the ROS 2 graph through `rclpy` and exposes 24 tools. The agent lists topics, services, actions and message types, subscribes to topics (images come back as PNG), publishes messages, calls services and sends goals to actions with feedback, status and cancel. Separate tools turn an occupancy grid `nav_msgs/OccupancyGrid` into an image and a point cloud `sensor_msgs/PointCloud2` into a bird's-eye view. Message history is read from the WiseVision Data Black Box on InfluxDB, and there is a built-in image and plot viewer and four ready prompts. Read-only mode hides tools that change robot state: they are not registered and calling one returns `Unknown tool`.
Who it is for. Roboticists on ROS 2 Humble or Jazzy who need to inspect topics and debug a robot through an agent.
Good fit when
- It is unclear which topics and services an unfamiliar robot publishes
- Camera messages are needed as PNG right in the agent chat
- A navigation map or point cloud is easier to view as an image
- Safe robot inspection needs read-only mode
- Message history from a previous run must be pulled from InfluxDB
Not a fit when
- ROS 1 is needed: the server uses `rclpy` and does not support ROS 1
- Node parameter and TF tree tools are needed: the server does not have them yet
- The server must live off the robot and go through rosbridge: here the connection is directly to the ROS 2 graph
Example request
Show the robot topic list, read three messages from /chatter and return the /map map as an imageMCP
- Transport
- stdio, http, sse
- Authentication
- not required
Environment variables
ROS2_MCP_READONLY- The value `1` turns on read-only mode: control tools are not registered.
Limitations
ROS 2 Humble (Ubuntu 22.04) and Jazzy (Ubuntu 24.04) are supported and other distributions are untested. The server needs `rclpy`, so it runs where ROS 2 is installed and sourced or from the Docker image `wisevision/ros2_mcp`. Python 3.10 or newer, license MPL-2.0. There are no parameter, TF or node tools yet. The HTTP transport has no authentication yet, so keep it on loopback. The `mcp/ros2` image in the Docker catalog lags behind releases and does not know read-only mode.
How to disable. Run `claude mcp remove ros2` and stop the `wisevision/ros2_mcp` container if it is running.
FAQ
How do I install ROS2 MCP quickly in Claude Code?
With `claude mcp add ros2 -- docker run -i --rm -e ROS2_MCP_READONLY=1 wisevision/ros2_mcp:jazzy`. The image contains ROS 2 so the host does not need it.
How do I stop the agent from moving the robot?
Turn on `ROS2_MCP_READONLY=1` or the `--read-only` flag. The five dangerous tools are not registered at all.
Which ROS 2 distributions are supported?
Humble and Jazzy, Docker images with `:humble` and `:jazzy` tags. Iron, Kilted and Rolling are untested.
How does it differ from ros-mcp-server?
This server connects to ROS 2 directly through `rclpy`, while that one goes through rosbridge and supports ROS 1 and node tools.
What license applies?
MPL-2.0.
Discussion
No questions or reviews yet.
Related
MCP serversA ROS 2 skill: the agent inspects the live graph, types and QoS before editing code and checks results with validators
Ten robotics skills: ROS 1 and ROS 2, QoS, tests, Docker, robot bringup, perception and security for coding agents
The OmniSim MCP server gives an agent 46 robot simulator tools: loading worlds, pausing, single-stepping and debugging.
Roslyn CodeLens MCP gives an agent a semantic map of a .NET solution: callers, type hierarchies, DI, diagnostics and safe renames
Robotics skills for Claude Code, Codex, Gemini CLI and Cursor: ROS 2, simulators, navigation and runnable demos.
OpenROAD MCP: chip physical design from an agent
OpenROAD MCP Server
MCP server from the OpenROAD project: an agent opens OpenROAD sessions, runs commands, checks history, metrics and ORFS reports
README in short
A Docker quick start, a table of 24 tools by area, supported distributions, read-only mode, a comparison with other ROS MCP servers, a roadmap and commercial support.