RunComfy MCP

Servidor MCP oficial remoto para la API Serverless de RunComfy (ComfyUI): administra despliegues de GPU y ejecuta inferencia asíncrona de imágenes/videos.

Documentación

RunComfy MCP

Website Docs

Servidor MCP para la API Serverless de RunComfy (ComfyUI). Gestiona despliegues, ejecuta inferencias y recupera resultados desde asistentes de IA como Claude, Cursor y Windsurf.

Sitio web: www.runcomfy.com

Endpoint: https://mcp.runcomfy.com/mcp

Documentación: docs.runcomfy.com/mcp


Qué hace

10 herramientas que reflejan docs.runcomfy.com/serverless 1:1:

CategoríaHerramientas
Gestión de despliegueslist_deployments, get_deployment, create_deployment, update_deployment, delete_deployment
Inferenciasubmit_request, get_request_status, get_request_result, cancel_request
Avanzadocall_instance_proxy

Configuración rápida

Claude Code

claude mcp add runcomfy \
  --transport streamable-http \
  https://mcp.runcomfy.com/mcp \
  --header "Authorization: Bearer <YOUR_RUNCOMFY_TOKEN>"

Cursor

Añade a .cursor/mcp.json:

{
  "mcpServers": {
    "runcomfy": {
      "url": "https://mcp.runcomfy.com/mcp",
      "headers": {
        "Authorization": "Bearer <YOUR_RUNCOMFY_TOKEN>"
      }
    }
  }
}

Windsurf

Añade en Windsurf Settings > MCP:

{
  "mcpServers": {
    "runcomfy": {
      "serverUrl": "https://mcp.runcomfy.com/mcp",
      "headers": {
        "Authorization": "Bearer <YOUR_RUNCOMFY_TOKEN>"
      }
    }
  }
}

Obtén tu token de API desde tu página de Perfil.


Arquitectura

MCP Client  ──Bearer token──>  Cloudflare Worker (/mcp)
                                      │
                                      ▼
                              Cloudflare Container
                              (Python FastMCP app)
                                      │
                                      ▼
                              api.runcomfy.net
                              (using caller's token)
  • Cloudflare Worker (src/index.ts) — proxy ligero: CORS, verificación de tamaño de cuerpo, reenvía el token del llamante al contenedor. Sin lógica de autenticación — api.runcomfy.net maneja la autenticación.
  • Contenedor Python (server.py) — aplicación FastMCP con 10 herramientas. Usa el token del llamante (reenviado mediante el encabezado x-runcomfy-user-token) para todas las llamadas API salientes. Cada usuario ve solo sus propios despliegues.
  • Contenedor Cloudflare se inicia automáticamente en la primera solicitud y se duerme después de 10 minutos de inactividad.

Estructura del proyecto

src/index.ts          Cloudflare Worker entrypoint
server.py             MCP tool definitions (10 tools)
runcomfy_client.py    RunComfy API client (serverless endpoints)
container_app.py      ASGI middleware (request IDs, token forwarding)
container_entrypoint.py  Uvicorn startup
container_runtime.py  Env validation, structured logging
wrangler.jsonc        Cloudflare Worker + Container config
Dockerfile            Container image
.env.example          Local dev config

Desarrollo local

# Python 3.11+
python3.11 -m venv .venv
source .venv/bin/activate
pip install -r requirements.txt
cp .env.example .env
# Set RUNCOMFY_API_KEY in .env
python -m container_entrypoint

Endpoints locales:

  • http://127.0.0.1:8000/healthz
  • http://127.0.0.1:8000/mcp

En modo local (sin Worker), la aplicación Python usa RUNCOMFY_API_KEY desde .env para todas las llamadas salientes.


Despliegue

Requiere el plan de pago Cloudflare Workers con Containers habilitado.

npm install

# Set the API key secret (one-time)
npx wrangler secret put RUNCOMFY_API_KEY

# Deploy
CLOUDFLARE_ACCOUNT_ID=<your-account-id> npx wrangler deploy

El endpoint MCP se activa en https://mcp.runcomfy.com/mcp (dominio personalizado configurado en wrangler.jsonc).


Variables de entorno

Secretos del Worker (configurados mediante wrangler secret put)

NombreRequeridoDescripción
RUNCOMFY_API_KEYClave API de respaldo para el contenedor

Variables del Worker (en wrangler.jsonc)

NombrePredeterminadoDescripción
CONTAINER_INSTANCE_NAMEruncomfy-unifiedNombre de la instancia del Durable Object
CONTAINER_STARTUP_TIMEOUT_MS15000Espera máxima para el inicio del contenedor
CONTAINER_PORT_READY_TIMEOUT_MS30000Espera máxima para que el puerto esté listo
MCP_MAX_BODY_BYTES1048576Tamaño máximo del cuerpo de la solicitud
RUNCOMFY_SERVERLESS_BASE_URLhttps://api.runcomfy.netURL base de la API Serverless

Desarrollo local (archivo .env)

NombreRequeridoDescripción
RUNCOMFY_API_KEYTu token de API de RunComfy
RUNCOMFY_SERVERLESS_BASE_URLNoSobrescribe la URL base (predeterminado: https://api.runcomfy.net)
RUNCOMFY_MCP_MOUNT_PREFIXNoPrefijo de ruta para el montaje MCP (predeterminado: vacío)