
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.
概览
封装自建 ComfyUI 引擎,让助手通过提示词和预设生成 SDXL 图片与 Wan 2.2 短视频。
- 可以做什么
- 用文本提示词生成图片,可选预设、画幅比例、随机种子、批量数量,以及覆盖 checkpoint、LoRA、步数和 CFG,并可加人脸细化与 JPEG 预览
- 对已生成的图片做 img2img 变体,可调降噪强度
- 生成短 MP4 视频:纯文本生成,或以已有图片作为首帧动画化,支持草稿模式和时长设置
- 查看后端状态:列出可用的 checkpoint、LoRA 与预设,查询 ComfyUI 版本、显存占用和队列
- 为已生成的文件构造局域网下载链接
- 适用场景
- 适合已在自己的 GPU 上运行 ComfyUI、希望助手直接出图或出短视频、又不想学节点图或在客户端装 PyTorch 的用户。也适合多台 MCP 客户端共用一块 GPU、并与本地大模型并存的局域网环境。
- 运行要求
- 需要可访问的 ComfyUI 后端及 SDXL 模型(视频还需 Wan 2.2 模型),本服务器不含推理引擎和模型权重。以本地进程运行(Python 3.11+,使用 uv 或 pip,或已发布的容器镜像)。需设置 COMFYUI_URL 指向引擎、COMFYUI_PUBLIC_URL 用于下载链接;MCP_AUTH_TOKEN 可选,仅在 HTTP 模式下生效。客户端与服务器之间需网络连通。
安装
在 SourceWeft 中
- 打开 控制台中的 ComfyUI MCP,将其添加到工作区。
- 为需要使用其工具的对话启用该服务。
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]
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
8201sin instalar PyTorch ni bajar modelos SDXL localmente. - 🧠 GPU Arbiter Inteligente: Alterna automáticamente entre
llama-server(LLMs) yComfyUIen GPUs de 12GB (RTX 3060) sin colisiones de VRAM. - 🎯 Presets Profesionales: Generación lista para producción con presets como
producto(RealVisXL V4.0) orealista(Juggernaut XL).
🏗️ Arquitectura y Deslinde de Componentes
⚠️ IMPORTANTE: Entender los Límites del Sistema
comfyui-mcpes ú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.
📦 Instalación Rápida
Requisitos
- Python 3.11+
uv≥ 0.13.4 (recomendado) opip≥ 26.2.2: las versiones anteriores aún confían en la CA emSign comprometida (GHSA-6q48-6c7w-9gw2).pyproject.tomlexige el mínimo de uv ([tool.uv] required-version).
Clonar e Instalar
⚙️ Configuración (Variables de Entorno)
Crea un archivo .env o exporta las siguientes variables:
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,rapidooanime. 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.0idéntica,1.0completamente 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): A14B16:9(832×480) o9:16(480×832); 5B16:9(1280×704),9:16(704×1280) o1:1(960×960). Default"16:9"; A14B explícito rechaza1:1yautoelige 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). Default3.image_filename(string, opcional): Imagen generada a animar desde[output]; conviene igualar la orientación.autoelige 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) o5b(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 rechazadraft=true.steps,cfg: A14B fija4y1con LoRA lightx2v; valores incompatibles con A14B explícito devuelven error, mientrasautoelige 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
🧭 ¿Y los otros servidores MCP de ComfyUI?
Hay tres familias, y resuelven problemas distintos. Este no compite con las otras dos: las complementa.
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)
Configuración para Hermes Gateway (~/.hermes/config.yaml)
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:
- Servidor Backend ComfyUI: Requiere instalación independiente de Python + PyTorch CUDA.
- Descarga de Checkpoints: Los modelos SDXL deben descargarse manualmente en el directorio
models/checkpoints/del servidor ComfyUI. - GPU Arbiter Script: El script
gpu-broker.shy las reglas/etc/sudoers.d/gpu-arbiterdeben residir en la máquina Linux con la GPU. - 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
📄 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版本历史
1- v0.1.1最新Oct 17, 2026
评分
已满足适用检查项的 50%
该评分衡量此收录条目的完整程度,依据注册中心条目、端点与公开来源计算得出。它不是对服务器本身的评价,也不表示服务器安全或当前可用:可连通性是带日期的检查结果,评分也不包含安装量或用户评价。
- 近 30 天内可连通25 分
请保持端点能够响应 MCP 握手;SourceWeft 每 30 天探测一次。
- 已声明认证方式10 分
请在注册中心条目中声明凭据请求头,或保持端点能够响应探测,以便判定其认证方式。
- 已列出工具15 分
请让服务器在无凭据时响应 tools/list,或发布可在沙箱中无凭据启动的软件包。
- 描述必需15 分
- 图标10 分
- 文档15 分
- 许可证10 分