ComfyUI MCP

Registre officiel Médias et design

MCP server that wraps ComfyUI (SDXL/Wan 2.2) for image and short-video generation.

Installation

Ajoutez ceci à la configuration MCP de votre client (Claude Desktop : claude_desktop_config.json ; Cursor : .cursor/mcp.json ; VS Code et les autres utilisent la même forme « mcpServers »).

OCI package ghcr.io/germaniu/comfyui-mcp:0.1.1
Claude Code
claude mcp add comfyui-mcp -e 'COMFYUI_URL=http://127.0.0.1:8188' -e 'COMFYUI_PUBLIC_URL=<COMFYUI_PUBLIC_URL>' -e 'MCP_AUTH_TOKEN=<your mcp_auth_token>' -- docker run -i --rm ghcr.io/germaniu/comfyui-mcp:0.1.1 --stdio
Configuration JSON (Claude Desktop, Cursor, VS Code)
{
    "mcpServers": {
        "comfyui-mcp": {
            "command": "docker",
            "args": [
                "run",
                "-i",
                "--rm",
                "ghcr.io/germaniu/comfyui-mcp:0.1.1",
                "--stdio"
            ],
            "env": {
                "COMFYUI_URL": "http://127.0.0.1:8188",
                "COMFYUI_PUBLIC_URL": "<COMFYUI_PUBLIC_URL>",
                "MCP_AUTH_TOKEN": "<your mcp_auth_token>"
            }
        }
    }
}

Variables d'environnement

  • COMFYUI_URL Loopback URL of the ComfyUI engine. Inside a container 127.0.0.1 is the container itself, so point it at the host running ComfyUI (e.g. http://host.docker.internal:8188 or the LAN IP).
  • COMFYUI_PUBLIC_URL LAN base URL used to build direct image download links.
  • MCP_AUTH_TOKEN secret Only applies when the container runs in HTTP mode. If set, every HTTP request must carry an Authorization: Bearer header.

Documentation

Tirée du README du projet sur GitHub, actualisée chaque semaine. Les liens ouvrent GitHub.

Sommaire
  1. ComfyUI MCP — Generación de imágenes para agentes IA vía Model Context Protocol (MCP)
  2. 💡 Por qué existe
  3. 🏗️ Arquitectura y Deslinde de Componentes
  4. 📦 Instalación Rápida
  5. ⚙️ Configuración (Variables de Entorno)
  6. 🛠️ Herramientas Expuestas (Tool Reference)
  7. 🎨 Matriz de Presets
  8. 🧭 ¿Y los otros servidores MCP de ComfyUI?
  9. 🔗 Integración con Clientes MCP
  10. 📋 Componentes Faltantes y Roadmap (Server Gaps)
  11. 🧪 Pruebas Unitarias
  12. 📄 Licencia

English · Español

ComfyUI MCP — Generación de imágenes para agentes IA vía Model Context Protocol (MCP)

Conecta la generación de imágenes SDXL a cualquier agente IA en tu red. Servidor MCP open source que expone inferencia de ComfyUI (SDXL / RTX 3060) a Claude Code, Cursor, Windsurf, Hermes Gateway y cualquier cliente compatible con Model Context Protocol. FastMCP HTTP/SSE + GPU Arbiter, cero dependencias en clientes, 100% en tu hardware.

Tags: mcp-server · comfyui · sdxl · image-generation · ai-agents · fastmcp · claude-code · cursor · hermes-gateway · gpu-arbiter · local-first · self-hosted

El agente pide una imagen con un preset y recibe la URL de descarga — la GPU trabaja en el server, el cliente no instala PyTorch.


💡 Por qué existe

Generar imágenes en entornos multi-agente requiere instalar bibliotecas pesadas de PyTorch, GPUs dedicadas y configuraciones complejas en cada máquina cliente. ComfyUI MCP resuelve esto actuando como un adaptador middleware HTTP/SSE desacoplado:

  • 🚀 Cero Instalación Local: Cualquier cliente o gateway consumirá la generación de imágenes vía HTTP/SSE en puerto 8201 sin instalar PyTorch ni bajar modelos SDXL localmente.
  • 🧠 GPU Arbiter Inteligente: Alterna automáticamente entre llama-server (LLMs) y ComfyUI en GPUs de 12GB (RTX 3060) sin colisiones de VRAM.
  • 🎯 Presets Profesionales: Generación lista para producción con presets como producto (RealVisXL V4.0) o realista (Juggernaut XL).

🏗️ Arquitectura y Deslinde de Componentes

⚠️ IMPORTANTE: Entender los Límites del Sistema

comfyui-mcp es únicamente la capa de transporte e interfaz MCP. No incluye el motor de inferencia de ComfyUI ni los archivos de peso de modelos. Para la guía de despliegue del servidor backend en el host Linux/Pop!_OS, consulta docs/SERVER_SETUP.md y docs/ARCHITECTURE.md.

 +-------------------------------------------------------+
 |                 Clientes MCP (LAN)                    |
 | (Claude Code CLI / Cursor / Windsurf / Hermes Gateway)|
 +-------------------------------------------------------+
                             |
                             | HTTP / SSE (Puerto 8201)
                             v
 +-------------------------------------------------------+
 |                  comfyui-mcp Server                   |
 |           (FastMCP + Workflow JSON Builder)           |
 +-------------------------------------------------------+
                             |
                             | Loopback HTTP (Puerto 8188)
                             v
 +-------------------------------------------------------+
 |                 ComfyUI Backend Host                  |
 |  (PyTorch + CUDA + SDXL Checkpoints + GPU Arbiter)    |
 +-------------------------------------------------------+

📦 Instalación Rápida

Requisitos
  • Python 3.11+
  • uv ≥ 0.13.4 (recomendado) o pip ≥ 26.2.2: las versiones anteriores aún confían en la CA emSign comprometida (GHSA-6q48-6c7w-9gw2). pyproject.toml exige el mínimo de uv ([tool.uv] required-version).
Clonar e Instalar
git clone https://github.com/GermaniU/comfyui-mcp.git
cd comfyui-mcp

# Crear entorno virtual e instalar
uv venv
source .venv/bin/activate
uv pip install -e .

⚙️ Configuración (Variables de Entorno)

Crea un archivo .env o exporta las siguientes variables:

VariableValor por DefectoDescripción
COMFYUI_URLhttp://127.0.0.1:8188URL loopback donde escucha el motor de ComfyUI.
COMFYUI_PUBLIC_URLhttp://<YOUR_SERVER_IP>:8188Base URL pública/LAN para descarga de imágenes.
MCP_HOST0.0.0.0Host binding para el servidor MCP.
MCP_PORT8201Puerto HTTP/SSE del servidor MCP.
MCP_AUTH_TOKEN(vacío = sin auth)Si se define, exige header Authorization: Bearer <token> en cada request HTTP/SSE.
MCP_CORS_ORIGINS*Orígenes CORS permitidos, separados por coma. Solo afecta a clientes que corren en un navegador.

Seguridad: sin MCP_AUTH_TOKEN, cualquier equipo de la LAN —o una página web abierta en un navegador de la LAN, con CORS *— puede generar imágenes y ocupar la GPU. Definir un token es lo recomendado salvo en redes totalmente confiables.


🛠️ Herramientas Expuestas (Tool Reference)

1. generate_image (txt2img)

Genera imágenes desde un prompt textual usando SDXL.

  • Parámetros:
    • prompt (string, requerido): Descripción de la imagen (en inglés funciona mejor).
    • preset (string, opcional): producto, realista, rapido o anime. Default: "producto".
    • aspect (string, opcional): 1:1, 4:5, 5:4, 9:16, 16:9, 3:2, 2:3 (~1MP). Default: "1:1".
    • negative_prompt (string, opcional): Elementos a excluir. Default: negativo genérico de calidad.
    • seed (integer, opcional): Semilla para reproducibilidad. Default: aleatoria.
    • batch (integer, opcional): Imágenes por llamada (1-4). Default: 1.
    • checkpoint, lora, lora_strength, steps, cfg (opcionales): Sobreescriben los valores del preset.
    • filename_prefix (string, opcional): Prefijo del archivo de salida. Default: "mcp".
    • detail_face (bool, opcional): Pasada de FaceDetailer (requiere Impact Pack). Default: false.
    • preview (bool, opcional): Devuelve además una miniatura JPEG (~512px) para que el modelo vea el resultado. Solo para clientes con visión. Default: false.
2. img2img (Image-to-Image)

Varía una imagen ya generada (en output/ de ComfyUI) con un nivel de denoise.

  • Parámetros:
    • image_filename (string, requerido): Nombre del archivo generado (ej: mcp_00001_.png).
    • prompt (string, opcional): Instrucción de transformación. Vacío = variación visual pura.
    • denoise (float, opcional): 0.0 idéntica, 1.0 completamente nueva. Default: 0.55.
    • preset (string, opcional): Default: "realista".
    • negative_prompt, seed, checkpoint, lora, lora_strength, steps, cfg, filename_prefix, preview (opcionales).
3. generate_video (Wan 2.2)

Genera un clip corto MP4 (24fps) con Wan 2.2 TI2V 5B. Sin imagen es txt2video; con image_filename anima esa imagen como primer frame. Requiere los modelos de video (ver SERVER_SETUP). En la RTX 3060 tarda varios minutos por clip.

  • Parámetros:
    • prompt (string, requerido): Escena y movimiento (de cámara, del sujeto), en inglés.
    • aspect (string, opcional): 16:9 (1280x704), 9:16 (704x1280) o 1:1 (960x960). Default: "16:9".
    • seconds (integer, opcional): Duración, 1-5. Default: 3.
    • image_filename (string, opcional): Imagen ya generada a animar (ej: mcp_00001_.png); conviene que su aspect coincida con el del video.
    • draft (bool, opcional): Borrador a ~480p (832x480, 480x832, 640x640), menos de la mitad de píxeles y bastante más rápido; para probar el prompt antes de la versión final. Default: false.
    • negative_prompt, seed, steps, cfg, filename_prefix (opcionales). Default de prefijo: "mcp-video".
    • preview (bool, opcional): Miniatura JPEG del primer frame. Default: false.
4. list_models

Retorna la lista de checkpoints, LoRAs y presets disponibles en la instancia de ComfyUI.

5. comfy_health

Obtiene el estado de salud del backend: versión de ComfyUI, uso de VRAM de la GPU y tareas en cola.

6. comfy_view_url

Construye la URL LAN de descarga directa para un archivo generado previamente dado su filename y subfolder.


🎨 Matriz de Presets

PresetCheckpoint AsociadoPasosCFGCaso de Uso
productoRealVisXL_V4.0.safetensors305.5Fotografía comercial y de producto fotorrealista (Default).
realistajuggernautXL_ragnarokBy.safetensors305.0Fotorrealismo versátil (escenas, personas, ambientes).
rapidojuggernautXL_ragnarokBy.safetensors + LoRA SDXL-Lightning61.5Vista previa y borradores en ~5 segundos.
animeanimagine-xl-3.1.safetensors287.0Ilustración estilo anime (checkpoint no incluido en el server).

🧭 ¿Y los otros servidores MCP de ComfyUI?

Hay tres familias, y resuelven problemas distintos. Este no compite con las otras dos: las complementa.

ComfyUI MCP (este)Servidores de workflow graphAPIs cloud de imagen
Qué le pidesUn prompt + preset (producto, realista, rapido, anime)Un grafo de nodos en JSON (lo diseñas tú)Un prompt a un servicio remoto
Saber ComfyUINoSíNo
Dónde correTu GPU (RTX 3060)Tu GPUEl servidor de un tercero
Coste por imagen0 (tu electricidad)0Por imagen, según proveedor
PrivacidadEl prompt no sale de tu redIgualTu prompt sale a la nube
Comparte la GPU con el LLMSí (GPU Arbiter, 12 GB)DependeN/A
ClienteHTTP/SSE en LAN + stdio — cero PyTorch en el clienteNormalmente stdio localHTTP

En una frase:

  • Si necesitas control total del grafo de nodos → un servidor de workflow graph (p. ej. comfy-pilot).
  • Si no tienes GPU y no te importa pagar por imagen → una API cloud (Flux, Nano Banana, GPT-image).
  • Si tienes la GPU y quieres generar sin aprender ComfyUI, compartiendo la tarjeta con tu LLM → este.

🔗 Integración con Clientes MCP

Configuración para Claude Code CLI (~/.claude.json)
{
  "mcpServers": {
    "comfyui": {
      "url": "http://<YOUR_SERVER_IP>:8201/mcp"
    }
  }
}
Configuración para Hermes Gateway (~/.hermes/config.yaml)
mcp_servers:
  comfyui:
    url: "http://<YOUR_SERVER_IP>:8201/mcp"
    transport: "http"
Configuración para Cursor / Windsurf / Claude Desktop

Añade un servidor MCP de tipo SSE / HTTP con la URL http://<LAN_IP>:8201/mcp.


📋 Componentes Faltantes y Roadmap (Server Gaps)

Dado que este repo representa la capa MCP, los siguientes elementos están fuera de este repositorio y deben configurarse en el servidor host:

  1. Servidor Backend ComfyUI: Requiere instalación independiente de Python + PyTorch CUDA.
  2. Descarga de Checkpoints: Los modelos SDXL deben descargarse manualmente en el directorio models/checkpoints/ del servidor ComfyUI.
  3. GPU Arbiter Script: El script gpu-broker.sh y las reglas /etc/sudoers.d/gpu-arbiter deben residir en la máquina Linux con la GPU.
  4. Futuras Mejoras del MCP:
    • Soporte para inyección de workflows JSON personalizados dinámicos.
    • Cancelación y limpieza de colas de procesamiento vía tool MCP.
    • Conexión por WebSocket para reporte de progreso en tiempo real.

🧪 Pruebas Unitarias

uv run --with pytest --with pytest-asyncio pytest

📄 Licencia

Este proyecto está bajo la Licencia MIT. Consulta el archivo LICENSE para más detalles.

Questions fréquentes

Qu'est-ce que ComfyUI MCP ?

MCP server that wraps ComfyUI (SDXL/Wan 2.2) for image and short-video generation.

Comment installer ComfyUI MCP ?

Il s'exécute sur votre machine. Dans Claude Code : claude mcp add comfyui-mcp -e 'COMFYUI_URL=http://127.0.0.1:8188' -e 'COMFYUI_PUBLIC_URL=<COMFYUI_PUBLIC_URL>' -e 'MCP_AUTH_TOKEN=<your mcp_auth_token>' -- docker run -i --rm ghcr.io/germaniu/comfyui-mcp:0.1.1 --stdio. Pour les autres clients, collez la configuration JSON de cette page dans leurs réglages MCP.

Faut-il une clé API pour ComfyUI MCP ?

Oui. Il attend MCP_AUTH_TOKEN, à renseigner dans sa configuration.

ComfyUI MCP est-il open source ?

Oui. Son code est sur GitHub sous licence MIT.

Qui maintient ComfyUI MCP ?

Il est publié par GermaniU. AI.tn le référence sans le maintenir ni le recommander.

Issu du registre MCP officiel. Être listé n'est pas une recommandation : vérifiez le code et les permissions d'un serveur avant de lui donner accès à vos données.