o comfyui-mcp é stdio — ele não pode ser um serviço do compose
Ocomfyui-mcp é um servidor MCP stdio. Ele não tem porta e não
expõe nada pela rede: o cliente MCP (Claude Code, Cursor, uma ponte MCP, …)
sobe ele como um processo filho e conversa com ele por stdin/stdout.
Então num docker-compose.yml, um serviço comfyui-mcp é um beco sem
saída — ele iniciaria, não teria com quem falar, e sairia. Isso pega quase
todo mundo ligando o ComfyUI no compose, porque um arquivo de compose
correto parece que está “faltando” um serviço. Não está: o que você
compõe é o ComfyUI, e o servidor MCP roda onde o seu cliente MCP
roda, alcançando o ComfyUI por HTTP simples via COMFYUI_URL.
O comando
npx que lança o servidor exige Node.js >= 22 na máquina
(ou no contêiner) que o executa — o principal peguinha de imagens-base
enxutas.As duas formas de implantação
npx local + ComfyUI local
O padrão. O ComfyUI roda direto na sua máquina; o cliente MCP sobe
npx -y comfyui-mcp@latest, que detecta automaticamente a instalação
local e a porta dela. Sem config. Veja Instalação.npx local + ComfyUI dockerizado / remoto
O ComfyUI roda num contêiner (ou em outro host); o cliente MCP ainda
sobe o
comfyui-mcp localmente, apontado para ele com COMFYUI_URL
(ou --comfyui-url). Uma URL que não seja loopback coloca o servidor
em modo remoto: todas as ferramentas HTTP funcionam — inclusive
instalar nós personalizados, que passa pela API HTTP do
ComfyUI-Manager. Ferramentas que precisam do sistema de arquivos ou de
um processo local (instalar o próprio ComfyUI, operações do comfy-cli,
ler logs, remover arquivos de modelo) retornam um erro claro.Exemplo: ComfyUI no docker-compose
Um exemplo pronto para usar mora no repositório emdocker/compose/
— ComfyUI como serviço (NVIDIA por padrão, variante AMD/ROCm comentada),
bind mounts para modelos e saídas, e a config do cliente nos comentários
do cabeçalho:
localhost:
comfyui-mcp, então a
imagem dele precisa conter Node.js >= 22 com o servidor lançável via
npx -y comfyui-mcp@latest. Pontes são software de terceiros — configure
a sua segundo a documentação dela; o arquivo de compose de exemplo tem um
esboço comentado.
Notas AMD / ROCm
- Use a tag de imagem
yanwk/comfyui-boot:rocme descomente o passthrough ROCm no exemplo — os pedaços que as pessoas esquecem:devices: [/dev/kfd, /dev/dri],group_add: [video],security_opt: [seccomp:unconfined]. - O próprio
comfyui-mcpnão tem dependência de GPU/CUDA — hosts ROCm são totalmente suportados. O Painel do Agente é uma extensão do ComfyUI, não um serviço, e é opcional quando um front-end externo é a sua superfície. docker/runpod/neste repositório é uma imagem de nuvem RunPod orientada a CUDA (veja Implantação na nuvem), não uma imagem ComfyUI de uso geral — usuários AMD não deveriam começar por aí.