ros-mcp-server

MCP.Pizza Chef: robotmcp

Robots built on ROS or ROS 2 can be driven and watched by Claude, ChatGPT, or Gemini without changing a line of the robot's own code — you add one bridging node to the setup you already have. The assistant can send movement commands, call the robot's services, read sensor values, and check its state as it goes, and it works out what a given robot offers on its own. Demonstrations include a quadruped in simulation and a factory arm being diagnosed.

Data
Other

Use This MCP server To

Tell a robot where to go in plain English Read live sensor values while the robot is running Ask what a robot can do before I command it Diagnose a robot that is behaving oddly Test a robot arm or gripper from a single instruction Try commands on a simulated robot before the real one

README

ROS MCP Server 🧠⇄🤖

Static Badge Static Badge Static Badge Python pip Dev Container GitHub Repo stars GitHub last commit

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 rosbridge node 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

ROS MCP demos


🏭 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.

Testing and debugging an industrial robot


🤖 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.

Wilson robot controlled with natural language


🐕 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.

Controlling Unitree Go2 in NVIDIA Isaac Sim


🛠 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.

ros-mcp-server FAQ

Do I have to change my robot's code?
No. You add a rosbridge node to your existing setup and leave the robot's own code alone.
Which robot systems work?
ROS 1 and ROS 2, including the Jazzy and Humble releases.
Which assistants can drive it?
Claude Desktop, Claude Code, ChatGPT, Cursor, Codex CLI, Gemini CLI, and any other MCP client.
Do I need a paid key?
The server itself does not list one. You still need whichever assistant you plan to drive it with.
Can I use this to control a robot just by talking to it?
Yes — the project's demos include telling a robot to fetch a drink from the fridge and walk to another room.
Can the assistant see what the robot sees?
Yes, it can read sensor data and monitor the robot's state in real time, not just send commands.