ROS MCP Server

An MCP server that connects an agent to a ROS robot through rosbridge: reading sensors and control without changing the robot's code

  • 1,523 ★ on the repository
  • Last commit
  • Apache-2.0
MCP server

Broad access

Why this level

  • Controls a real robot: publishes to topics, calls services and actions, sets parameters
  • A wrong command can cause unwanted movement of mechanisms
All reasons and checks

robotmcp/ros-mcp-server

Install

In your terminal, with SkillFoxx CLI

npx skillfoxx add mcp/ros-mcp-server

Detects the agents on your machine, shows the access level and pins the version.

Other ways to install

Access and checks

How we review

Broad accessThe tool can change data, run commands or handle secrets.

  • Controls a real robot: publishes to topics, calls services and actions, sets parameters
  • A wrong command can cause unwanted movement of mechanisms

This is third-party code. Review the repository files before installing.

What it does

The server gives the agent two-way access to a robot running ROS through a rosbridge node, without changing the robot's source code. The agent can publish and subscribe to topics, call services and actions, set parameters, read sensor data and monitor robot state in real time. It helps the model discover the available topics, services, actions and their types, including custom ones, so it can address them with the right syntax and no manual setup. It works with ROS 2, such as Jazzy and Humble, and ROS 1 distributions; the link runs over WebSocket, so the agent and the robot can sit on different machines in one network.

Who it is for. For robotics engineers and ROS developers who want to control a robot and inspect its state through an agent.

Good fit when

  • You want to control a ROS robot with natural-language commands
  • You want to read topics, sensors and robot state together with the agent
  • You need to call services or actions and set parameters without hand-written syntax
  • You want to diagnose a robot or debug behavior in simulation

Not a fit when

  • The robot machine has no ROS and cannot run rosbridge
  • The task is unrelated to ROS and robots

Example request

Connect to the robot on localhost through ros-mcp and show which topics and services are available

MCP

Transport
stdio, http
Authentication
not required

Limitations

The robot machine must have ROS installed and rosbridge running together with rosapi, or the introspection tools fail. Rosbridge is started through its launch file, not ros2 run, otherwise rosapi does not come up. Installing the server needs Python 3.10 or newer and pip 23.0 or newer. Controlling a real robot needs care: the agent can move mechanisms and change parameters. ROS 1 is declared end of life.

How to disable. Run claude mcp remove ros-mcp or delete the ros-mcp entry from the client's MCP configuration. If installed via pip, uninstall the ros-mcp package.

FAQ

Do I need to change the robot's code?

No. You just run a rosbridge node in the existing ROS setup, and the server connects to it over WebSocket.

Does it work with ROS 1?

Yes, the server supports ROS 2 and ROS 1 distributions, though ROS 1 is declared end of life.

Discussion

No questions or reviews yet.

A Node.js MCP server through which an agent controls Home Assistant devices and edits its automations

MCP serverBroad access574Repository stars

An MCP server for driving Windows: the agent opens apps, clicks and types, reads window and UI state, and works with files and PowerShell

MCP serverBroad access11.6KRepository stars

MCP server for Home Assistant: an agent reads device states, controls them and edits smart home dashboards

MCP serverBroad access352Repository stars

An MCP server for Home Assistant: the agent reads smart-home state and controls devices through your instance

MCP serverBroad access7.7KRepository stars

An MCP server for macOS: the agent moves the mouse, types, manages windows and captures the screen when an app has no API

MCP serverBroad access415Repository stars

A CLI that connects Claude Code or Codex to robots and simulators through ROS 2: the agent writes perception and control programs.

CLIBroad access62Repository stars

Comparison with similar tools

Cards that share the main search query, and how they differ.

ToolOfficialAuthenticationRepository starsMain difference
ROS MCP Server (this card)nonot required1,523
Bagel: questions to robot and drone datayesnot required407an MCP server that answers plain-language questions about robot
openreality-mcpyeskey is optional656an MCP server that turns phone video into a 3D scene and lets an
Robotics Agent Skillsno401ten robotics skills

README in short

The README describes a server that connects large language models to robots through MCP and ROS without changing the robot's code. It claims two-way communication: publishing and subscribing to topics, calling services and actions, working with parameters, and reading sensors and state. The server helps the model discover topics, services and their types, including custom ones, and works with ROS 2 and ROS 1. It shows examples with an industrial robot, the Wilson mobile robot and a Unitree Go2 quadruped in NVIDIA Isaac Sim. Setup goes through uvx or pip, with rosbridge and rosapi on the robot. Apache 2.0 licensed.

README badge

Report a problem