io.github.robotmcp/ros-mcp-server
Connect AI models like Claude & ChatGPT with ROS robots using MCP
Install
Add this to your client's MCP configuration (Claude Desktop: claude_desktop_config.json; Cursor: .cursor/mcp.json; VS Code and others use the same "mcpServers" shape).
ros-mcpclaude mcp add ros-mcp-server -- uvx ros-mcp==3.1.2
{
"mcpServers": {
"ros-mcp-server": {
"command": "uvx",
"args": [
"ros-mcp==3.1.2"
]
}
}
}
Documentation
From the project's README on GitHub, refreshed weekly. Links open on GitHub.
Contents
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 - AI Agent diagnosis of Industrial Robot End Effector (Video)
- 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.
🤖 Example - Controlling "Wilson" with natural language (video)
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.
🐕 Example - Controlling Unitree Go2 in NVIDIA Isaac Sim (video)
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.
🛠 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.
Frequently asked questions
What is io.github.robotmcp/ros-mcp-server?
Connect AI models like Claude & ChatGPT with ROS robots using MCP
How do I install io.github.robotmcp/ros-mcp-server?
It runs on your machine. In Claude Code: claude mcp add ros-mcp-server -- uvx ros-mcp==3.1.2. For other clients, paste the JSON configuration from this page into their MCP settings.
Does io.github.robotmcp/ros-mcp-server need an API key?
Its registry entry lists no required key or secret. Some features may still need an account with the service it connects to.
Is io.github.robotmcp/ros-mcp-server open source?
Yes. Its code is on GitHub under the Apache-2.0 license.
Who maintains io.github.robotmcp/ros-mcp-server?
It is published by robotmcp. AI.tn lists it but does not maintain or endorse it.
From the official MCP Registry. Listing is not an endorsement: review a server's code and permissions before giving it access to your data.