Skip to main content
Glama

ROS MCP Server

MIT License
80
  • Apple
  • Linux

Overview

Static Badge Static 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
  • 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.

"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

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

remote-capable server

The server can be hosted and run remotely because it primarily relies on remote services or has no dependency on the local environment.

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. Supported Types
    1. Features
      1. Contributing
        1. Installation
          1. Installing via Smithery
          2. Installing Locally
          3. uv Installation
          4. MCP Server Configuration
        2. MCP Functions
          1. How To Use
            1. Set IP and Port to connect rosbridge.
            2. Run rosbridge server.
            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.
          2. Simulation Test

            Related MCP Servers

            • A
              security
              F
              license
              A
              quality
              Enables users to control the cursor in Figma through verbal commands using an agentic AI agent, streamlining the design process with a new interaction method.
              Last updated -
              19
              5,185
              1
              JavaScript
            • -
              security
              F
              license
              -
              quality
              A Python-based server that enables AI assistants to control robots by integrating the Model Context Protocol (MCP) with ROS 2, allowing for natural language commands that translate into robot movement via the /cmd\_vel topic.
              Last updated -
              42
              Python
            • A
              security
              A
              license
              A
              quality
              A server built on the Model Context Protocol that enables controlling the Unitree Go2 robot using natural language commands, which are translated into ROS2 instructions for the robot to perform corresponding actions.
              Last updated -
              12
              6
              Python
              Apache 2.0
              • Linux
            • -
              security
              F
              license
              -
              quality
              A Python server that enables remote control of Bittle robots via Bluetooth using the Model Context Protocol (MCP), allowing users to programmatically send movement and pose commands.
              Last updated -
              Python

            View all related MCP servers

            MCP directory API

            We provide all the information about MCP servers via our MCP API.

            curl -X GET 'https://glama.ai/api/mcp/v1/servers/lpigeon/ros-mcp-server'

            If you have feedback or need assistance with the MCP directory API, please join our Discord server