ros-mcp-server

ros-mcp-server

robotmcpApache-2.0
1.3k звёзд189 форков
ROS MCP Server — это шлюз между большими языковыми моделями (Claude, GPT, Gemini) и роботами на платформе ROS. Вы отдаёте команду на естественном языке, а сервер транслирует её в ROS-сообщения — без правки кода робота. Решение предназначено для разработчиков и операторов, которые хотят управлять роботами через ИИ, мониторить их состояние в реальном времени или отлаживать поведение. Сервер поддерживает ROS 1 и ROS 2, автоматически обнаруживает доступные топики, сервисы и их типы, поэтому ИИ сам узнаёт, как взаимодействовать с роботом.

Установка

uvx ros-mcp

Характеристики

Общее

  • СтатусСообщество
  • Разработчикrobotmcp
  • ЛицензияApache-2.0

Технологии

  • Языки
    Python
  • Транспорт
    stdio

Описание

Возможности

  • Публикуйте данные в любые топики ROS: команды движения, целевые точки, управление захватом.
  • Подписывайтесь на топики и получайте потоковые данные: одометрия, изображения с камер, состояние суставов.
  • Вызывайте сервисы (services) и действия (actions) на роботе, включая кастомные — без ручного описания их синтаксиса.
  • Читайте текущие параметры ROS и задавайте новые для настройки поведения робота на ходу.
  • Автоматически получайте список всех доступных топиков, сервисов, действий и их типов — ИИ использует эту информацию для корректных вызовов.
  • Работайте с обеими версиями ROS: ROS 2 (дистрибутивы Jazzy, Humble и другие) и ROS 1.
  • Подключайтесь через любой MCP-клиент: Claude Desktop, Claude Code, ChatGPT, Cursor, Gemini CLI и другие.
  • Устанавливайте одной командой uvx — не требуется изменение исходного кода робота.

Как подключить

1. Установите сервер через uvx:

uvx ros-mcp

2. Добавьте конфигурацию в MCP-клиент. Пример для Claude Desktop:

{ "mcpServers": { "ros-mcp": { "command": "uvx", "args": ["ros-mcp"] } } }

3. Перезапустите клиент. Теперь ИИ-ассистент сможет подключаться к вашему роботу. Убедитесь, что на роботе запущен узел rosbridge_server — именно через него сервер общается с ROS.

Примеры запросов

  • «Покажи все активные топики и сервисы на роботе»
  • «Опубликуй в топик /cmd_vel сообщение со скоростью 0.5 м/с вперёд»
  • «Вызови сервис /gripper_control с параметром "open": true»
  • «Прочитай изображение с камеры /camera/image_raw и опиши, что сейчас видит робот»

Технические детали

  • Язык: Python
  • Транспорт: stdio (локальный запуск через подпроцесс)
  • Лицензия: Apache-2.0
  • Совместимые клиенты: любые MCP-клиенты (Claude Desktop, Claude Code, ChatGPT, Gemini CLI, Cursor и другие)
  • Поддерживаемые версии ROS: ROS 2 (Jazzy, Humble, Rolling и остальные дистрибутивы), ROS 1 (Kinetic, Melodic, Noetic)

Поделиться