Skip to main content

What is RobotMCP?

RobotMCP is an open ecosystem that connects large language models — Claude, ChatGPT, Gemini, and others — with robots through the Model Context Protocol (MCP). It gives AI full, bidirectional access to any ROS or ROS2 robot: the ability to observe sensor data, monitor topics, call services, and send commands, all through natural language.

No changes to your existing robot code are required. Just add a rosbridge node, and your robot is AI-ready.

The Problem​

Integrating AI with robots today typically means writing custom glue code for every robot, every LLM, and every use case. You end up maintaining brittle pipelines that break when either the AI provider or the robot stack changes. Teams spend more time on integration plumbing than on building actual robot intelligence.

The Solution​

RobotMCP uses the Model Context Protocol as a universal interface between LLMs and robots. MCP is an open standard that defines how AI models discover and use external tools — and RobotMCP implements this standard for the entire ROS ecosystem.

The result: any MCP-compatible LLM can control any ROS robot, out of the box.

┌─────────────────────┐
│ LLM Client │
│ (Claude, ChatGPT, │
│ Gemini, etc.) │
└────────┬────────────┘
│ MCP Protocol
▼
┌─────────────────────┐
│ RobotMCP Server │
│ (runs on your │
│ machine / robot) │
└────────┬────────────┘
│ Submodule integration
▼
┌─────────────────────┐
│ ROS-MCP Module │
│ (ROS tools: │
│ topics, services, │
│ parameters, etc.) │
└────────┬────────────┘
│ WebSocket (rosbridge)
▼
┌─────────────────────┐
│ ROS / ROS2 │
│ (your robot) │
└─────────────────────┘

Key Components​

RobotMCP Server​

The core framework. It runs locally on your machine or directly on the robot and exposes an MCP endpoint that any LLM client can connect to. Key capabilities:

  • Modular architecture — tools are added as plug-in submodules that are auto-discovered at startup
  • Cloudflare tunnel — securely expose your local server as {your-robot}.robotmcp.ai with no port forwarding
  • OAuth 2.1 authentication — optional, with PKCE and creator-only access control
  • Streamable HTTP transport — modern /mcp endpoint, plus legacy SSE for backward compatibility
  • CLI management — start, stop, verify, and manage modules from the command line

ROS-MCP Module​

The ROS integration module (GitHub). It translates MCP tool calls into ROS operations, giving LLMs deep access to the robot:

CapabilityWhat the LLM can do
TopicsPublish commands, subscribe to sensor streams, list all available topics
ServicesCall any ROS service, including custom service types
ParametersRead and write ROS parameters on the fly
NodesList and inspect running ROS nodes
ImagesCapture and analyze camera feeds from the robot
Type definitionsQuery the structure of any ROS message type, including custom ones

Works with both ROS1 and ROS2. Connects to your robot via rosbridge (WebSocket on port 9090 by default).

RobotMCP Cloud​

A lightweight cloud service at app.robotmcp.ai that handles initial setup — user authentication, tunnel creation, and DNS management. Once your server is running, all MCP traffic flows directly between the LLM client and your local server through the Cloudflare tunnel. The cloud service is not in the data path.

What This Looks Like in Practice​

Commanding a robot in natural language:

"Move forward 1 meter, then rotate 90 degrees to the left."

The LLM translates this into the appropriate ROS topic publications or service calls — no manual coding required.

Debugging a robot remotely:

"What topics are currently active? Show me the last IMU reading and the current joint states."

The LLM subscribes to topics, reads parameters, and presents the data back in a human-readable format.

Analyzing sensor data in real time:

"Watch the LIDAR scan topic and tell me if there are any obstacles within 1 meter."

The LLM can subscribe to data streams and reason about the information it receives.

Why MCP?​

The Model Context Protocol is an open standard created by Anthropic that defines how AI models interact with external tools and data sources. By building on MCP rather than a proprietary integration:

  • Any MCP-compatible client works — Claude Desktop, ChatGPT, Gemini, custom applications, and future clients you haven't heard of yet
  • Tools are self-describing — the LLM automatically discovers what your robot can do, with no hardcoded prompts
  • The ecosystem grows with you — add new MCP modules for new capabilities without changing your server or client

Supported Robots and Platforms​

RobotMCP works with any robot that runs ROS or ROS2 and has rosbridge available. This includes:

  • Mobile robots (TurtleBot, Unitree Go, Clearpath platforms)
  • Robot arms (UR, Franka, Kinova, custom manipulators)
  • Simulation environments (Gazebo, NVIDIA Isaac Sim, MuJoCo)
  • Custom robots with standard ROS interfaces

Next Steps​

  • Getting Started — Install RobotMCP and connect your first robot
  • Architecture — Deeper dive into how the components fit together, including modules
  • Examples — See RobotMCP controlling real robots