Connect AI models like Claude & ChatGPT with ROS robots using MCP
Runs on your machine from its package; the steps are below.

At most: moves money, runs code or commands, deletes data, or sends messages for you.
Odel charges nothing per call. The publisher may charge for its own service.
Runs locally over stdio
This server isn't hosted — your MCP client launches it from a package registry. Use one of the commands below, or drop the config into your client (e.g. Claude Desktop).
Run
uvx ros-mcp
MCP client config
{
"mcpServers": {
"ros": {
"command": "uvx",
"args": [
"ros-mcp"
]
}
}
}
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.
rosbridge node to your existing ROS setup.🏭 Example - AI Agent diagnosis of Industrial Robot End Effector (Video)
🤖 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.
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.
Browse our examples to see the server in action.
We welcome community PRs with new examples and integrations!
We love contributions of all kinds:
Check out the contributing guidelines and see issues tagged good first issue to get started.
This project is licensed under the Apache License 2.0.