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
MCP serverOfficial

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
All reasons and checks

wise-vision/ros2_mcp

Install

Manual install

claude mcp add ros2 -- docker run -i --rm -e ROS2_MCP_READONLY=1 wisevision/ros2_mcp:jazzy

Use the `:humble` tag for Humble; read-only mode is on through the variable.

Access and checks

How we review

Broad 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 image

MCP

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.

A ROS 2 skill: the agent inspects the live graph, types and QoS before editing code and checks results with validators

PluginExtended access238Repository stars

Ten robotics skills: ROS 1 and ROS 2, QoS, tests, Docker, robot bringup, perception and security for coding agents

SkillMinimal access401Repository stars
Official

The OmniSim MCP server gives an agent 46 robot simulator tools: loading worlds, pausing, single-stepping and debugging.

MCP serverExtended access192Repository stars

Roslyn CodeLens MCP gives an agent a semantic map of a .NET solution: callers, type hierarchies, DI, diagnostics and safe renames

MCP serverExtended access74Repository stars

Robotics skills for Claude Code, Codex, Gemini CLI and Cursor: ROS 2, simulators, navigation and runnable demos.

SkillExtended access108Repository stars
Official

MCP server from the OpenROAD project: an agent opens OpenROAD sessions, runs commands, checks history, metrics and ORFS reports

MCP serverExtended access34Repository stars

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.

README badge

Report a problem