Skip to main content
Glama

uncomfymcp

A Model Context Protocol (MCP) server that connects an AI assistant to a running ComfyUI instance. It fetches a workflow saved in ComfyUI, writes the prompt and seed into it, runs it, and returns the image inline in the chat — so it only works with text-to-image workflows that have a single prompt node and seed to inject into.

This is a third-party MCP server for ComfyUI. The official one, comfy-mcp, is available at https://github.com/Comfy-Org/comfy-mcp

Install

Requires Python 3.10+ and a running ComfyUI.

Linux and macOS:

git clone https://github.com/aschet/uncomfymcp.git
cd uncomfymcp
python3 -m venv .venv
.venv/bin/pip install -e .

Windows:

git clone https://github.com/aschet/uncomfymcp.git
cd uncomfymcp
python -m venv .venv
.venv\Scripts\pip install -e .

That gives you the command .venv/bin/uncomfymcp (.venv\Scripts\uncomfymcp.exe on Windows), which a client launches for you — nothing to start by hand beyond ComfyUI itself.

Related MCP server: comfyui-mcp

Connecting a Client

Any MCP client works. By default the server speaks stdio, meaning the client launches .venv/bin/uncomfymcp itself and talks to it over the process pipes. With --transport http it instead listens on http://127.0.0.1:8000/mcp for clients that connect over the network — with no authentication, so don't expose it without one in front.

Add this mcpServers entry to the client's config. Flags go in an "args" array, e.g. "args": ["--comfy-url", "http://host:8188", "--timeout", "600"] — add the first if ComfyUI isn't on localhost, and raise the timeout if your workflows are slow or an agent chains several generations.

{
  "mcpServers": {
    "uncomfy": {
      "command": "/path/to/uncomfymcp/.venv/bin/uncomfymcp"
    }
  }
}

On Windows, command is the .venv\Scripts\uncomfymcp.exe path instead.

  • Claude Desktop: add it to claude_desktop_config.json.

  • AnythingLLM: add it to anythingllm_mcp_servers.json (~/.config/anythingllm-desktop/storage/plugins/ on Linux), then start it from Settings → Agent Skills → MCP Servers and invoke with @agent. It renders no image at all, so add --no-inline-image to "args" — otherwise every generation wastes tens of thousands of tokens on base64 the agent can't even display.

Use

Claude Desktop

you:    which image workflows do I have?
claude: [list_workflows]
        Ready to generate with:
          Krea2
          Z-Image Turbo

        Present but not usable:
          Ideogram 4 -- needs models that are not installed:
          flux2-vae.safetensors, gemma4_e4b_it_fp8_scaled.safetensors,
          ideogram4_fp8_scaled.safetensors

you:    generate a red fox in deep snow using Krea2
claude: [image]  Krea2 · seed 12345 ·
        http://127.0.0.1:8188/view?filename=Krea2_turbo_00007_.png

The image shows inside the collapsed tool card — expand it, or use the URL.

AnythingLLM

Tool calls need the @agent prefix, and with --no-inline-image set (see above) there is no [image] block, only the line with the seed and URL:

you:    @agent generate a red fox in deep snow using Krea2
agent:  Krea2 · seed 12345 ·
        http://127.0.0.1:8188/view?filename=Krea2_turbo_00007_.png

Two tools are exposed:

Tool

Description

generate_image(prompt, workflow, seed?)

Generate and return the image. Seeds are random unless you pass one, and every result reports the seed it used. Pass --no-inline-image on the command line for a client that can't render one — it then returns only the seed and URL.

list_workflows()

The workflows saved in ComfyUI, split into those ready to run and those that cannot.

Limitations

  • Only the prompt and seed change — no width, height, steps or sampler; those come from the workflow. A sampler set to "fixed" in ComfyUI is not honoured.

  • Node detection can pick the wrong node when a workflow has several prompt boxes; set a node's Title to MCP:prompt to override.

  • Images are sent as WebP, downscaled and compressed to fit a 1 MB limit, with transparency preserved. The full-resolution original stays in ComfyUI's output folder.

Configuration

All settings are command-line flags.

Flag

Default

Description

--comfy-url

http://127.0.0.1:8188

Address of the ComfyUI server to generate on

--transport

stdio

stdio, or http to listen on a port

--listen

127.0.0.1:8000

Address this server binds to, with --transport http

--timeout

300

Seconds before giving up on a generation

Available Tools

2 tools
generate_imageA

Generate an image on ComfyUI and return it inline.

Returns " · seed · " plus -- unless this server was started with --no-inline-image -- the image itself.

Clients usually collapse tool results, so the image is easy to miss. Pass the URL on in your reply: it survives the collapse, and is how the user sees the picture when no image is returned. Write it bare so the client turns it into a link -- code formatting or backticks make it unclickable.

Use exactly the workflow name the user asked for. Similar names are different workflows -- "Krea2" and "Krea2+Upscale" are not interchangeable.

Fails if the workflow needs an input image or has no prompt node to patch.

Inputs: prompt (required), workflow (required), seed.

list_workflowsA

List the workflows saved in ComfyUI, ready ones first.

Call this instead of asking the user which workflows they have -- they expect you to look.

The reply separates workflows that can generate from those that cannot, because the models they reference are not installed or no prompt node was found. Only use the ready ones; naming another will fail.

Inputs: no named parameters.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

Loading tool schema changelog…

    TDQS

    A4.7/5.0

    Scored across 2 tools

    Disambiguation5/5

    list_workflows and generate_image are completely distinct: one discovers available workflows, the other executes generation. There is no possibility of confusing their roles.

    Naming Consistency5/5

    Both tool names follow the same verb_noun pattern (list_workflows, generate_image), making the interface predictable and consistent.

    Tool Count3/5

    At only 2 tools, the server feels thin, but the narrow scope of listing and generating ComfyUI workflows makes this minimal surface reasonable. Still, it is borderline per the calibration guideline.

    Completeness4/5

    The core workflow is complete: list ready workflows and generate images from them. Minor gaps exist, such as no workflow detail endpoint or explicit handling of input-image workflows, but these are edge cases rather than dead ends.

    Maintenance

    ActivityStale
    ResponsivenessNo recent community issues

    Related MCP Connectors

    Related MCP Servers

    • F
      license
      Not graded
      quality
      D
      maintenance
      MCP server exposing a local (or LAN) ComfyUI instance's HTTP API as tools, so an LLM client can queue generations, inspect the queue/history, upload reference images, browse installed models/nodes, and pull back generated images.
      -
    • A
      license
      Not graded
      quality
      D
      maintenance
      MCP server that enables AI agents to control a local ComfyUI instance for image generation, allowing workflow understanding, parameter modification, execution, and model discovery.
      16 npm
      3
      Apache 2.0
    • F
      license
      A
      quality
      D
      maintenance
      An MCP server for generating images and checking generation status through ComfyUI's API. It allows interaction with local ComfyUI instances by providing workflow-based image generation and status checking tools.
      3
      -