Back to the catalog

io.github.robotmcp/ros-mcp-server

Connect AI models like Claude & ChatGPT with ROS robots using MCP

Open source Open in the app JSON README (API)

About

Connect AI models like Claude & ChatGPT with ROS robots using MCP

Details

Kind
MCP servers
Topic
IoT & hardware
Publisher
robotmcp
Origin
official
Category
ferramentas
Transport
local
Version
3.1.0
Stars
1,434
Forks
208
Open pull requests
39
Last push
2026-09-05T11:28:58Z
Repository state
ativo
Language
Python
License
Apache-2.0
Added
2026-08-29 04:01:18
Updated
2026-08-29 04:01:18
Origin id
io.github.robotmcp/ros-mcp-server

README

# ROS MCP Server ๐Ÿง โ‡„๐Ÿค–

![Static Badge](https://img.shields.io/badge/ROS-Available-green)
![Static Badge](https://img.shields.io/badge/ROS2-Available-green)
![Static Badge](https://img.shields.io/badge/License-Apache%202.0-blue)
![Python](https://img.shields.io/badge/python-3.10%2B-blue)
![pip](https://img.shields.io/badge/pip-23.0%2B-blue)
![Dev Container](https://img.shields.io/badge/Dev-Container%20Ready-blue)
![GitHub Repo stars](https://img.shields.io/github/stars/robotmcp/ros-mcp-server?style=social)
![GitHub last commit](https://img.shields.io/github/last-commit/robotmcp/ros-mcp-server)

<!-- mcp-name: io.github.robotmcp/ros-mcp-server -->

<p align="center">
  <img src="https://github.com/robotmcp/ros-mcp-server/blob/main/docs/images/framework.png"/>
</p>

ROS-MCP-Server connects large language models (such as Claude, GPT, and Gemini) to robots, enabling bidirectional communication with no changes to existing robot source code.  

### Why ROS-MCP?

- **No robot source code changes** โ†’ just add the `rosbridge` node to your existing ROS setup.
- **True two-way communication** โ†’ LLMs can both *control* robots and *observe* everything happening on the Robot.
- **Full context** โ†’ publish & subscribe to topics, call services & actions, set parameters, read sensor data, and monitor robot state in real time.
- **Deep ROS understanding** โ†’ guides the LLM to discover available topics, services, actions, and their types (including custom ones) โ€” enabling it to use them with the right syntax without manual configuration.
- **Works with any MCP client** โ†’ built on the open [MCP standard](https://modelcontextprotocol.io/), supporting Claude Code, Codex CLI, Gemini CLI, Claude Desktop, ChatGPT, Cursor, and more.
- **Works across ROS versions** โ†’ compatible across ROS 2 (Jazzy, Humble, and others) and ROS 1 distros.

---
## ๐ŸŽฅ Examples in Action  

<p align="center">
  <a href="https://youtu.be/Yy1loJAn9sA">
    <img src="https://github.com/robotmcp/ros-mcp-server/blob/main/docs/images/MCP%20Demos%20Slide%20-%207to12s.gif" alt="ROS MCP demos" />
  </a>
</p>

---
๐Ÿญ **Example - AI Agent diagnosis of Industrial Robot End Effector** ([Video](https://youtu.be/EhZNFULz9P4))  
- The MCP server connects Claude to a production industrial robot, with only the technician manuals as reference.
- Claude discovers the robot's custom topic and service types and their syntax on its own.
- From a single prompt to test the gripper, it reads the manuals, runs its own tests, finds an anomaly, and reports the root cause.

<p align="center">
  <a href="https://youtu.be/EhZNFULz9P4">
    <img src="https://github.com/robotmcp/ros-mcp-server/blob/main/docs/images/ROS%20MCP%20Gripper%20vacuum%20test.jpg" width="400" alt="Testing and debugging an industrial robot" />
  </a>
</p>

---
๐Ÿค– **Example - Controlling "Wilson" with natural language**  ([video](https://www.traceglarue.com/wilson))  
From a single prompt โ€” *"Grab a Coke from the fridge & go to the living room."* โ€” Google Gemini uses the MCP server to navigate and manipulate autonomously. Built on ROS 2 with Nav2 (SLAM) for mapping and navigation, and MoveIt to command the manipulator.

<p align="center">
  <a href="https://www.traceglarue.com/wilson">
    <img src="https://github.com/robotmcp/ros-mcp-server/blob/main/docs/images/Wilson%20thumbnail.jpg" width="400" alt="Wilson robot controlled with natural language" />
  </a>
</p>  

---
๐Ÿ• **Example - Controlling Unitree Go2 in NVIDIA Isaac Sim**  ([video](https://www.youtube.com/watch?v=9StFx4lnvmc))  
The MCP server connects Claude to a simulated Unitree Go2 quadruped in NVIDIA Isaac Sim, interpreting natural language commands to navigate and control the robot. 

<p align="center">
  <a href="https://www.youtube.com/watch?v=9StFx4lnvmc">
    <img src="https://img.youtube.com/vi/9StFx4lnvmc/maxresdefault.jpg" width="400" alt="Controlling Unitree Go2 in NVIDIA Isaac Sim" />
  </a>
</p>  


---

## ๐Ÿ›  Getting Started

Follow the [installation guide](docs/install/installation.md) to get started.

ROS-MCP works with Claude Code, Codex CLI, Gemini CLI, Claude Desktop, ChatGPT, Cursor, or any MCP-compatible client.

<p align="center">
  <img src="https://github.com/robotmcp/ros-mcp-server/blob/main/docs/images/MCP_topology.png"/>
</p>

---

## ๐Ÿ“š More Examples & Tutorials  

Browse our [examples](examples) to see the server in action.  
We welcome community PRs with new examples and integrations!  

---

## ๐Ÿค Contributing  

We love contributions of all kinds:  
- Bug fixes and documentation updates  
- New features (e.g., Action support, permissions)  
- Additional examples and tutorials  

Check out the [contributing guidelines](docs/contributing.md) and see issues tagged **good first issue** to get started.  

---

## ๐Ÿ“œ License  

This project is licensed under the [Apache License 2.0](LICENSE).  

More