Command Palette

Search for a command to run...

UnylyUnyly
Весь каталог

ComfyMCP

БесплатноНе проверен

Enables Claude to generate images via ComfyUI from natural language requests, automating workflow construction and execution.

GitHubEmbed

Описание

Enables Claude to generate images via ComfyUI from natural language requests, automating workflow construction and execution.

README

Give Claude the ability to generate images with ComfyUI. Just ask for what you want in natural language.

You: "Generate an image of a robot painting a sunset"

Claude: I'll create that image for you.
        [builds 7-node workflow, executes it]
        Done! Generated robot_painting_00001.png in 2.3 seconds.

What You Can Ask

Once installed, Claude can handle requests like:

Image Generation

  • "Generate an image of a cat astronaut floating in space"
  • "Create a 1024x1024 fantasy landscape using SDXL"
  • "Make a portrait with negative prompt 'blurry, low quality'"

Model & System Info

  • "What checkpoint models do I have?"
  • "Show me the available samplers"
  • "What's my GPU memory usage?"

Workflow Control

  • "Use 30 steps instead of 20 for better quality"
  • "Generate 4 variations with different seeds"
  • "What's the status of my last generation?"

Claude handles all the complexity—discovering nodes, building connections, validating the workflow, and monitoring execution.

How It Works

When you ask Claude to generate an image, it builds a complete ComfyUI workflow:

[1] CheckpointLoaderSimple ─────────────────────────────┐
     ├── MODEL ──────────────────────────────────────────┤
     ├── CLIP ───┬──→ [3] CLIPTextEncode (positive) ────┤
     │           └──→ [4] CLIPTextEncode (negative) ────┤
     └── VAE ────────────────────────────────────────────┤
                                                         ▼
[2] EmptyLatentImage ──────────────────────────→ [5] KSampler
                                                         │
                                                         ▼
                                                 [6] VAEDecode
                                                         │
                                                         ▼
                                                 [7] SaveImage

This happens automatically. Claude:

  1. Discovers available nodes and their inputs/outputs
  2. Builds the workflow with proper connections
  3. Validates everything before execution
  4. Queues the job and monitors completion
  5. Reports the output filename

Installation

Prerequisites

  • ComfyUI running (default: localhost:8188)
  • uv package manager
# Install uv if needed
curl -LsSf https://astral.sh/uv/install.sh | sh

Claude Code (CLI)

claude mcp add comfyui \
  --transport stdio \
  --env COMFYUI_HOST=127.0.0.1 \
  --env COMFYUI_PORT=8188 \
  -- uvx --from git+https://github.com/hernantech/comfymcp comfymcp

Claude Desktop

Add to your config file:

  • Linux: ~/.config/claude/claude_desktop_config.json
  • macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
{
  "mcpServers": {
    "comfyui": {
      "command": "uvx",
      "args": ["--from", "git+https://github.com/hernantech/comfymcp", "comfymcp"],
      "env": {
        "COMFYUI_HOST": "127.0.0.1",
        "COMFYUI_PORT": "8188"
      }
    }
  }
}

Verify Installation

Ask Claude: "Check if ComfyUI is connected"

You should see confirmation that the server is online with GPU info.

Configuration

Environment Variable Description Default
COMFYUI_HOST ComfyUI server address 127.0.0.1
COMFYUI_PORT ComfyUI server port 8188
COMFYUI_API_KEY API key (if required) None

For remote ComfyUI servers, update the host:

claude mcp add comfyui \
  --env COMFYUI_HOST=192.168.1.100 \
  ...

Reference

Available MCP Tools

Workflow Execution
Tool Description
queue_prompt Submit a workflow for execution
get_queue_status Check running/pending jobs
get_job_status Get status of a specific job
get_history View execution history
interrupt_execution Stop current generation
clear_queue Clear pending jobs
Workflow Building
Tool Description
create_workflow Start a new workflow session
add_node Add a node with inputs
build_workflow Finalize and validate
validate_workflow Check for errors
list_nodes Search available nodes
get_node_info Get node specifications
refresh_nodes Reload node definitions
Assets & Models
Tool Description
list_models List checkpoints, LoRAs, VAEs, etc.
list_embeddings List textual inversions
list_output_images List generated images
get_image Retrieve an image
upload_image Upload for img2img
System
Tool Description
check_connection Verify ComfyUI is reachable
get_system_stats GPU memory, system info
free_memory Unload models, clear cache
get_extensions List installed extensions

MCP Resources

URI Description
comfyui://nodes All available nodes
comfyui://nodes/categories Node categories
comfyui://nodes/{class_type} Specific node definition
comfyui://outputs Recent outputs
comfyui://images/{filename} Retrieve image

Python API

For programmatic use outside of MCP:

from comfymcp.workflow import WorkflowBuilder

builder = WorkflowBuilder()

# Nodes return refs with named outputs
checkpoint = builder.add_node("CheckpointLoaderSimple",
    ckpt_name="sd_turbo.safetensors")

latent = builder.add_node("EmptyLatentImage",
    width=512, height=512, batch_size=1)

positive = builder.add_node("CLIPTextEncode",
    clip=checkpoint.CLIP,  # Named output connection
    text="a beautiful sunset")

negative = builder.add_node("CLIPTextEncode",
    clip=checkpoint.CLIP,
    text="ugly, blurry")

sampler = builder.add_node("KSampler",
    model=checkpoint.MODEL,
    positive=positive.CONDITIONING,
    negative=negative.CONDITIONING,
    latent_image=latent.LATENT,
    seed=42, steps=4, cfg=1.0,
    sampler_name="euler", scheduler="normal", denoise=1.0)

decode = builder.add_node("VAEDecode",
    samples=sampler.LATENT,
    vae=checkpoint.VAE)

builder.add_node("SaveImage",
    images=decode.IMAGE,
    filename_prefix="output")

workflow = builder.build()

Templates

from comfymcp.templates import Text2ImgTemplate, Img2ImgTemplate

# Text to image
txt2img = Text2ImgTemplate(
    checkpoint="sd_turbo.safetensors",
    positive_prompt="a majestic mountain",
    negative_prompt="ugly, blurry",
    width=512, height=512,
    steps=4, cfg=1.0
)
workflow = txt2img.build()

# Image to image
img2img = Img2ImgTemplate(
    checkpoint="sd_turbo.safetensors",
    image="input.png",
    positive_prompt="enhance details",
    denoise=0.6
)
workflow = img2img.build()

Direct Client Usage

from comfymcp.client import ComfyUIClient

async with ComfyUIClient(host="127.0.0.1", port=8188) as client:
    # Queue workflow
    result = await client.queue_prompt(workflow)

    # Check status
    history = await client.get_history(prompt_id=result.prompt_id)

    # List models
    checkpoints = await client.get_models("checkpoints")

Requirements

  • Python 3.10+
  • ComfyUI server running
  • MCP-compatible client (Claude Code, Claude Desktop, Cursor, etc.)

License

MIT License - see LICENSE for details.

from github.com/hernantech/comfymcp

Установка ComfyMCP

У этого сервера нет опубликованного пакета — он собирается из исходников. Открой репозиторий и следуй инструкции в README.

▸ github.com/hernantech/comfymcp

FAQ

ComfyMCP MCP бесплатный?

Да, ComfyMCP MCP бесплатный — установка в пару кликов через Unyly без оплаты.

Нужен ли API-ключ для ComfyMCP?

Нет, ComfyMCP работает без API-ключей и переменных окружения.

ComfyMCP — hosted или self-hosted?

Self-hosted: сервер запускается локально на твоей машине командой из раздела установки.

Как установить ComfyMCP в Claude Desktop, Claude Code или Cursor?

Открой ComfyMCP на unyly.org, выбери вкладку своего клиента (Claude Desktop, Claude Code, Cursor) и нажми Install — конфиг сгенерируется автоматически, без правки JSON.

Похожие MCP

Compare ComfyMCP with

Не уверен что выбрать?

Найди свой стек за 60 секунд

Автор?

Embed-бейдж для README

Похожее

Все в категории ai