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.aiwith no port forwarding - OAuth 2.1 authentication — optional, with PKCE and creator-only access control
- Streamable HTTP transport — modern
/mcpendpoint, 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:
| Capability | What the LLM can do |
|---|---|
| Topics | Publish commands, subscribe to sensor streams, list all available topics |
| Services | Call any ROS service, including custom service types |
| Parameters | Read and write ROS parameters on the fly |
| Nodes | List and inspect running ROS nodes |
| Images | Capture and analyze camera feeds from the robot |
| Type definitions | Query 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