comfyui-mcp — это stdio: он не может быть сервисом compose
comfyui-mcp — это stdio MCP-сервер. У него нет порта и он ничего не
выставляет в сеть: MCP-клиент (Claude Code, Cursor, MCP-мост, …)
порождает его как дочерний процесс и говорит с ним через stdin/stdout.
Поэтому в docker-compose.yml сервис comfyui-mcp — тупик: он стартовал бы,
ему не с кем было бы говорить, и он бы вышел. Это ставит в тупик почти всех,
кто встраивает ComfyUI в compose, потому что правильный compose-файл выглядит
так, будто в нём «не хватает» сервиса. Это не так: в compose идёт ComfyUI,
а MCP-сервер работает там, где работает ваш MCP-клиент, и достукивается до
ComfyUI по обычному HTTP через COMFYUI_URL.
Команде
npx, которая запускает сервер, нужен Node.js >= 22 на машине
(или в контейнере), где она работает — главная ловушка для тонких базовых
образов.Две формы развёртывания
Локальный npx + локальный ComfyUI
По умолчанию. ComfyUI работает прямо на вашей машине; MCP-клиент порождает
npx -y comfyui-mcp@latest, который сам находит локальную установку и её
порт. Конфиг не нужен. См. Установка.Локальный npx + ComfyUI в Docker / удалённый
ComfyUI работает в контейнере (или на другом хосте); MCP-клиент по-прежнему
порождает
comfyui-mcp локально, нацеленный на него через COMFYUI_URL
(или --comfyui-url). Непетлевой URL переводит сервер в удалённый
режим: все HTTP-инструменты работают — включая установку кастомных узлов,
которая идёт через HTTP API ComfyUI-Manager. Инструменты, которым нужна
файловая система или локальный процесс (установка самого ComfyUI, операции
comfy-cli, чтение логов, удаление файлов моделей), возвращают понятную
ошибку.Пример: ComfyUI в docker-compose
Готовый пример лежит в репозитории вdocker/compose/
— ComfyUI как сервис (по умолчанию NVIDIA, вариант AMD/ROCm закомментирован),
bind-монты для моделей и выходов и конфиг клиента в комментариях заголовка:
localhost:
comfyui-mcp, поэтому в его
образе должен быть Node.js >= 22, а сервер должен запускаться через
npx -y comfyui-mcp@latest. Мосты — стороннее ПО: настраивайте свой по его
документации; в примере compose-файла есть закомментированный набросок.
Замечания про AMD / ROCm
- Используйте тег образа
yanwk/comfyui-boot:rocmи раскомментируйте проброс ROCm в примере — то, что люди обычно пропускают:devices: [/dev/kfd, /dev/dri],group_add: [video],security_opt: [seccomp:unconfined]. - У самого
comfyui-mcpнет зависимости от GPU/CUDA — хосты ROCm полностью поддерживаются. Панель агента — это расширение ComfyUI, а не сервис, и она необязательна, если вашей поверхностью служит внешний фронтенд. docker/runpod/в этом репозитории — CUDA-ориентированный облачный образ RunPod (см. Развёртывание в облаке), а не универсальный образ ComfyUI — пользователям AMD начинать оттуда не стоит.