- Explore MCP Servers
- ros-mcp-server
Ros Mcp Server
What is Ros Mcp Server
The ROS MCP Server is a tool designed to facilitate the control of robotic movement by providing functions for precise manipulation of linear and angular velocities, enabling complex maneuvers and efficient navigation in various environments.
Use cases
Use cases include controlling robotic arms for manufacturing, navigating autonomous vehicles, and programming drones for complex flight paths.
How to use
To use the ROS MCP Server, you can install it via Smithery or locally. For Smithery installation, run ‘npx -y @smithery/cli install @lpigeon/ros-mcp-server --client claude’. For local installation, set up ‘uv’ and configure the MCP settings in ‘mcp.json’. Use functions like ‘pub_twist’ to send movement commands to the robot.
Key features
Key features include the ability to send movement commands with ‘pub_twist’, which sets linear and angular velocities, and ‘pub_twist_seq’, which allows for a sequence of movement commands for multi-step motion control.
Where to use
The ROS MCP Server can be used in various fields including robotics, automation, and any application requiring precise control of robotic movements in dynamic environments.
Clients Supporting MCP
The following are the main client software that supports the Model Context Protocol. Click the link to visit the official website for more information.
Overview
What is Ros Mcp Server
The ROS MCP Server is a tool designed to facilitate the control of robotic movement by providing functions for precise manipulation of linear and angular velocities, enabling complex maneuvers and efficient navigation in various environments.
Use cases
Use cases include controlling robotic arms for manufacturing, navigating autonomous vehicles, and programming drones for complex flight paths.
How to use
To use the ROS MCP Server, you can install it via Smithery or locally. For Smithery installation, run ‘npx -y @smithery/cli install @lpigeon/ros-mcp-server --client claude’. For local installation, set up ‘uv’ and configure the MCP settings in ‘mcp.json’. Use functions like ‘pub_twist’ to send movement commands to the robot.
Key features
Key features include the ability to send movement commands with ‘pub_twist’, which sets linear and angular velocities, and ‘pub_twist_seq’, which allows for a sequence of movement commands for multi-step motion control.
Where to use
The ROS MCP Server can be used in various fields including robotics, automation, and any application requiring precise control of robotic movements in dynamic environments.
Clients Supporting MCP
The following are the main client software that supports the Model Context Protocol. Click the link to visit the official website for more information.
Content
Overview

The ROS MCP Server is designed to support robots in performing complex tasks and adapting effectively to various environments by providing a set of functions that transform natural language commands, entered by a user through an LLM, into ROS commands for robot control. Furthermore, by utilizing rosbridge
, it is configured to operate with both ROS
and ROS2
systems, and its WebSocket-based communication enables broad applicability across diverse platforms.
Research based on this project can be found in the video linked below.
Supported Types
- geometry_msgs/Twist
- sensor_msgs/Image
- sensor_msgs/JointState
Features
- WebSocket-based universal compatibility: Communicates with both ROS and ROS2 systems using rosbridge, enabling seamless integration regardless of ROS version.
- Cross-platform support: Works on Linux, Windows, and MacOS, making it suitable for diverse development and deployment environments.
- Easy integration with LLMs and AI systems: Natural language commands can be directly translated into robot actions via MCP functions.
- Extensible function set: Easily add new robot control or sensor functions by extending the MCP tool interface.
- No ROS node modification required: Interacts with existing ROS/ROS2 topics and services without changing your robot’s core code.
- Native ROS/ROS2 command compatibility: Optionally supports using local ROS/ROS2 libraries, so you can run native ROS commands and tools alongside WebSocket-based control.
Contributing
Contributions are welcome!
Whether you’re fixing a typo, adding a new function, or suggesting improvements, your help is appreciated.
Please follow the contributing guidelines for more details on how to contribute to this project.
Installation
Installing via Smithery
To install ros-mcp-server
for Claude Desktop automatically via Smithery:
npx -y @smithery/cli install @lpigeon/ros-mcp-server --client claude
Installing Locally
uv
Installation
- To install
uv
, you can use the following command:
curl -LsSf https://astral.sh/uv/install.sh | sh
or
pip install uv
- Create virtual environment and activate it (Optional)
uv venv
source .venv/bin/activate
MCP Server Configuration
Set MCP setting to mcp.json.
{
"mcpServers": {
"ros-mcp-server": {
"command": "uv",
"args": [
"--directory",
"/ABSOLUTE/PATH/TO/PARENT/FOLDER/ros-mcp-server",,
"run",
"server.py"
]
}
}
}
If you use Claude Desktop, you can find mcp.json using the following command:
- MacOS
code ~/Library/Application\ Support/Claude/claude_desktop_config.json
- Linux(Ubuntu)
You can install Claude Desktop to use claude-desktop-debian.
code ~/.config/Claude/claude_desktop_config.json
- Windows
code $env:AppData\Claude\claude_desktop_config.json
MCP Functions
You can find the list of functions in the MCPFUNCTIONS.md.
How To Use
1. Set IP and Port to connect rosbridge.
- Open
server.py
and change yourLOCAL_IP
,ROSBRIDGE_IP
andROSBRIDGE_PORT
. (ROSBRIDGE_PORT
’s default value is9090
)
2. Run rosbridge server.
ROS 1
roslaunch rosbridge_server rosbridge_websocket.launch
ROS 2
ros2 launch rosbridge_server rosbridge_websocket_launch.xml
3. Run any AI system that has imported ros-mcp-server
.
4. Type “Make the robot move forward.”.

5. Check rosbridge_server
and ros topic
.
rosbridge_server

ros topic

Simulation Test
MCP-based control using the MOCA mobile manipulator within the NVIDIA Isaac Sim simulation environment.

Dev Tools Supporting MCP
The following are the main code editors that support the Model Context Protocol. Click the link to visit the official website for more information.