Skip to main content

Add your description here

Project description

Overview

Static Badge Static Badge smithery badge Static Badge

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

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"
  ]
}

If you use Claude Desktop, you can find mcp.json using the following command:

  • MacOS/Linux
code ~/Library/Application\ Support/Claude/claude_desktop_config.json
  • Windows
code $env:AppData\Claude\claude_desktop_config.json

MCP Functions

get_topics

  • Purpose: Retrieves the list of available topics from the robot's ROS system.
  • Returns: List of topics (List[Any])

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])

sub_image

  • Purpose: Receive images from the robot's point of view or of the surrounding environment.
  • Parameters:
    • save_path: By default, the image is saved to the Downloads folder.

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.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

mseep_ros_mcp_server-0.1.0.tar.gz (3.9 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

mseep_ros_mcp_server-0.1.0-py3-none-any.whl (3.8 kB view details)

Uploaded Python 3

File details

Details for the file mseep_ros_mcp_server-0.1.0.tar.gz.

File metadata

  • Download URL: mseep_ros_mcp_server-0.1.0.tar.gz
  • Upload date:
  • Size: 3.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.11.12

File hashes

Hashes for mseep_ros_mcp_server-0.1.0.tar.gz
Algorithm Hash digest
SHA256 b224d64503bb8c4d230d776d45d8cd7948adae91a74d63bef5c695de56f0f708
MD5 7f7c3248f4a66ce625cad3e8403d8d14
BLAKE2b-256 c5ef5970ae7244b2b36e26ee0ba3f207ff8e72bab06ba505bc162a106f9b75f6

See more details on using hashes here.

File details

Details for the file mseep_ros_mcp_server-0.1.0-py3-none-any.whl.

File metadata

File hashes

Hashes for mseep_ros_mcp_server-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 51bcb7ecebf43749f33134ae3833110ae271682b3a4493f04395e0a64a45d73c
MD5 1d68b31075f6b17558c125527d10e6a8
BLAKE2b-256 91c63a8c562f5092d0d4f851aafdcc931df1da54165d6aec998cae87da9f4ce9

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page