robotmcp/ros-mcp-server

Connect AI models like Claude & GPT with robots using MCP and ROS.

What it solves

It bridges the gap between Large Language Models (LLMs) and robots running the Robot Operating System (ROS), allowing users to control robots and monitor their state using natural language without needing to modify the robot's existing source code.

How it works

The project implements a server based on the Model Context Protocol (MCP). By adding a rosbridge node to a ROS setup, the server enables bidirectional communication. It allows LLMs to discover available topics, services, and actions—including custom ones—and interact with them using the correct syntax to read sensor data, set parameters, or execute commands.

Who it’s for

It is designed for robotics developers and researchers who want to integrate LLMs (like Claude, GPT, or Gemini) into their ROS 1 or ROS 2 workflows for autonomous control, diagnostics, or natural language interaction.

Highlights

  • No Code Changes: Integrates with existing robots via rosbridge without altering source code.
  • Bidirectional Communication: LLMs can both send control commands and observe real-time robot state.
  • ** uma Deep ROS Integration**: Automatically guides LLMs to discover topics, services, and actions to ensure correct syntax.
  • Broad Compatibility: Works across ROS 1 and ROS 2 (including Jazzy and Humble) and supports various MCP clients like Claude Desktop, Cursor, and ChatGPT.

Related

  • Project
  • Project
  • Project
  • Project
  • Project