ROS MCP Server
MCP-сервер, который соединяет агента с роботом на ROS через rosbridge: чтение датчиков и управление без правок в коде робота
Высокий риск
Высокий уровень ставим, когда инструмент пишет во внешние системы, работает с деньгами, рабочими базами или секретами либо выполняет произвольные команды. CLI поставит его только после вашего согласия.
Почему такой уровень
- Управляет реальным роботом: публикует в топики, вызывает сервисы и действия, задает параметры
- Ошибочная команда может привести к нежелательному движению механизмов
Установка
В терминале, через SkillFoxx CLI
npx skillfoxx add mcp/ros-mcp-serverОпределит агенты на машине, проверит риск и зафиксирует версию.
Другие способы установки
У записи высокий риск, поэтому установки в один клик нет. Посмотрите код и добавьте конфиг вручную.
Выполните в терминале
claude mcp add --transport stdio ros-mcp-server -- uvx ros-mcp==3.1.2Или добавьте в файл .mcp.json, в проекте
{
"mcpServers": {
"ros-mcp-server": {
"command": "uvx",
"args": [
"ros-mcp==3.1.2"
]
}
}
}Если файл уже есть, добавьте сервер внутрь ключа mcpServers.
Добавьте в файл ~/.cursor/mcp.json, для всех проектов
{
"mcpServers": {
"ros-mcp-server": {
"command": "uvx",
"args": [
"ros-mcp==3.1.2"
]
}
}
}Если файл уже есть, добавьте сервер внутрь ключа mcpServers. Для одного проекта тот же блок кладут в .cursor/mcp.json.
Выполните в терминале
code --add-mcp '{"name":"ros-mcp-server","type":"stdio","command":"uvx","args":["ros-mcp==3.1.2"]}'Или добавьте в файл .vscode/mcp.json, в проекте
{
"servers": {
"ros-mcp-server": {
"type": "stdio",
"command": "uvx",
"args": [
"ros-mcp==3.1.2"
]
}
}
}Если файл уже есть, добавьте сервер внутрь ключа servers.
Выполните в терминале
codex mcp add ros-mcp-server -- uvx ros-mcp==3.1.2Или добавьте в файл ~/.codex/config.toml, для всех проектов
[mcp_servers.ros-mcp-server]
command = "uvx"
args = ["ros-mcp==3.1.2"]Если файл уже есть, допишите блок в конец.
Выполните в терминале
gemini mcp add -s user ros-mcp-server uvx ros-mcp==3.1.2Или добавьте в файл ~/.gemini/settings.json, для всех проектов
{
"mcpServers": {
"ros-mcp-server": {
"command": "uvx",
"args": [
"ros-mcp==3.1.2"
]
}
}
}Если файл уже есть, добавьте сервер внутрь ключа mcpServers.
Добавьте в файл ~/.config/devin/mcp_config.json, для всех проектов
{
"mcpServers": {
"ros-mcp-server": {
"command": "uvx",
"args": [
"ros-mcp==3.1.2"
]
}
}
}Если файл уже есть, добавьте сервер внутрь ключа mcpServers. В легаси Cascade конфиг MCP лежит в ~/.codeium/windsurf/mcp_config.json.
Бывший Windsurf.
Добавьте в файл cline_mcp_settings.json, для всех проектов
{
"mcpServers": {
"ros-mcp-server": {
"command": "uvx",
"args": [
"ros-mcp==3.1.2"
]
}
}
}Если файл уже есть, добавьте сервер внутрь ключа mcpServers. Файл настроек открывается в Cline: вкладка MCP Servers, кнопка Configure MCP Servers.
Добавьте в файл .roo/mcp.json, в проекте
{
"mcpServers": {
"ros-mcp-server": {
"command": "uvx",
"args": [
"ros-mcp==3.1.2"
]
}
}
}Если файл уже есть, добавьте сервер внутрь ключа mcpServers.
Форк Roo Code, папки .roo те же.
Добавьте в файл opencode.json, в проекте
{
"mcp": {
"ros-mcp-server": {
"type": "local",
"command": [
"uvx",
"ros-mcp==3.1.2"
]
}
}
}Если файл уже есть, добавьте сервер внутрь ключа mcp.
Добавьте в файл ~/.config/zed/settings.json, для всех проектов
{
"context_servers": {
"ros-mcp-server": {
"command": "uvx",
"args": [
"ros-mcp==3.1.2"
]
}
}
}Если файл уже есть, добавьте сервер внутрь ключа context_servers.
Добавьте в файл .codeassistant/mcp.json, в проекте
{
"mcpServers": {
"ros-mcp-server": {
"command": "uvx",
"args": [
"ros-mcp==3.1.2"
]
}
}
}Если файл уже есть, добавьте сервер внутрь ключа mcpServers.
Установи uv, затем в Claude Code выполни claude mcp add ros-mcp -- uvx ros-mcp --transport=stdio. На машине робота установи rosbridge, например sudo apt install ros-<distro>-rosbridge-server, и запусти его через ros2 launch rosbridge_server rosbridge_websocket_launch.xml.
Другие способы из описания автора
claude mcp add ros-mcp -- uvx ros-mcp --transport=stdioНужен uv, который дает uvx. На машине робота отдельно поднимается rosbridge с rosapi.
Это чужой код. Посмотрите файлы в репозитории перед установкой.
Что делает
Сервер дает агенту двусторонний доступ к роботу под управлением ROS через узел rosbridge, при этом исходный код робота менять не нужно. Агент может публиковать и подписываться на топики, вызывать сервисы и действия, задавать параметры, читать данные датчиков и следить за состоянием робота в реальном времени. Сервер помогает модели обнаружить доступные топики, сервисы, действия и их типы, включая пользовательские, чтобы обращаться к ним с правильным синтаксисом без ручной настройки. Он работает с ROS 2, например Jazzy и Humble, и с дистрибутивами ROS 1, соединение идет по WebSocket, поэтому агент и робот могут быть на разных машинах в одной сети.
Для кого. Для инженеров-робототехников и разработчиков на ROS, которые хотят управлять роботом и разбирать его состояние через агента.
Подходит, если
- Нужно управлять роботом на ROS командами на естественном языке
- Нужно читать топики, датчики и состояние робота вместе с агентом
- Нужно вызвать сервисы или действия и задать параметры без ручного синтаксиса
- Нужно диагностировать робота или отладить поведение в симуляции
Не подходит, если
- На машине робота не установлен ROS и нет возможности запустить rosbridge
- Задача не связана с ROS и роботами
Пример запроса к агенту
Подключись к роботу на localhost через ros-mcp и покажи, какие топики и сервисы доступныОграничения
На машине робота должен быть установлен ROS и запущен rosbridge вместе с rosapi, иначе инструменты интроспекции не работают. Rosbridge запускают через launch-файл, а не через ros2 run, иначе rosapi не поднимается. Для установки сервера нужен Python 3.10 или новее и pip 23.0 или новее. Управление реальным роботом требует осторожности: агент может двигать механизмы и менять параметры. ROS 1 объявлен в конце жизненного цикла.
Как отключить. Выполните claude mcp remove ros-mcp или уберите запись ros-mcp из конфигурации MCP в клиенте. При установке через pip можно удалить пакет ros-mcp.
MCP
- Транспорт
- stdio, http
- Авторизация
- не нужна
Проверка безопасности
- Управляет реальным роботом: публикует в топики, вызывает сервисы и действия, задает параметры
- Ошибочная команда может привести к нежелательному движению механизмов
Коротко о README
README описывает сервер, который связывает большие языковые модели с роботами через MCP и ROS без изменения кода робота. Заявлена двусторонняя связь: публикация и подписка на топики, вызов сервисов и действий, работа с параметрами, чтение датчиков и состояния. Сервер помогает модели обнаружить топики, сервисы и их типы, включая пользовательские, и работает с ROS 2 и ROS 1. Приведены примеры с промышленным роботом, мобильным роботом Wilson и квадрупедом Unitree Go2 в NVIDIA Isaac Sim. Установка идет через uvx или pip, на роботе поднимается rosbridge с rosapi. Лицензия Apache 2.0.
Частые вопросы
Нужно ли менять код робота?
Нет. Достаточно запустить узел rosbridge в существующей установке ROS, сервер подключается к нему по WebSocket.
Работает ли с ROS 1?
Да, сервер совместим с ROS 2 и дистрибутивами ROS 1, хотя ROS 1 объявлен в конце жизненного цикла.
Похожие
MCP-сервер со справкой по нодам и шаблонам n8n: агент подбирает ноды, проверяет конфигурацию и при наличии API создает воркфлоу в вашем n8n
Официальный плагин Zapier MCP: агент получает доступ к действиям в тысячах приложений через подключенный аккаунт Zapier
Awesome Claude Skills от Composio
Awesome Claude Skills
Каталог скиллов и плагинов для Claude и других агентов, плюс собственные скиллы автоматизации 78 SaaS-сервисов через Composio
Плагин и каталог CLI для агентов: генерирует командный интерфейс к GUI-программам вроде GIMP и Blender и ставит готовые через CLI-Hub