PluginBench
MCP Server
Active
Apache-2.0

io.github.robotmcp/ros-mcp-server MCP Server

io.github.robotmcp/ros-mcp-server

Connect AI models to ROS robots for bidirectional control and observation without changing robot code.

What is the io.github.robotmcp/ros-mcp-server MCP server?

The ROS MCP Server connects large language models like Claude, GPT, and Gemini to ROS and ROS 2 robots via the Model Context Protocol, enabling AI agents to control robots and observe their state in real time. It requires only a rosbridge node addition to existing robot setups and supports full ROS communication including topics, services, actions, and parameters.

ROS MCP Server bridges AI language models with ROS robots, allowing natural language commands to control robotic systems while maintaining full observability of robot state. It works across ROS versions, integrates with any MCP-compatible client (Claude, Cursor, ChatGPT, Gemini), and requires no modifications to existing robot source code—just add the rosbridge node.

How to install io.github.robotmcp/ros-mcp-server

Copy-paste configuration for popular MCP clients.

transport: stdio
Config generated by PluginBench — verify against the source before use.
~/Library/Application Support/Claude/claude_desktop_config.json
{
  "mcpServers": {
    "ros-mcp-server": {
      "command": "uvx",
      "args": [
        "ros-mcp"
      ]
    }
  }
}

Tools & capabilities

Tools this server exposes to the agent.

  • Topic Publish & Subscribe — Publish to and subscribe from ROS topics to send commands and receive sensor data
  • Service Calls — Call ROS services to trigger robot actions and retrieve information
  • Action Execution — Execute ROS actions for long-running robot tasks
  • Parameter Management — Read and set ROS parameters to configure robot behavior
  • Type Discovery — Automatically discover available topics, services, actions, and their message types including custom types

Use cases

  • Control mobile manipulators with natural language commands (e.g., 'grab a Coke from the fridge and go to the living room')
  • Diagnose and debug industrial robots by analyzing sensor data and running tests autonomously
  • Monitor and command quadruped robots in simulation or physical environments
  • Integrate AI-powered decision-making into existing ROS-based robotic systems
  • Enable technicians to troubleshoot robots using AI analysis of logs and sensor readings

io.github.robotmcp/ros-mcp-server MCP server FAQ

What is the ROS MCP Server?

It's a bridge that connects AI language models (Claude, GPT, Gemini) to ROS and ROS 2 robots via the Model Context Protocol, enabling bidirectional communication for control and observation without modifying existing robot code.

Is it free?

Yes, the ROS MCP Server is open-source and licensed under Apache License 2.0.

How do I install it?

Install via pip: `pip install ros-mcp`. Then follow the installation guide at docs/install/installation.md to configure it with your ROS setup and MCP client (Claude Desktop, Cursor, ChatGPT, etc.).

What ROS versions does it support?

It works with ROS 2 (Jazzy, Humble, and others) and ROS 1 distros, requiring Python 3.10+ and pip 23.0+.

Do I need to modify my robot's source code?

No. You only need to add the rosbridge node to your existing ROS setup; no changes to robot code are required.

Which AI models and clients can use this server?

It works with Claude, ChatGPT, Google Gemini, and any MCP-compatible client including Claude Desktop, Cursor, Claude Code, and Codex CLI.

README (reference)

Source of truth, from the repository.

ROS MCP Server 🧠⇄🤖

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

<!-- mcp-name: io.github.robotmcp/ros-mcp-server --> <p align="center"> <img src="https://github.com/robotmcp/ros-mcp-server/blob/main/docs/images/framework.png"/> </p>

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

<p align="center"> <a href="https://youtu.be/Yy1loJAn9sA"> <img src="https://github.com/robotmcp/ros-mcp-server/blob/main/docs/images/MCP%20Demos%20Slide%20-%207to12s.gif" alt="ROS MCP demos" /> </a> </p>

🏭 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.
<p align="center"> <a href="https://youtu.be/EhZNFULz9P4"> <img src="https://github.com/robotmcp/ros-mcp-server/blob/main/docs/images/ROS%20MCP%20Gripper%20vacuum%20test.jpg" width="400" alt="Testing and debugging an industrial robot" /> </a> </p>

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

<p align="center"> <a href="https://www.traceglarue.com/wilson"> <img src="https://github.com/robotmcp/ros-mcp-server/blob/main/docs/images/Wilson%20thumbnail.jpg" width="400" alt="Wilson robot controlled with natural language" /> </a> </p>

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

<p align="center"> <a href="https://www.youtube.com/watch?v=9StFx4lnvmc"> <img src="https://img.youtube.com/vi/9StFx4lnvmc/maxresdefault.jpg" width="400" alt="Controlling Unitree Go2 in NVIDIA Isaac Sim" /> </a> </p>

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

<p align="center"> <img src="https://github.com/robotmcp/ros-mcp-server/blob/main/docs/images/MCP_topology.png"/> </p>

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

Related MCP servers

Passive OSINT recon for domains and IPs: whois, DNS, CT logs, email security, TLS, ASN, Shodan

View repository →
STStoryblocks logo

Unofficial Storyblocks API v2 server: search and license stock video, audio, and images.

0
JavaScript
MIT
View repository →
1717-0 MCP logo

17-0 MCP

Active

Free 17-0 game. Spin all-time NFL teams, draft 7 legends, simulate a 17-game regular season

0
JavaScript
MIT
View repository →
2020-0 MCP logo

20-0 MCP

Maintained

20-0 is a browser-based NFL roster builder where players spin all-time team-era combinations, draft

0
JavaScript
MIT
View repository →
2727-0 MCP logo

27-0 MCP

Active

Play 27-0 free in your browser. Spin all-time NRL clubs and eras, draft 13 rugby league legends

0
JavaScript
MIT
View repository →
707-0 MCP logo

7-0 MCP

Maintained

7-0 is a free, no-signup browser game where players build a World Cup squad, survive seven knockout

0
JavaScript
MIT
View repository →