
yutarop/ros-mcp
Developer toolsЭта страница переведена автоматически. Технические детали смотрите в оригинале. Открыть оригинал
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 asGazeboorrqt_graphon 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 sameROS_DOMAIN_IDon the same local network.
Overview of MCP Tools
Topic Management: List, monitor, and publish to ROS2 topicsNode Control: List and inspect running ROS2 nodesService Interaction: Call ROS2 services with customAction Support: Send goals to ROS2 actionsGUI Integration: Launch ROS2 GUI tools via WebSocket serverEnvironment Debugging: Check ROS2 setup and configurationProcess 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 .
Установка
This server does not publish a one-line install command.
Open the repository installation guide Новичок в MCP? Начните с руководства на mcpskill.org →