ros-mcp-server — MCP-сервер для Claude Code: связь с ROS-роботами
Связывает языковые модели с роботами на ROS и ROS 2 через rosbridge. Пригодится, когда нужно управлять роботом или читать его темы прямо из чата.
claude mcp add ros-mcp-server -- uvx ros-mcpЧто делает ros-mcp-server
Сервер поднимает двусторонний канал между моделью и роботом. Модель публикует и читает топики, вызывает сервисы и действия, задаёт параметры, смотрит данные сенсоров и состояние робота в реальном времени. Исходный код робота менять не нужно: достаточно добавить в существующую установку узел rosbridge.
Отдельная часть работы — разведка. Сервер помогает модели самой находить доступные топики, сервисы, действия и их типы, включая пользовательские, чтобы дальше обращаться к ним с верным синтаксисом. Ручная настройка под каждый тип сообщения не требуется.
Совместимость широкая: ROS 2 (Jazzy, Humble и другие дистрибутивы) и ROS 1. Работает с Claude, Codex CLI, Gemini CLI, Claude Desktop, ChatGPT, Cursor и другими MCP-клиентами. Без запущенного rosbridge на стороне робота серверу не с чем соединяться, поэтому начинать стоит с него.
Какие задачи решает
- отправить роботу команду на перемещение из чата
- посмотреть, какие топики и сервисы есть на роботе
- вызвать сервис или действие с нужным синтаксисом
- снять показания сенсоров и проверить состояние узлов
- протестировать захват манипулятора и найти причину сбоя
Примеры запросов агенту
- Покажи все топики и сервисы на роботе и их типы
- Опубликуй в топик скорости команду на движение вперёд и проверь одометрию
- Вызови сервис захвата и скажи, что вернулось
Как установить ros-mcp-server
Командой платформы
claude mcp add ros-mcp-server -- uvx ros-mcpuvx запускает команду с именем пакета; если в README она другая — uvx --from ros-mcp <команда>
Командой платформы
codex mcp add ros-mcp-server -- uvx ros-mcpuvx запускает команду с именем пакета; если в README она другая — uvx --from ros-mcp <команда>
Файл настроек
{
"mcpServers": {
"ros-mcp-server": {
"command": "uvx",
"args": [
"ros-mcp"
]
}
}
}uvx запускает команду с именем пакета; если в README она другая — uvx --from ros-mcp <команда>
Файл настроек
{
"servers": {
"ros-mcp-server": {
"type": "stdio",
"command": "uvx",
"args": [
"ros-mcp"
]
}
}
}uvx запускает команду с именем пакета; если в README она другая — uvx --from ros-mcp <команда>
Командой платформы
gemini mcp add ros-mcp-server uvx ros-mcpuvx запускает команду с именем пакета; если в README она другая — uvx --from ros-mcp <команда>
По шагам, с командами для каждой платформы: Как подключить MCP-сервер: Claude Code, Codex, Cursor, VS Code, Gemini CLI и другие
Вопросы о ros-mcp-server
Как установить ros-mcp-server в Claude Code?
Одной командой: claude mcp add ros-mcp-server -- uvx ros-mcp.
Что делает ros-mcp-server?
Соединяет модель с роботом на ROS через rosbridge: публикация и подписка на топики, вызовы сервисов и действий, параметры, данные сенсоров.
С какими версиями ROS он работает?
С ROS 2 (Jazzy, Humble и другие дистрибутивы) и с ROS 1.