ROS MCP Server
The ROS MCP Server translates natural language commands into ROS/ROS2 robot commands via WebSocket communication, enabling seamless interaction with robotic systems.
Publish Twist Messages: Control robot movement by publishing linear and angular velocity commands.
Sequential Commands: Execute a sequence of movements with specified durations.
Cross-Platform Compatibility: Operates on Linux, Windows, and MacOS.
AI Integration: Directly translates natural language inputs from LLMs/AI systems into robot actions.
Extensible Functionality: Easily add new control or sensor functions.
No Code Modifications: Works with existing ROS/ROS2 topics and services without changing robot code.
Message Support: Handles various message types including
geometry_msgs/Twist,sensor_msgs/Image, andsensor_msgs/JointState.Simulation Tested: Verified with MOCA mobile manipulator in NVIDIA Isaac Sim.
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@ROS MCP Servermove forward at 0.5 m/s and turn left slowly"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
ROS MCP Server 🧠⇄🤖
ROS-MCP-Server connects large language models (such as Claude, GPT, and Gemini) to robots, enabling bidirectional communication with no changes to existing robot source code.
Why ROS-MCP?
No robot source code changes → just add the
rosbridgenode to your existing ROS setup.True two-way communication → LLMs can both control robots and observe everything happening on the Robot.
Full context → publish & subscribe to topics, call services & actions, set parameters, read sensor data, and monitor robot state in real time.
Deep ROS understanding → guides the LLM to discover available topics, services, actions, and their types (including custom ones) — enabling it to use them with the right syntax without manual configuration.
Works with any MCP client → built on the open MCP standard, supporting Claude Code, Codex CLI, Gemini CLI, Claude Desktop, ChatGPT, Cursor, and more.
Works across ROS versions → compatible across ROS 2 (Jazzy, Humble, and others) and ROS 1 distros.
🎥 Examples in Action
🏭 Example - AI Agent diagnosis of Industrial Robot End Effector (Video)
The MCP server connects Claude to a production industrial robot, with only the technician manuals as reference.
Claude discovers the robot's custom topic and service types and their syntax on its own.
From a single prompt to test the gripper, it reads the manuals, runs its own tests, finds an anomaly, and reports the root cause.
🤖 Example - Controlling "Wilson" with natural language (video)
From a single prompt — "Grab a Coke from the fridge & go to the living room." — Google Gemini uses the MCP server to navigate and manipulate autonomously. Built on ROS 2 with Nav2 (SLAM) for mapping and navigation, and MoveIt to command the manipulator.
🐕 Example - Controlling Unitree Go2 in NVIDIA Isaac Sim (video)
The MCP server connects Claude to a simulated Unitree Go2 quadruped in NVIDIA Isaac Sim, interpreting natural language commands to navigate and control the robot.
Related MCP server: ROS MCP Server
🛠 Getting Started
Follow the installation guide to get started.
ROS-MCP works with Claude Code, Codex CLI, Gemini CLI, Claude Desktop, ChatGPT, Cursor, or any MCP-compatible client.
📚 More Examples & Tutorials
Browse our examples to see the server in action.
We welcome community PRs with new examples and integrations!
🤝 Contributing
We love contributions of all kinds:
Bug fixes and documentation updates
New features (e.g., Action support, permissions)
Additional examples and tutorials
Check out the contributing guidelines and see issues tagged good first issue to get started.
📜 License
This project is licensed under the Apache License 2.0.
Maintenance
Related MCP Servers
- Flicense-qualityFmaintenanceA Python-based server that enables AI assistants to control robots by integrating the Model Context Protocol (MCP) with ROS 2, allowing for natural language commands that translate into robot movement via the /cmd\_vel topic.Last updated84
- Alicense-qualityDmaintenanceEnables control of ROS/ROS2 robots through natural language commands by translating LLM instructions into ROS topics and services. Supports cross-platform WebSocket-based communication with existing robot systems without requiring code modifications.Last updatedMIT
- Alicense-qualityDmaintenanceEnables robot navigation control and monitoring through natural language. Provides tools for robot positioning, navigation to coordinates, device status monitoring, task management, and emergency controls.Last updatedMIT
- Flicense-qualityDmaintenanceEnables LLMs to control a two-track robot through movement commands, providing independent track control, high-level directional driving (forward, backward, left, right), and emergency stop functionality.Last updated
Related MCP Connectors
Operate your Linux servers from your LLM. Every action runs through an auditable allowlist.
A comprehensive Model Context Protocol (MCP) server that enables AI assistants to control Unreal E…
Connect AI assistants to GitHub - manage repos, issues, PRs, and workflows through natural language.
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/robotmcp/ros-mcp-server'
If you have feedback or need assistance with the MCP directory API, please join our Discord server