Overview
The ROS MCP Server is designed to facilitate the control of robotic movement by providing a set of functions that allow for precise manipulation of linear and angular velocities. This enables the robot to perform complex maneuvers and navigate through various environments efficiently.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.
"ros-mcp-server": {
"command": "uv",
"args": [
"--directory",
"/ABSOLUTE/PATH/TO/PARENT/FOLDER/ros-mcp-server",,
"run",
"server.py"
]
}
MCP Functions
pub_twist
- Purpose: Sends movement commands to the robot by setting linear and angular velocities.
- Parameters:
linear
: Linear velocity (List[Any])angular
: Angular velocity (List[Any])
pub_twist_seq
- Purpose: Sends a sequence of movement commands to the robot, allowing for multi-step motion control.
- Parameters:
linear
: List of linear velocities (List[Any])angular
: List of angular velocities (List[Any])duration
: List of durations for each step (List[Any])
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.