
ROS MCP
STDIOROS/ROS2 Model Context Protocol server for robot control via natural language commands
ROS/ROS2 Model Context Protocol server for robot control via natural language commands
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.
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.
To install ros-mcp-server
for Claude Desktop automatically via Smithery:
npx -y @smithery/cli install @lpigeon/ros-mcp-server --client claude
uv
Installationuv
, you can use the following command:curl -LsSf https://astral.sh/uv/install.sh | sh
or
pip install uv
uv venv source .venv/bin/activate
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:
code ~/Library/Application\ Support/Claude/claude_desktop_config.json
You can install Claude Desktop to use claude-desktop-debian.
code ~/.config/Claude/claude_desktop_config.json
code $env:AppData\Claude\claude_desktop_config.json
You can find the list of functions in the MCPFUNCTIONS.md.
server.py
and change your LOCAL_IP
, ROSBRIDGE_IP
and ROSBRIDGE_PORT
. (ROSBRIDGE_PORT
's default value is 9090
)ROS 1
roslaunch rosbridge_server rosbridge_websocket.launch
ROS 2
ros2 launch rosbridge_server rosbridge_websocket_launch.xml
ros-mcp-server
.rosbridge_server
and ros topic
.rosbridge_server
ros topic
MCP-based control using the MOCA mobile manipulator within the NVIDIA Isaac Sim simulation environment.