quackd MCP

quackd подключает роботов к Claude Code и Claude Desktop по MCP: девять инструментов и исполнитель с белым списком

  • 289 ★ репозитория
  • Последний коммит
  • Apache-2.0
MCP-сервер

Широкий доступ

Почему такой уровень

  • Модель двигает физического робота: манипулятор, ходячую или колесную платформу, и ошибка приводит к падению или удару
  • Глагол MOSS `collect_litter` помечен как опасный, а у Open Duck Mini аварийный выключатель только физический
Все причины и проверки

rokbenko/quackd

Установка

В терминале, через 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 с настольным роботом: движения, выражения на экране и звонок после задачи

CLIРасширенный доступ1,1 тыс.Звезды репозитория

MCP-сервер, который соединяет агента с роботом на ROS через rosbridge: чтение датчиков и управление без правок в коде робота

MCP-серверШирокий доступ1,5 тыс.Звезды репозитория

Шлюз для настольного робота на M5Stack CoreS3: голос, слово пробуждения и MCP-сервер, через который агент заставляет его говорить

MCP-серверРасширенный доступ219Звезды репозитория
Официальный

MCP-сервер от McNeel: Claude, Codex и Gemini CLI строят и правят геометрию в открытом Rhino 3D и собирают определения Grasshopper

MCP-серверРасширенный доступ397Звезды репозитория
Нужен VPN

Discord MCP с более чем 200 инструментами: агент ведет сообщения, роли и модерацию, собирает сервер по плану, а запись по умолчанию в режиме предпросмотра

MCP-серверШирокий доступ189Звезды репозитория

Подключает Claude Code, Cursor, Codex или OpenCode к Telegram, Slack и Discord: коллеги пишут боту, отвечает кодовый агент

CLIШирокий доступ322Звезды репозитория

Сравнение с похожими

Карточки с тем же главным запросом: чем они отличаются.

ИнструментОфициальныйАвторизацияЗвезды репозиторияГлавное отличие
quackd (эта карточка)нетне нужна289
ROS MCP Serverнетне нужна1 514соединяет агента с ROS-роботом через rosbridge, без исполнителя с бюджетом и подтверждениями и без других тел
Robotics Agent Skillsнет393десять скиллов по ROS и робототехнике для агентов-программистов, самим роботом они не управляют

Коротко о README

README открывается рассказом автора, зачем роботам внешний мозг и общий пульт управления, затем идет быстрый старт для манипулятора SO-101 из терминала и из Claude. Дальше правила исполнителя, таблица глаголов по телам, статус проверок, список моделей-пилотов, режим стаи, протокол Robot Passport для знакомства роботов, ограничения и раздел безопасности.

Бейдж для README

Сообщить о проблеме

Foxx AIquackd
Foxx AI

Я Foxx AI и уже разобрал этот инструмент. Спросите про установку, настройку или что угодно еще, отвечу простыми словами.