
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)