About lpigeon/ros-mcp-server
lpigeon/ros-mcp-server is an MCP server in the Science category: issued natural language commands into ROS or ROS2 control commands.
Install
git clone https://github.com/lpigeon/ros-mcp-serverThis server has no ConduID identity, so agent calls to it are not receipted. Pin the version you install and review the source before granting it credentials.
Ask AI
Ask AI about lpigeon/ros-mcp-server
Powered by Claude · Grounded in docs
Security checks
- ✓README presentThe repository ships documentation.
5 checks have not been run yet.
README
ROS MCP Server 🧠⇄🤖
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
rosbridgenode 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, 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
🖥️ Example - Controlling the MOCA mobile manipulator in NVIDIA Isaac Sim
Commands are entered into Claude Desktop, which uses the MCP server to control the simulated robot.
🐕 Example - Controlling Unitree Go2 with natural language (video)
The MCP server enables 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)
- 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).
🛠 Getting Started
Follow the installation guide to get started.
ROS-MCP works with Claude Code, Codex CLI, Gemini CLI, Claude Desktop, ChatGPT, Cursor, or any MCP-compatible client.
📚 More Examples & Tutorials
Browse our 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 and see issues tagged good first issue to get started.
📜 License
This project is licensed under the Apache License 2.0.
README copy captured when this server was indexed; it may lag the repository. The original is authoritative.