Ros MCP Server logo

Ros MCP Server

by lpigeon

Connects MCP-compatible AI clients to ROS and ROS 2 robots for natural-language control, monitoring, and system interaction.

Install Ros MCP Server

Pick your client, then add it in one click or paste the config.

No confirmed install command yet

We only publish a config when the install details come from the project itself — its README, its docs, or a verified owner. We haven’t found those for lpigeon/ros-mcp-server, and we’d rather show nothing than a guess you’d paste into your client.

Open setup steps on GitHub

Overview

The lpigeon/ros-mcp-server MCP server connects MCP-compatible language-model clients with ROS and ROS 2 robots through rosbridge. It supports bidirectional interaction, including publishing and subscribing to topics, calling services and actions, changing parameters, and reading robot state or sensor data. The server helps an agent discover available interfaces and message types, including custom types, instead of requiring those details to be configured manually. Reach for it when an AI client needs to inspect or operate an existing ROS system without modifying the robot's source code.

Use cases

  • Control a ROS robot with natural-language commands
  • Inspect live sensor data and robot state
  • Discover custom ROS topics and interface types
  • Diagnose robot services and end-effectors
  • Test ROS 2 navigation or manipulation systems

Key features

  • ROS and ROS 2 support
  • Bidirectional robot communication
  • Topic publishing and subscription
  • Service and action calls
  • Parameter and state access
  • Custom interface discovery

Security & health

What it can reach and how reliably it runs — from our own checks, not the maintainer’s claims.

ActiveLast checked Today

Recent health check succeeded.

24/24 checks healthy over the last 75d

Adoption & maintenance

Factual signals from GitHub, npm, and our automated checks — not a rating.

GitHub stars1.5kStargazers on the source repository.
Last commitTodayMost recent push to the default branch.
Directory activity1 viewsConfig copies, upvotes, and views on AllMCPs.

How Ros MCP Server works

What lpigeon/ros-mcp-server MCP server does

The lpigeon/ros-mcp-server MCP server exposes ROS and ROS 2 robot interfaces to an MCP-compatible language-model client. It is intended for systems where an agent needs to both send commands and inspect the robot's current state.

The server is designed to work with existing robot applications. Adding a rosbridge node to the ROS setup is described as sufficient to connect the MCP layer, so the robot's source code does not need to be changed. Compatibility covers ROS 1 distributions and ROS 2 distributions, including Jazzy and Humble.

How it works

An MCP client sends natural-language requests to the server. The server exposes the robot's ROS interfaces so the model can identify available topics, services, actions, and their types before using them. The README specifically notes that this discovery includes custom interface types and the syntax needed to use them.

Communication is bidirectional. An agent can issue an operation such as publishing a command or calling a service, then observe resulting topics, sensor readings, or other state changes. The lpigeon/ros-mcp-server MCP server therefore fits both direct robot control and diagnostic workflows, provided the underlying ROS system exposes the required interfaces through rosbridge.

The repository describes examples involving ROS 2 navigation and manipulation, an industrial robot end effector, and a simulated Unitree Go2 in NVIDIA Isaac Sim. These examples demonstrate possible deployments rather than a fixed set of supported robot models.

Setup and configuration

Installation is covered by the repository's installation guide. The ROS environment must include a rosbridge node that connects the robot's existing ROS graph to the MCP server. The project advertises Python 3.10 or newer and pip 23.0 or newer, and it is marked as dev-container ready.

After the ROS-side bridge is available, configure an MCP-compatible client to launch or connect to the server according to the installation documentation.

Tools and capabilities

The lpigeon/ros-mcp-server MCP server provides capabilities for:

  • Publishing messages to ROS topics.
  • Subscribing to topics and observing incoming data.
  • Calling ROS services and actions.
  • Reading and changing ROS parameters.
  • Inspecting sensor data and robot state.
  • Discovering interface names, types, and custom message syntax.

Agents and developers should consult the repository's current documentation before building calls that depend on specific schemas.

Limitations and notes

The server does not replace the robot's ROS application or define a universal robot command vocabulary. What an agent can control depends on the topics, services, actions, parameters, and message types available in the connected ROS graph. Safe operation also depends on the robot, its ROS configuration, and the permissions or safeguards outside the information provided here.

ChatGPT does not have a matching client slug in this directory's supported-client list, so it is not represented in the metadata below. The project is licensed under Apache License 2.0.

Reviews

No reviews yet — be the first to share how it worked for you.

Frequently Asked Questions about Ros MCP Server

lpigeon/ros-mcp-server is an MCP server that connects language-model clients to ROS and ROS 2 robots through rosbridge. Its main tools expose topic publishing and subscription, service and action calls, parameter access, sensor and state reading, and discovery of standard or custom ROS interface types for robot control and diagnosis.

Install it by following the repository's installation guide and adding a rosbridge node to the existing ROS setup.

It supports ROS 1 distributions and ROS 2 distributions, including ROS 2 Jazzy and Humble.

Yes, Cursor is named as a supported MCP client. The README also names Claude Code, Codex CLI, Gemini CLI, Claude Desktop, and ChatGPT, and states that the server is intended to work with MCP-compatible clients.

Yes, the server guides the language model to discover available topics, services, actions, and their types, including custom types. This lets the model determine the required interface syntax without manual configuration described in the README.

Related MCP servers

Add a badge to your READMEShow it’s listed — live SVG, Markdown or HTML.

AllMCPs Directory Badge

Full Badge Customizer

Showcase your server listing on GitHub or your project documentation. Embed this dynamic SVG badge to highlight official listing status and live engagement.

Badge Style:
Live Dynamic SVG PreviewRos MCP Server AllMCPs Directory Badge
Markdown (GitHub README)
[![AllMCPs](https://allmcps.com/api/badge/lpigeon-ros-mcp-server?style=directory)](https://allmcps.com/mcp/lpigeon-ros-mcp-server)
HTML Embed
<a href="https://allmcps.com/mcp/lpigeon-ros-mcp-server"><img src="https://allmcps.com/api/badge/lpigeon-ros-mcp-server?style=directory" alt="Ros MCP Server on AllMCPs" /></a>