trackmcp
Back to directory
lpigeon

ros-mcp-server

View on GitHub

Connect AI models like Claude & GPT with robots using MCP and ROS. Python-based implementation. Trusted by 800+ developers.

803 stars PythonAI & Machine Learning Updated Nov 4, 2025
mcpmcp-servermodelcontextprotocolrosros-mcp-serverros2ros2-mcp-server

Documentation

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


๐Ÿญ 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 ros-mcp-server?

ros-mcp-server is Connect AI models like Claude & GPT with robots using MCP and ROS. Python-based implementation. Trusted by 800+ developers.

How do I install ros-mcp-server?

Open the GitHub repository and follow its README. Most MCP servers are added to your client's MCP config, then called by your agent.

Is ros-mcp-server open source?

Yes โ€” it is hosted on GitHub at https://github.com/lpigeon/ros-mcp-server and has 803 stars.

Related MCP tools

Run your own MCP server? See who uses it and what to fix.

Measure it with TrackMCP