quackd MCP
quackd подключает роботов к Claude Code и Claude Desktop по MCP: девять инструментов и исполнитель с белым списком
- 289 ★ репозитория
- Последний коммит
- Apache-2.0
Широкий доступ
Почему такой уровень
- Модель двигает физического робота: манипулятор, ходячую или колесную платформу, и ошибка приводит к падению или удару
- Глагол MOSS `collect_litter` помечен как опасный, а у Open Duck Mini аварийный выключатель только физический
Установка
- Работает в
В терминале, через SkillFoxx CLI
npx skillfoxx add mcp/quackdОпределит агенты на машине, покажет уровень доступа и зафиксирует версию.
Другие способы установки
Доступ и проверки
Как мы проверяемШирокий доступИнструмент может менять данные, выполнять команды или работать с секретами.
- Модель двигает физического робота: манипулятор, ходячую или колесную платформу, и ошибка приводит к падению или удару
- Глагол MOSS `collect_litter` помечен как опасный, а у Open Duck Mini аварийный выключатель только физический
Это чужой код. Посмотрите файлы в репозитории перед установкой.
Что делает
quackd — консольный инструмент на Python для управления роботами через LLM. Робота регистрируют по имени, цель задают в терминале или в чате, а модель выбирает из навыков робота (глаголов), сколько шагов потратить и когда спросить человека. Команда `quackd serve-mcp` превращает одного робота или стаю в MCP-сервер по stdio. Пилотом становится модель, с которой вы разговариваете в Claude Code или Claude Desktop, а своей модели quackd не выбирает. Сервер отдает девять инструментов `robot_*`: список роботов и их глаголов, оценка выполнимости задачи, запуск глагола, кадр с камеры, фраза, загрузка файла контракта `.duck`, чтение и запись заметок о прошлых сессиях. Между моделью и каждым роботом стоит исполнитель с белым списком глаголов, бюджетом шагов, пульсом и воротами подтверждения. Пока модель не запишет вердикт о выполнимости задачи, любой глагол, который двигает тело, будет отклонен. Тел девять: Microduck, Open Duck Mini, манипулятор LeRobot SO-101, XLeRobot, AlohaMini, ToddlerBot, Huebot, MOSS и колесные базы на ROS 2 через rosbridge. На настоящем железе пока запускался только манипулятор LeRobot, остальные работают в симуляторе или на заглушках. Без оборудования подключается симулированная утка: `claude mcp add quackd -- uvx --from "quackd[microduck]" quackd serve-mcp --robot microduck:sim2d`.
Для кого. Робототехникам и энтузиастам, которые хотят управлять своим роботом или его симулятором из Claude Code и Claude Desktop и держать между моделью и железом правила безопасности.
Подходит, если
- Роботом хочется управлять в чате: фраза «найди мяч и ударь по нему» отдается модели-пилоту, и она сама выбирает глаголы
- Агентный цикл проверяют без железа: симулированная утка `microduck:sim2d` работает без оборудования
- У вас манипулятор SO-101: quackd проводит от калибровки до первого движения за десять шагов, а в чате им управляет Claude
- Роботов несколько, и их собирают в стаю под одним сервером флагом `--flock NAME` или `--robots`
- Нужны жесткие ограничения: список разрешенных глаголов и лимит шагов задает файл контракта `.duck`
Не подходит, если
- Нужна физическая точность походки или захвата: симулятор по умолчанию мультяшный, он проверяет агентный цикл, а не физику
- Робота нет среди девяти тел и он не работает через ROS 2 и rosbridge
- Модель-пилота хочется выбрать самому: в режиме MCP ее задает клиент, а флаг `--llm` относится только к `quackd run`
- Нужен режим без присмотра: любое движение на железе требует человека рядом с выключателем
Пример запроса к агенту
Подключи quackd к Claude Code в режиме симулятора, покажи список глаголов робота и найди мяч в кадре камеры.MCP
- Транспорт
- stdio
- Авторизация
- не нужна
Ограничения
- Пакет `quackd` сам по себе робота не ставит: тело выбирают дополнением (`quackd[microduck]`, `quackd[lerobot]` и так далее), нужны Python 3.11 или новее и менеджер `uv`.
- На настоящем роботе запускался только манипулятор LeRobot, остальные восемь тел проверены на симуляторе или заглушках. Проект в стадии Alpha.
- Движение на железе идет под присмотром: ворота подтверждения, бюджет и пульс остаются последней защитой, а у Open Duck Mini единственный аварийный выключатель — питание.
- Манипулятору через MCP нужен `quackd` из виртуального окружения, а не `uvx`: `uvx` может собрать окружение без бэкенда LeRobot.
Как отключить. Команда `claude mcp remove quackd` убирает сервер из Claude Code, а для Claude Desktop нужно удалить запись из `claude_desktop_config.json` и перезапустить приложение. Остановить робота во время работы можно сочетанием Ctrl+C или клавишей `q`.
Частые вопросы
Как подключить quackd к Claude Code?
Выполните `claude mcp add quackd -- uvx --from "quackd[microduck]" quackd serve-mcp --robot microduck:sim2d`: сервер запустит симулированную утку. В Claude Desktop те же команду и аргументы вписывают в `claude_desktop_config.json` и перезапускают приложение.
Нужен ли ключ API модели?
Нет. В режиме MCP quackd не выбирает модель и ключи не читает: пилотом работает модель вашего клиента. Ключи нужны только для `quackd run` с облачной моделью.
Может ли модель сразу двигать робота?
Нет. Пока модель не запишет вердикт о выполнимости задачи через `robot_assess_task`, `robot_run_verb` отклоняет любой глагол, который двигает тело. Дальше действуют белый список, бюджет шагов и ворота подтверждения.
Какие роботы поддерживаются?
Девять тел: Microduck, Open Duck Mini, манипулятор LeRobot SO-101, XLeRobot, AlohaMini, ToddlerBot, Huebot, MOSS и колесные базы на ROS 2. Для манипулятора SO-101 в README есть пошаговая инструкция из десяти шагов.
Что такое файл .duck?
Контракт задачи. Он ограничивает список глаголов и бюджет шагов. Инструмент `robot_load_duckfile` проверяет его по манифесту робота, подключает к одному роботу и возвращает тело файла как инструкции.
Обсуждение
Вопросов и отзывов пока нет.
Похожие
MCP-серверыCLI связывает события Claude Code и Cursor с настольным роботом: движения, выражения на экране и звонок после задачи
MCP-сервер, который соединяет агента с роботом на ROS через rosbridge: чтение датчиков и управление без правок в коде робота
Шлюз для настольного робота на M5Stack CoreS3: голос, слово пробуждения и MCP-сервер, через который агент заставляет его говорить
MCP-сервер от McNeel: Claude, Codex и Gemini CLI строят и правят геометрию в открытом Rhino 3D и собирают определения Grasshopper
Discord MCP от cappyeo — более 200 инструментов
Discord MCP (cappyeo)
Discord MCP с более чем 200 инструментами: агент ведет сообщения, роли и модерацию, собирает сервер по плану, а запись по умолчанию в режиме предпросмотра
Подключает Claude Code, Cursor, Codex или OpenCode к Telegram, Slack и Discord: коллеги пишут боту, отвечает кодовый агент
Сравнение с похожими
Карточки с тем же главным запросом: чем они отличаются.
| Инструмент | Официальный | Авторизация | Звезды репозитория | Главное отличие |
|---|---|---|---|---|
| quackd (эта карточка) | нет | не нужна | 289 | |
| ROS MCP Server | нет | не нужна | 1 514 | соединяет агента с ROS-роботом через rosbridge, без исполнителя с бюджетом и подтверждениями и без других тел |
| Robotics Agent Skills | нет | 393 | десять скиллов по ROS и робототехнике для агентов-программистов, самим роботом они не управляют |
Коротко о README
README открывается рассказом автора, зачем роботам внешний мозг и общий пульт управления, затем идет быстрый старт для манипулятора SO-101 из терминала и из Claude. Дальше правила исполнителя, таблица глаголов по телам, статус проверок, список моделей-пилотов, режим стаи, протокол Robot Passport для знакомства роботов, ограничения и раздел безопасности.