ComfyUI MCP

io.github.GermaniU由 GitHub 帳號 GermaniU 發布v0.1.1更新於 Oct 31, 2026

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

已驗證STDIO僅桌面媒體與設計AI 與機器學習

概覽

AI 產生的概覽

本機 MCP 伺服器,包裝自架的 ComfyUI 引擎,讓助理透過提示詞與預設集產生 SDXL 圖片與 Wan 2.2 短影片。

可以做什麼
  • 以文字提示詞產生圖片,可選預設集、畫面比例、隨機種子、批次數量,以及臉部細節或 JPEG 預覽
  • 用 img2img 與降噪強度對已產生的圖片做變體
  • 產生 1 至 5 秒的 MP4 影片,支援文生影片、以產生圖片為起點的動畫,以及草稿模式
  • 檢視後端狀態:列出可用的檢查點、LoRA 與預設集,查詢 ComfyUI 版本、顯示記憶體用量與佇列
  • 為先前產生的檔案建立區域網路下載連結
適用情境
當你已在自己的 GPU 上執行 ComfyUI,希望助理直接產出圖片或短影片,而不必學習節點圖或在用戶端安裝 PyTorch 時使用。適合在同一張 12 GB 顯示卡上讓 LLM 與 ComfyUI 共用的區域網路環境。
執行需求
需要可連線的 ComfyUI 後端(COMFYUI_URL,預設回送埠 8188),並已另行安裝 SDXL 檢查點,影片還需 Wan 2.2 模型;下載連結需設定 COMFYUI_PUBLIC_URL。伺服器本身以容器映像執行,或以 Python 3.11 以上搭配 uv 安裝。可選 MCP_AUTH_TOKEN、MCP_HOST、MCP_PORT、CORS 與逾時變數。
安裝前請注意
未設定 MCP_AUTH_TOKEN 時,區域網路內任何機器,或在 CORS 允許所有來源時區域網路瀏覽器中開啟的網頁,都能產生圖片並佔用 GPU。產生耗時長,逾時可能中斷仍在執行的 ComfyUI 工作,影響同時進行的作業。伺服器不附帶模型,第三方檢查點、LoRA 與 GGUF 套件各有自己的授權。影片整合尚未在真實 GPU 上測試。

安裝

在 SourceWeft 中

  1. 開啟 儀表板中的 ComfyUI MCP,將其新增到工作區。
  2. 為需要使用其工具的對話啟用該服務。

Desktop only,透過 STDIO。 STDIO 服務會啟動本機處理程序,因此需要 SourceWeft 桌面主機。

其他 MCP 客戶端

參照 儲存庫 中的啟動說明。

README

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

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.

[License: MIT] [MCP] [Python] [CI] [FastMCP] [PRs Welcome]

[ComfyUI MCP server]

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

[El agente genera una imagen real vía MCP en la RTX 3060]

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

bash
git clone https://github.com/GermaniU/comfyui-mcp.gitcd comfyui-mcp
# Crear entorno virtual e instalaruv venvsource .venv/bin/activateuv 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.
VIDEO_TIMEOUT_SECONDS4200Espera máxima 5B tras enviar el prompt (incluye cola y carga fría).
A14B_TIMEOUT_SECONDS2700Espera máxima A14B tras enviar el prompt (incluye cola y carga fría).

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 MP4 de 1-5 s. Sin imagen usa Wan 2.2 TI2V 5B (~720p, 24 fps, 30 pasos uni_pc/simple, CFG 5, shift 8); con image_filename recomienda Wan 2.2 A14B I2V GGUF (16 fps, 480×832 o 832×480). En benchmarks locales de 5 s/121 frames, el 5B fp8 tardó 1620.7–1903.6 s (~27–31.7 min) en dos escenas/orientaciones; A14B I2V, 489.2 s (~8.2 min) para 81 frames con una imagen de mapache. Son mediciones, no garantías para otros inputs ni para draft. Requiere modelos separados (ver SERVER_SETUP). No se ha probado aún esta integración MCP contra la GPU real.

  • Parámetros:
    • prompt (string, requerido): Escena y movimiento, preferentemente en inglés.
    • aspect (string, opcional): A14B 16:9 (832×480) o 9:16 (480×832); 5B 16:9 (1280×704), 9:16 (704×1280) o 1:1 (960×960). Default "16:9"; A14B explícito rechaza 1:1 y auto elige 5B.
    • seconds (integer, opcional): 1-5 (se recorta fuera del rango); A14B 16 fps + 1 frame (5 s = 81), 5B 24 fps + 1 (5 s = 121). Default 3.
    • image_filename (string, opcional): Imagen generada a animar desde [output]; conviene igualar la orientación. auto elige A14B solo con imagen, parámetros compatibles y nodos/pesos disponibles en ComfyUI; de lo contrario usa 5B e indica el motivo. Sin imagen usa 5B.
    • model (string, opcional): auto (default), a14b (requiere imagen) o 5b (conserva la ruta I2V previa y T2V). No cambia los argumentos anteriores.
    • draft (bool, opcional): Solo 5B: mantiene la resolución ~720p y recorta a un máximo de 2 s (49 frames a 24 fps); no reduce resolución ni tiene tiempo medido. A14B rechaza draft=true.
    • steps, cfg: A14B fija 4 y 1 con LoRA lightx2v; valores incompatibles con A14B explícito devuelven error, mientras auto elige 5B. 5B usa 30 y 5 por defecto; valores explícitos los sustituyen.
    • negative_prompt, seed, filename_prefix (opcionales). Default de prefijo "mcp-video".
    • preview (bool, opcional): Miniatura JPEG del primer frame.

Los timeouts se configuran al iniciar el servidor con las variables anteriores: cuentan desde el envío, incluyendo cola, carga y generación; no garantizan un tiempo de respuesta ni una cancelación efectiva. Al vencer se intenta retirar el prompt de la cola e interrumpir ComfyUI, pero el trabajo puede continuar y la interrupción de ComfyUI puede afectar otra ejecución concurrente. Ajusta los límites según carga real y timeout del cliente MCP. negative_prompt=null usa el negativo por defecto; "" lo desactiva.

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)

json
{  "mcpServers": {    "comfyui": {      "url": "http://<YOUR_SERVER_IP>:8201/mcp"    }  }}

Configuración para Hermes Gateway (~/.hermes/config.yaml)

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

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

📄 Licencia

Este código MCP está bajo la Licencia MIT (LICENSE); no licencia los modelos ni los distribuye. Los repositorios originales de Wan 2.2 TI2V-5B y Wan 2.2 I2V-A14B declaran Apache 2.0 para sus modelos. Los empaquetados ComfyUI, GGUF y LoRA de terceros pueden tener términos propios: verifica las licencias de cada distribución antes de descargarlos, redistribuirlos o usarlos comercialmente. Requisitos y nombres de archivos en SERVER_SETUP.

來源:README.md,提交 2467770

工具

0
SourceWeft 尚未在沙箱中啟動過該軟體包,因此其工具未知。

版本歷史

1
  1. v0.1.1最新Oct 17, 2026

評分

已滿足適用檢查項的 50%

該評分衡量此收錄條目的完整程度,依據註冊中心條目、端點與公開來源計算得出。它不是對伺服器本身的評價,也不表示伺服器安全或目前可用:可連通性是帶日期的檢查結果,評分也不包含安裝量或使用者評價。

  • 近 30 天內可連通25 分

    請保持端點能夠回應 MCP 握手;SourceWeft 每 30 天探測一次。

  • 已宣告認證方式10 分

    請在註冊中心條目中宣告憑證請求標頭,或保持端點能夠回應探測,以便判定其認證方式。

  • 已列出工具15 分

    請讓伺服器在無憑證時回應 tools/list,或發布可在沙箱中無憑證啟動的軟體包。

  • 描述必需15 分
  • 圖示10 分
  • 文件15 分
  • 授權條款10 分