YR

yutarop/ros-mcp

Developer tools

이 페이지는 AI로 자동 번역되었습니다. 기술적인 세부 사항은 원문을 확인하세요. 원문 보기

36 stars 6 forks 품질 60 트렌드 12MIT

MCP 서버는 화제, 서비스, 행동을 통해 로봇을 제어합니다.

개요

mCP 서버는 자연 언어를 사용하여 ROS 환경에서 로봇을 제어하기 위해 설계되었습니다. 그것은 ROS 주제, 서비스, 및 행동을 통해 통신을 지원하며 ROS 메시지 유형과 함께 작동합니다. https://github.com/user-attachments/assets/61143c37-fb73-4998-9cbc-844d92ae61d9] [T0]] [T0]] [T0]] [T0]] [T0]] [T0]] [T0]] [T0] [T0] [T0]] [T0] [T0] [T0]] [T0]] [T0] [T0] [T0] [T0] [T0]] [T0] [T0]] [T0] [T0] [T0]] [T0]] [T0] [T0] [T0]] https://github.com/user-attachments/assets/61143c37-fb73-4998-9cbc-844d92ae61d9] https://github.com/user-attachments/assets/61143c37-fb73-4998-9cbc-844d92ae61d9]]] https://github.com/user-attachments/assets/61143c37-fb73-4998-9cbc-844d92ae61d9]]]]]] [[https://github.com/user-attachments/assets/61143c37-fb73-4998-9cbc-844d92ae61d9]]]]]]] [[[[[[https://github.com/user-attachments/assets/61143c37-fb73-4998-9cbc-844d92ae61d9]]]]]]]]]]]]]] [[[[[[[https://github.com/user-attachments/assets/61143c37-fb73-4998-9cbc-844d92ae61d9]]]]]]]]]]]]]]]]]] [[[[[[[[[[[[[[[[[[[[[[ TurtleBot3 및 게시 주제를 사용하여 gazebo를 엽니 다. Gazebo에서 세계를 재설정하기 위해 저에게 서비스 목록 및 전화 서비스를 표시합니다. 내 행동 목록을 표시하고 TurtleBot3을 1m로 이동하려면 행동을 호출하십시오. - (socket server.py): localhost:8765에서 GUI 관련 작업을 처리하는 경량 서버. MCP 서버에서 로컬 디스플레이의 Gazebo 또는 rqt graph와 같은 도구를 실행할 수 있습니다. - (ros-general.py): MCP를 구현하는 파이썬 기반 서버. 그것은 자연적인 언어 입력을 가공하고, ROS 명령에 지도하고, 소켓 서버도 통신합니다.

개요(AI 번역)

비강 MCP

ROS MCP는 ROS 환경에서 로봇을 제어하기 위해 설계된 MCP 서버입니다. 그것은 ROS 주제, 서비스, 및 행동을 통해 통신을 지원하며 ROS 메시지 유형과 함께 작동합니다.

데모

ros 주제, 서비스 및 행동이 사용될 수 있는지 확인하는 시험.

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

Prompt 사용 (최고)

TurtleBot3로 가제보를 열고 주제를 게시합니다.

Prompt 사용 (서비스)

저에게 서비스 명부를 보여주고 Gazebo에 있는 세계를 다시 놓기 위하여 전화를 서비스하십시오.

Prompt 사용 (액션)

내 행동 목록을 표시하고 TurtleBot3을 1m로 이동하려면 행동을 호출하십시오.

부품

  • 소켓 서버 (socket_server.py): localhost:8765에서 GUI 관련 작업을 처리하는 경량 서버. MCP 서버의 지침은 Gazebo] 또는 rqt_graph]과 같은 도구를 로컬 디스플레이에서 실행할 수 있습니다.

  • MCP Server ([T4]]): MCP를 구현하는 Python 기반 서버. 그것은 자연적인 언어 입력을 가공하고, ROS 명령에 지도하고, 소켓 서버도 통신합니다.

이 페이지는 AI로 자동 번역되었습니다. 기술적인 세부 사항은 원문을 확인하세요.

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 .
GitHub에서 전체 README 보기

설치

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

Open the repository installation guide MCP 초보자라면? mcpskill.org 가이드부터 시작하세요 →