ROS MCP Server
An MCP server that connects an agent to a ROS robot through rosbridge: reading sensors and control without changing the robot's code
- 1,523 ★ on the repository
- Last commit
- Apache-2.0
Broad access
Why this level
- Controls a real robot: publishes to topics, calls services and actions, sets parameters
- A wrong command can cause unwanted movement of mechanisms
Install
- Works in
In your terminal, with SkillFoxx CLI
npx skillfoxx add mcp/ros-mcp-serverDetects the agents on your machine, shows the access level and pins the version.
Other ways to install
Access and checks
How we reviewBroad accessThe tool can change data, run commands or handle secrets.
- Controls a real robot: publishes to topics, calls services and actions, sets parameters
- A wrong command can cause unwanted movement of mechanisms
This is third-party code. Review the repository files before installing.
What it does
The server gives the agent two-way access to a robot running ROS through a rosbridge node, without changing the robot's source code. The agent can publish and subscribe to topics, call services and actions, set parameters, read sensor data and monitor robot state in real time. It helps the model discover the available topics, services, actions and their types, including custom ones, so it can address them with the right syntax and no manual setup. It works with ROS 2, such as Jazzy and Humble, and ROS 1 distributions; the link runs over WebSocket, so the agent and the robot can sit on different machines in one network.
Who it is for. For robotics engineers and ROS developers who want to control a robot and inspect its state through an agent.
Good fit when
- You want to control a ROS robot with natural-language commands
- You want to read topics, sensors and robot state together with the agent
- You need to call services or actions and set parameters without hand-written syntax
- You want to diagnose a robot or debug behavior in simulation
Not a fit when
- The robot machine has no ROS and cannot run rosbridge
- The task is unrelated to ROS and robots
Example request
Connect to the robot on localhost through ros-mcp and show which topics and services are availableMCP
- Transport
- stdio, http
- Authentication
- not required
Limitations
The robot machine must have ROS installed and rosbridge running together with rosapi, or the introspection tools fail. Rosbridge is started through its launch file, not ros2 run, otherwise rosapi does not come up. Installing the server needs Python 3.10 or newer and pip 23.0 or newer. Controlling a real robot needs care: the agent can move mechanisms and change parameters. ROS 1 is declared end of life.
How to disable. Run claude mcp remove ros-mcp or delete the ros-mcp entry from the client's MCP configuration. If installed via pip, uninstall the ros-mcp package.
FAQ
Do I need to change the robot's code?
No. You just run a rosbridge node in the existing ROS setup, and the server connects to it over WebSocket.
Does it work with ROS 1?
Yes, the server supports ROS 2 and ROS 1 distributions, though ROS 1 is declared end of life.
Discussion
No questions or reviews yet.
Related
MCP serversA Node.js MCP server through which an agent controls Home Assistant devices and edits its automations
An MCP server for driving Windows: the agent opens apps, clicks and types, reads window and UI state, and works with files and PowerShell
MCP server for Home Assistant: an agent reads device states, controls them and edits smart home dashboards
An MCP server for Home Assistant: the agent reads smart-home state and controls devices through your instance
An MCP server for macOS: the agent moves the mouse, types, manages windows and captures the screen when an app has no API
A CLI that connects Claude Code or Codex to robots and simulators through ROS 2: the agent writes perception and control programs.
Comparison with similar tools
Cards that share the main search query, and how they differ.
| Tool | Official | Authentication | Repository stars | Main difference |
|---|---|---|---|---|
| ROS MCP Server (this card) | no | not required | 1,523 | |
| Bagel: questions to robot and drone data | yes | not required | 407 | an MCP server that answers plain-language questions about robot |
| openreality-mcp | yes | key is optional | 656 | an MCP server that turns phone video into a 3D scene and lets an |
| Robotics Agent Skills | no | 401 | ten robotics skills |
README in short
The README describes a server that connects large language models to robots through MCP and ROS without changing the robot's code. It claims two-way communication: publishing and subscribing to topics, calling services and actions, working with parameters, and reading sensors and state. The server helps the model discover topics, services and their types, including custom ones, and works with ROS 2 and ROS 1. It shows examples with an industrial robot, the Wilson mobile robot and a Unitree Go2 quadruped in NVIDIA Isaac Sim. Setup goes through uvx or pip, with rosbridge and rosapi on the robot. Apache 2.0 licensed.