MCPHub LabRegistryros-mcp-server
robotmcp

ros mcp server

Built by robotmcp • 1,118 stars

What is ros mcp server?

A high-performance MCP server implementation for ros-mcp-server that bridges the gap between the Model Context Protocol and external services. It allows Large Language Models to interact with your data and tools with low latency and native support.

How to use ros mcp server?

1. Ensure you have an MCP-compatible client (like Claude Desktop) installed. 2. Configure your server with: npx @modelcontextprotocol/ros-mcp-server 3. Restart your client and verify the new tools are available in the system catalog.
šŸ›”ļø Scoped (Restricted)
npx @modelcontextprotocol/ros-mcp-server --scope restricted
šŸ”“ Unrestricted Access
npx @modelcontextprotocol/ros-mcp-server

Key Features

Native MCP Protocol Support
High-performance Data Streaming
Type-safe Tool Definitions
Seamless Environment Integration

Optimized Use Cases

Connecting external databases to AI workflows
Automating workflow tasks via natural language
Augmenting developer productivity with specialized tools

ros mcp server FAQ

Q

What is an MCP server?

MCP is an open standard that enables developers to build secure, two-way integrations between AI models and local or remote data sources.

Q

Is this server ready for production?

Yes, this server follows standard MCP security patterns and tool-restricted access.

Official Documentation

View on GitHub

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.

Global Ranking

6.9
Trust ScoreMCPHub Index

Based on codebase health & activity.

Manual Config

{ "mcpServers": { "ros-mcp-server": { "command": "npx", "args": ["ros-mcp-server"] } } }