YR

yutarop/ros-mcp

Developer tools

Эта страница переведена автоматически. Технические детали смотрите в оригинале. Открыть оригинал

36 stars 6 forks Качество 60 Тренд 12MIT

MCP-сервер для управления роботами через темы, сервисы и действия.

Обзор

mCP-сервер, предназначенный для управления роботами в средах ROS с использованием естественного языка. Он поддерживает связь через темы, службы и действия ROS и работает с любым типом сообщений ROS. [[Т0]] Откройте беседку с TurtleBot3 и опубликуйте тему для ее перемещения. Покажите мне список услуг и позвоните, чтобы перезагрузить мир в Газебо. Покажите мне список действий и позвоните, чтобы переместить TurtleBot3 вперед на 1 м. - (socket server.py): Легкий сервер, работающий на localhost:8765 для обработки операций, связанных с графическим интерфейсом. Он получает инструкции от сервера MCP для запуска таких инструментов, как Gazebo или rqt graph на локальном дисплее. (ros-General.py): сервер на базе Python, который реализует MCP. Он обрабатывает ввод естественного языка, отображает его на команды ROS и связывается с сервером сокетов.

Обзор (машинный перевод)

ROS MCP

ROS MCP — MCP-сервер, предназначенный для управления роботами в средах ROS с использованием естественного языка. Он поддерживает связь через темы, службы и действия ROS и работает с любым типом сообщений ROS.

Демо

Тест, чтобы увидеть, можно ли использовать темы, услуги и действия.

[[Т0]]

#####Быстрое использование (Topic) Откройте беседку с TurtleBot3 и опубликуйте тему для ее перемещения.

#####Быстрое использование (Сервис) Покажите мне список услуг и позвоните, чтобы перезагрузить мир в Газебо.

#####Быстрое использование (Действие) Покажите мне список действий и позвоните, чтобы переместить TurtleBot3 вперед на 1 м.

Компоненты

Socket Server ([T1]): Легкий сервер, работающий на localhost:8765 для обработки операций, связанных с графическим интерфейсом. Он получает инструкции от сервера MCP для запуска таких инструментов, как Gazebo или rqt_graph на локальном дисплее.

MCP Server ([T4]]: сервер на базе Python, реализующий MCP. Он обрабатывает ввод естественного языка, отображает его на команды ROS и связывается с сервером сокетов.

Эта страница переведена автоматически. Технические детали смотрите в оригинале.

README

Показан фрагмент оригинального README. Открыть оригинал.

ROS MCP

ROS MCP is a MCP server designed for controlling robots in ROS environments using natural language. It supports communication via ROS topics, services, and actions, and works with any ROS message type.

Demo

Test to see if ros topics, services, and actions can be used.

https://github.com/user-attachments/assets/61143c37-fb73-4998-9cbc-844d92ae61d9

Prompt used (Topic)

Open gazebo with TurtleBot3 and publish topic to move it.

Prompt used (Service)

Show me service list and call service to reset the world in Gazebo.

Prompt used (Action)

Show me action list and call action to move the TurtleBot3 forward for 1m.

Components

  • Socket Server (socket_server.py): A lightweight server that runs on localhost:8765 to handle GUI-related operations. It receives instructions from the MCP server to launch tools such as Gazebo or rqt_graph on the local display.

  • MCP Server (ros-general.py): A Python-based server that implements the MCP. It processes natural language input, maps it to ROS commands, and communicates with the socket server. To enable node communication between the MCP server and the local machine, both must be configured with the same ROS_DOMAIN_ID on the same local network.

Overview of MCP Tools

  • Topic Management: List, monitor, and publish to ROS2 topics
  • Node Control: List and inspect running ROS2 nodes
  • Service Interaction: Call ROS2 services with custom
  • Action Support: Send goals to ROS2 actions
  • GUI Integration: Launch ROS2 GUI tools via WebSocket server
  • Environment Debugging: Check ROS2 setup and configuration
  • Process Management: Clean up running ROS2 processes

Please refer here for more details.

Getting Started

Requirements

  • ROS2 Humble Hawksbill (This project has only been tested with ROS2 Humble. Compatibility with other ROS2 distributions is not guaranteed.)
  • claude desktop (Linux, macOS and Windows)
  • Python 3.10+
  • websockets >= 15.0.1
  • uv package manager (Installing uv)
  • Other dependencies as listed in pyproject.toml

Installation

Git clone and install websockets package

git clone [email protected]:Yutarop/ros-mcp.git
cd ros-mcp
pip install "websockets>=15.0.1"

Activate .venv and install dependencies

uv venv
source .venv/bin/activate
uv pip install -e .
Открыть полный README на GitHub

Установка

This server does not publish a one-line install command.

Open the repository installation guide Новичок в MCP? Начните с руководства на mcpskill.org →