https://github.com/robotmcp/ros-mcp-server
Connect AI models like Claude & GPT with robots using MCP and ROS.
https://github.com/robotmcp/ros-mcp-server
mcp mcp-server modelcontextprotocol ros ros-mcp-server ros2 ros2-mcp-server
Last synced: about 1 month ago
JSON representation
Connect AI models like Claude & GPT with robots using MCP and ROS.
- Host: GitHub
- URL: https://github.com/robotmcp/ros-mcp-server
- Owner: robotmcp
- License: apache-2.0
- Created: 2025-04-11T05:40:09.000Z (11 months ago)
- Default Branch: main
- Last Pushed: 2026-01-28T08:20:15.000Z (about 1 month ago)
- Last Synced: 2026-01-28T09:16:50.283Z (about 1 month ago)
- Topics: mcp, mcp-server, modelcontextprotocol, ros, ros-mcp-server, ros2, ros2-mcp-server
- Language: Python
- Homepage: https://github.com/robotmcp/ros-mcp-server
- Size: 134 MB
- Stars: 959
- Watchers: 18
- Forks: 141
- Open Issues: 13
-
Metadata Files:
- Readme: README.md
- Contributing: docs/contributing.md
- License: LICENSE
- Governance: docs/governance.md
Awesome Lists containing this project
- awesome-mcp - robotmcp/ros-mcp-server
- awesome-mcp-servers - ROS MCP Server - An MCP server for ROS/ROS2 that supports robot control by converting natural language commands from users or agents into ROS or ROS2 control instructions, enabling robotics automation via the Model Context Protocol. ([Read more](/details/ros-mcp-server.md)) `robotics` `automation` `iot` (Code Execution & Automation Mcp Servers)
- best-of-mcp-servers - GitHub - 22% open Β· β±οΈ 29.01.2026) (Developer Tools)
- awesome-mcp-registry - robotmcp/ros-mcp-server
README
# ROS MCP Server π§ βπ€








ROS-MCP-Server connects large language models (such as Claude, GPT, and Gemini) with existing robots giving them bidirectional AI integration.
With no changes to existing robot source code, this enables:
- π£ **Commanding the robot in natural language** β instructions are translated into ROS/ROS2 commands.
- π **Giving AI full visibility** β subscribe to topics, call services, read sensor data, and monitor robot state in real time.
### β
Key Benefits
- **No robot code changes** β only requires adding the `rosbridge` node.
- **True two-way communication** β LLMs can both *control* robots and *observe* everything happening in ROS (sensors, topics, parameters).
- **ROS1 & ROS2 support** β works with both versions out of the box.
- **MCP-compatible** β integrates with any MCP-enabled LLM (Claude Desktop, Gemini, ChatGPT, and beyond).
## π₯ Examples in Action
π₯οΈ **Example - Controlling the MOCA mobile manipulator in NVIDIA Isaac Sim**
Commands are entered into Claude Desktop, which uses the MCP server to directly drive the simulated robot.
---
π **Example - Controlling Unitree Go with natural language** ([video](https://youtu.be/RW9_FgfxWzs?si=8bdhpHNYaupzi9q3))
The MCP server enables the Claude to interpret images from the robot's cameras, and then command the robot based on human natural language commands.
---
π **Example - Debugging an industrial robot** ([Video](https://youtu.be/SrHzC5InJDA))
- Connecting to an industrial robot enables the LLM to browse all ROS topics and services to assess the robot state.
- With no predefined context, the MCP server enables the LLM to query details about custom topic and service types and their syntax (00:28).
- Using only natural language, the operator calls the custom services to test and debug the robot(01:42).
---
## βοΈ Features of the ROS MCP Server
- **List topics, services, and message types** β explore everything available in your robotβs ROS environment.
- **View type definitions (incl. custom)** β understand the structure of any message.
- **Publish/subscribe to topics** β send commands or stream robot data in real time.
- **Call services (incl. custom)** β trigger robot functions directly.
- **Get/set parameters** β read or adjust robot settings on the fly.
- π **Action support** β upcoming support for ROS Actions.
- π **Permission controls** β manage access for safer deployments.
---
## π Getting Started
The MCP server is version-agnostic (ROS1 or ROS2) and works with any MCP-compatible LLM.
### Installation
Follow the [installation guide](docs/installation.md) for step-by-step instructions to install, run, and troubleshoot the ROS-MCP server.
For developers, we also have instructions for [installation from source](docs/installation-from-source.md).
If you prefer not to use desktop LLM apps (such as Claude, ChatGPT, or Gemini), you can use the [robot-mcp-client](https://github.com/robotmcp/robot-mcp-client) to run and interact with the MCP server directly from the terminal.
---
## π 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).