RunComfy MCP
Servidor MCP oficial remoto para a API Serverless da RunComfy (ComfyUI): gerencie implantações de GPU e execute inferência assíncrona de imagem/vídeo.
Documentação
RunComfy MCP
Servidor MCP para a API Serverless RunComfy (ComfyUI). Gerencie implantações, execute inferências e recupere resultados de assistentes de IA como Claude, Cursor e Windsurf.
Site: www.runcomfy.com
Endpoint: https://mcp.runcomfy.com/mcp
Documentação: docs.runcomfy.com/mcp
O que ele faz
10 ferramentas que espelham docs.runcomfy.com/serverless 1:1:
| Categoria | Ferramentas |
|---|---|
| Gerenciamento de implantações | list_deployments, get_deployment, create_deployment, update_deployment, delete_deployment |
| Inferência | submit_request, get_request_status, get_request_result, cancel_request |
| Avançado | call_instance_proxy |
Configuração rápida
Claude Code
claude mcp add runcomfy \
--transport streamable-http \
https://mcp.runcomfy.com/mcp \
--header "Authorization: Bearer <YOUR_RUNCOMFY_TOKEN>"
Cursor
Adicione em .cursor/mcp.json:
{
"mcpServers": {
"runcomfy": {
"url": "https://mcp.runcomfy.com/mcp",
"headers": {
"Authorization": "Bearer <YOUR_RUNCOMFY_TOKEN>"
}
}
}
}
Windsurf
Adicione em Windsurf Settings > MCP:
{
"mcpServers": {
"runcomfy": {
"serverUrl": "https://mcp.runcomfy.com/mcp",
"headers": {
"Authorization": "Bearer <YOUR_RUNCOMFY_TOKEN>"
}
}
}
}
Obtenha seu token de API na página do seu Perfil.
Arquitetura
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 leve: CORS, verificação de tamanho do corpo, encaminha o token do chamador para o contêiner. Sem lógica de autenticação —api.runcomfy.netlida com a autenticação. - Contêiner Python (
server.py) — aplicativo FastMCP com 10 ferramentas. Usa o token do chamador (encaminhado via cabeçalhox-runcomfy-user-token) para todas as chamadas de API de saída. Cada usuário vê apenas suas próprias implantações. - Contêiner Cloudflare inicia automaticamente na primeira solicitação e dorme após 10 minutos de inatividade.
Estrutura do projeto
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
Desenvolvimento 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 locais:
http://127.0.0.1:8000/healthzhttp://127.0.0.1:8000/mcp
No modo local (sem Worker), o aplicativo Python usa RUNCOMFY_API_KEY de .env para todas as chamadas de saída.
Implantação
Requer o plano pago do Cloudflare Workers com Containers habilitados.
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
O endpoint MCP entra no ar em https://mcp.runcomfy.com/mcp (domínio personalizado configurado em wrangler.jsonc).
Variáveis de ambiente
Segredos do Worker (definidos via wrangler secret put)
| Nome | Obrigatório | Descrição |
|---|---|---|
RUNCOMFY_API_KEY | Sim | Chave de API de fallback para o contêiner |
Variáveis do Worker (em wrangler.jsonc)
| Nome | Padrão | Descrição |
|---|---|---|
CONTAINER_INSTANCE_NAME | runcomfy-unified | Nome da instância do Durable Object |
CONTAINER_STARTUP_TIMEOUT_MS | 15000 | Tempo máximo de espera para iniciar o contêiner |
CONTAINER_PORT_READY_TIMEOUT_MS | 30000 | Tempo máximo de espera para a porta ficar pronta |
MCP_MAX_BODY_BYTES | 1048576 | Tamanho máximo do corpo da solicitação |
RUNCOMFY_SERVERLESS_BASE_URL | https://api.runcomfy.net | URL base da API Serverless |
Desenvolvimento local (arquivo .env)
| Nome | Obrigatório | Descrição |
|---|---|---|
RUNCOMFY_API_KEY | Sim | Seu token de API RunComfy |
RUNCOMFY_SERVERLESS_BASE_URL | Não | Substituir URL base (padrão: https://api.runcomfy.net) |
RUNCOMFY_MCP_MOUNT_PREFIX | Não | Prefixo de caminho para montagem MCP (padrão: vazio) |