trackmcp
Back to directory
runcomfy-com

runcomfy-mcp

View on GitHub

Remote MCP server for the RunComfy Serverless API (ComfyUI)

0 stars PythonOthers Updated Jul 15, 2026
aicomfyuigpuimage-generationmcpmcp-servermodel-context-protocolruncomfyserverlessvideo-generation

Documentation

RunComfy MCP

Website
Docs

MCP server for the RunComfy Serverless API (ComfyUI). Manage deployments, run inference, and retrieve results from AI assistants like Claude, Cursor, and Windsurf.

Website: www.runcomfy.com

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

Docs: docs.runcomfy.com/mcp


What it does

10 tools that mirror docs.runcomfy.com/serverless 1:1:

CategoryTools
Deployment management`list_deployments`, `get_deployment`, `create_deployment`, `update_deployment`, `delete_deployment`
Inference`submit_request`, `get_request_status`, `get_request_result`, `cancel_request`
Advanced`call_instance_proxy`

Quick setup

Claude Code

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

Cursor

Add to `.cursor/mcp.json`:

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

Windsurf

Add to Windsurf Settings > MCP:

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

Get your API token from your Profile page.


Architecture

code
MCP Client  ──Bearer token──>  Cloudflare Worker (/mcp)
                                      │
                                      ▼
                              Cloudflare Container
                              (Python FastMCP app)
                                      │
                                      ▼
                              api.runcomfy.net
                              (using caller's token)
  • Cloudflare Worker (`src/index.ts`) — thin proxy: CORS, body size check, forwards the caller's token to the container. No auth logic — `api.runcomfy.net` handles authentication.
  • Python container (`server.py`) — FastMCP app with 10 tools. Uses the caller's token (forwarded via `x-runcomfy-user-token` header) for all outbound API calls. Each user sees only their own deployments.
  • Cloudflare Container auto-starts on first request, sleeps after 10 minutes idle.

Project layout

code
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

Local development

bash
# 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

Local endpoints:

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

In local mode (no Worker), the Python app uses `RUNCOMFY_API_KEY` from `.env` for all outbound calls.


Deploy

Requires Cloudflare Workers Paid plan with Containers enabled.

bash
npm install

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

# Deploy
CLOUDFLARE_ACCOUNT_ID= npx wrangler deploy

The MCP endpoint goes live at `https://mcp.runcomfy.com/mcp` (custom domain configured in `wrangler.jsonc`).


Environment variables

Worker secrets (set via `wrangler secret put`)

NameRequiredDescription
`RUNCOMFY_API_KEY`YesFallback API key for the container

Worker vars (in `wrangler.jsonc`)

NameDefaultDescription
`CONTAINER_INSTANCE_NAME``runcomfy-unified`Durable Object instance name
`CONTAINER_STARTUP_TIMEOUT_MS``15000`Max wait for container start
`CONTAINER_PORT_READY_TIMEOUT_MS``30000`Max wait for port ready
`MCP_MAX_BODY_BYTES``1048576`Max request body size
`RUNCOMFY_SERVERLESS_BASE_URL``https://api.runcomfy.net`Serverless API base URL

Local dev (`.env` file)

NameRequiredDescription
`RUNCOMFY_API_KEY`YesYour RunComfy API token
`RUNCOMFY_SERVERLESS_BASE_URL`NoOverride base URL (default: `https://api.runcomfy.net`)
`RUNCOMFY_MCP_MOUNT_PREFIX`NoPath prefix for MCP mount (default: empty)

Frequently asked questions

What is runcomfy-mcp?

runcomfy-mcp is Remote MCP server for the RunComfy Serverless API (ComfyUI)

How do I install runcomfy-mcp?

Open the GitHub repository and follow its README. Most MCP servers are added to your client's MCP config, then called by your agent.

Is runcomfy-mcp open source?

Yes — it is hosted on GitHub at https://github.com/runcomfy-com/runcomfy-mcp.

Related MCP tools

Run your own MCP server? See who uses it and what to fix.

Measure it with TrackMCP