ROS MCP Server

by lpigeon
MIT License
22

Integrations

  • Supports control of simulated robots in the NVIDIA Isaac Sim environment, demonstrated with the MOCA mobile manipulator

  • Enables robot movement control by sending linear and angular velocity commands to ROS-enabled robots through the rosbridge WebSocket interface

Overview

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 your LOCAL_IP, ROSBRIDGE_IP and ROSBRIDGE_PORT. (ROSBRIDGE_PORT's default value is 9090)

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.

You must be authenticated.

A
security – no known vulnerabilities
A
license - permissive license
A
quality - confirmed to work

Facilitates robotic movement control by providing functions that enable precise manipulation of linear and angular velocities through natural language commands, compatible with both ROS and ROS2.

  1. Installation
    1. Installing via Smithery
    2. Installing Locally
    3. uv Installation
    4. MCP Server Configuration
  2. MCP Functions
    1. pub_twist
    2. pub_twist_seq
  3. How To Use
    1. 1. Set IP and Port to connect rosbridge.
    2. 2. Run rosbridge server.
    3. 3. Run any AI system that has imported ros-mcp-server.
    4. 4. Type "Make the robot move forward.".
    5. 5. Check rosbridge_server and ros topic.
  4. Simulation Test
    ID: 8797jpadki