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 monit
Add this skill
npx mdskills install lpigeon/ros-mcp-serverComprehensive MCP server enabling bidirectional LLM-ROS integration with strong documentation and examples
1# ROS MCP Server π§ βπ€23456789101112<!-- mcp-name: io.github.robotmcp/ros-mcp-server -->1314<p align="center">15 <img src="https://github.com/robotmcp/ros-mcp-server/blob/main/docs/images/framework.png"/>16</p>1718ROS-MCP-Server connects large language models (such as Claude, GPT, and Gemini) with existing robots giving them bidirectional AI integration.1920With no changes to existing robot source code, this enables:21- π£ **Commanding the robot in natural language** β instructions are translated into ROS/ROS2 commands.22- π **Giving AI full visibility** β subscribe to topics, call services, read sensor data, and monitor robot state in real time.232425### β Key Benefits2627- **No robot code changes** β only requires adding the `rosbridge` node.28- **True two-way communication** β LLMs can both *control* robots and *observe* everything happening in ROS (sensors, topics, parameters).29- **ROS1 & ROS2 support** β works with both versions out of the box.30- **MCP-compatible** β integrates with any MCP-enabled LLM (Claude Desktop, Gemini, ChatGPT, and beyond).3132## π₯ Examples in Action3334π₯οΈ **Example - Controlling the MOCA mobile manipulator in NVIDIA Isaac Sim**35Commands are entered into Claude Desktop, which uses the MCP server to directly drive the simulated robot.3637<p align="center">38 <img src="https://github.com/robotmcp/ros-mcp-server/blob/main/docs/images/result.gif" />39</p>4041---42π **Example - Controlling Unitree Go with natural language** ([video](https://youtu.be/RW9_FgfxWzs?si=8bdhpHNYaupzi9q3))43The MCP server enables the Claude to interpret images from the robot's cameras, and then command the robot based on human natural language commands.4445<p align="left">46 <img src="https://contoro.com/asset/media/demo_go2.gif" />47</p>4849---50π **Example - Debugging an industrial robot** ([Video](https://youtu.be/SrHzC5InJDA))51- Connecting to an industrial robot enables the LLM to browse all ROS topics and services to assess the robot state.52- With no predefined context, the MCP server enables the LLM to query details about custom topic and service types and their syntax (00:28).53- Using only natural language, the operator calls the custom services to test and debug the robot(01:42).5455<p align="center">56 <a href="https://contoroinc.sharepoint.com/:v:/s/SandboxNewBusiness/EVh2t2_YG9BEl-Bw-8k6xucBcEv7XebJv1MtqLTIfrQpig?e=deu3YO">57 <img src="https://github.com/robotmcp/ros-mcp-server/blob/main/docs/images/Contoro_robot.png" width="400" alt="Testing and debugging an industrial robot" />58 </a>59</p>6061---6263## βοΈ Features of the ROS MCP Server6465- **List topics, services, and message types** β explore everything available in your robotβs ROS environment.66- **View type definitions (incl. custom)** β understand the structure of any message.67- **Publish/subscribe to topics** β send commands or stream robot data in real time.68- **Call services (incl. custom)** β trigger robot functions directly.69- **Get/set parameters** β read or adjust robot settings on the fly.70- π **Action support** β upcoming support for ROS Actions.71- π **Permission controls** β manage access for safer deployments.7273---7475## π Getting Started7677The MCP server is version-agnostic (ROS1 or ROS2) and works with any MCP-compatible LLM.7879<p align="center">80 <img src="https://github.com/robotmcp/ros-mcp-server/blob/main/docs/images/MCP_topology.png"/>81</p>8283### Installation8485Follow the [installation guide](docs/installation.md) for step-by-step instructions to install, run, and troubleshoot the ROS-MCP server.8687For developers, we also have instructions for [installation from source](docs/installation-from-source.md).8889If 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.9091---9293## π More Examples & Tutorials9495Browse our [examples](examples) to see the server in action.96We welcome community PRs with new examples and integrations!9798---99100## π€ Contributing101102We love contributions of all kinds:103- Bug fixes and documentation updates104- New features (e.g., Action support, permissions)105- Additional examples and tutorials106107Check out the [contributing guidelines](docs/contributing.md) and see issues tagged **good first issue** to get started.108109---110111## π License112113This project is licensed under the [Apache License 2.0](LICENSE).114
Full transparency β inspect the skill content before installing.