comfyui-mcp
Local-first, agent-native control plane for ComfyUI — MCP server + autonomous sidebar agent that drives your live graph in natural language on ANY LLM: Claude/ChatGPT/Gemini on your subscription (no API key), free local models via Ollama (fully offline)
Versions
0.48.21latest0.48.200.48.190.48.180.48.17+ show 114 moreshow less
0.48.160.48.150.48.140.48.130.48.120.48.110.48.100.48.90.48.80.48.70.48.60.48.50.48.40.48.30.48.20.48.10.48.00.47.00.46.00.45.00.44.00.43.10.43.00.42.00.41.00.40.00.39.00.38.10.38.00.37.00.36.00.35.00.34.00.33.00.32.00.31.10.31.00.30.00.29.00.28.00.27.00.26.50.26.40.26.30.26.20.26.10.26.00.25.20.25.10.25.00.24.50.24.40.24.30.24.20.24.10.24.00.23.50.23.40.23.30.23.20.23.10.23.00.22.00.21.10.21.00.20.90.20.80.20.70.20.60.20.50.20.40.20.30.20.20.20.10.20.00.19.10.19.00.18.00.17.10.17.00.16.00.15.00.14.00.13.00.12.00.11.10.11.00.10.10.10.00.9.60.9.50.9.40.9.30.9.20.9.10.9.00.8.10.8.00.7.00.6.10.6.00.5.00.4.10.4.00.3.20.3.10.3.00.2.00.1.50.1.40.1.30.1.20.1.10.1.0Tools 50
visualize_workflow DRAW a diagram of, or convert, workflow JSON you PASS IN (a JSON string or object) — it does NOT read the user
comfyui-panel get_system_stats Inspect the connected ComfyUI server: what it is running on, what it has logged, and whether it is healthy enough to dispatch work to. All three actions are READ-ONLY — nothing here mutates anything. Driven by the `action` parameter:\n
enqueue_workflow Submit work to the ComfyUI execution queue — the primary way an agent starts a render. Driven by the `action` parameter:\n
install_custom_node Install, repair, enable/disable and remove ComfyUI custom node packs on this ComfyUI. To FIND a pack in the public registry first, use search_custom_nodes. Driven by the `action` parameter:\n
search_custom_nodes Discover ComfyUI custom node PACKS in the public ComfyUI Registry (registry.comfy.org). Read-only and network-only: queries the hosted registry over HTTP and does NOT require a running ComfyUI or COMFYUI_PATH. This searches node PACKS, not models (use download_model action:\
apply_manifest Apply a ComfyUI setup manifest from an inline object or .json/.yaml/.yml file. Composes custom-node installs and model downloads, installs pip packages, and reports apt entries as skipped (system packages need manual/root installation). LOCAL ComfyUI: model downloads use the connected server
download_model Find model weights and get them onto the connected ComfyUI, and track the transfers. Driven by the `action` parameter:\n
list_local_models Inspect what models this ComfyUI has installed, and where it looks for them. Driven by the `action` parameter:\n
comfy_cli Drive the official comfy-cli (envelope/1 JSON contract) for the selected ComfyUI environment. The MCP resolves `comfy` from COMFY_CLI_PATH, PATH, or the selected workspace
list_packs Bundled ComfyUI knowledge — installer packs, model-family skills, workflow templates — plus the two workflow-readiness checks. Driven by the `action` parameter:\n
train_prepare_dataset Stage and curate the training DATASETS a LoRA run consumes — the images and their captions. Datasets are keyed by `name`; the jobs that train on them live in the separate `train_start` tool and are keyed by `id`. Driven by the `action` parameter:\n
train_start Run and inspect LoRA training JOBS — launch a run, poll it, stop it, delete it, and read back the settings behind it. Jobs are keyed by `id`; the datasets they train on live in the separate `train_prepare_dataset` tool and are keyed by `name`. Driven by the `action` parameter:\n
train_doctor Preflight and set up the TRAINER ITSELF — the docker/GPU/venv machinery every training job needs. Touches no dataset and no job. Driven by the `action` parameter:\n
get_history Read what has already been generated on this machine — execution history, why a run failed, and the settings your past renders actually used. Driven by the `action` parameter:\n
list_api_nodes Discover and run hosted partner/API nodes on the connected ComfyUI (e.g. Flux/BFL, Ideogram, Kling, Stability). These call external image/video providers and run server-side, requiring a Comfy account/API key configured on the ComfyUI server — they spend PAID api credits, unlike a local-GPU render. Driven by the `action` parameter:\n
clear_vram Free GPU VRAM by unloading cached models from ComfyUI. Use this between generation runs with different model families (e.g. switching from SDXL to Flux) or when running low on VRAM. Optionally unload only models or only memory.
report_issue File or triage a GitHub issue for a bug/problem you hit (ComfyUI, a workflow, a model, custom nodes, or comfyui-mcp/its panel). For OUR repos (artokun/comfyui-mcp, artokun/comfyui-mcp-panel) it sends the report to the AI triage worker, which searches existing OPEN and CLOSED issues, version-matches, and either files a new issue, adds context to an existing one, or — if the problem was already FIXED in a newer version than the user runs — answers with the fixing PR + fixed-in version and a recommendation to upgrade (no new issue). It returns that triage result plus an instant check of whether the user is on the latest versions. TIMING: this call BLOCKS while the triage runs — typically a few minutes — and that wait is normal, not a hang. It always returns eventually (every request is time-capped and the poll budget is bounded); on a failing network the caps make that wait longer, but never indefinite. Do not abort a slow call just to retry it: once the worker has accepted the report it keeps triaging on its own — filing, deduping into an existing issue, advising an upgrade, or (rarely) reporting that it could not file — so a blind retry can double-file. If triage outlasts the polling budget the call still returns, with pending:true (and a job_id when the worker gave one — an accepted submit whose acknowledgement was unreadable returns pending without it). If the worker is unreachable it falls back to a prefilled GitHub
model_metadata Curate a model file
my_model.safetensors get_image Fetch, browse and inspect ComfyUI images and registered assets. Driven by the `action` parameter:\n
upload_image Put a file where ComfyUI (or cloud storage) can read it. Driven by the `action` parameter:\n
generate_image Generate media from a prompt or an existing image — the high-level entry points that build the graph for you. Every action enqueues on the connected ComfyUI and returns the prompt_id immediately; the resulting asset_id arrives in the completion notification. Driven by the `action` parameter:\n
install_comfyui Install, update and configure the local ComfyUI installation, its sidebar panel, and this MCP server itself. Driven by the `action` parameter:\n
restart_comfyui Control the lifecycle of the ComfyUI server process. Driven by the `action` parameter:\n
workspace Inspect and manage ComfyUI workspaces (local installs). Driven by the `action` parameter:\n
node_pack Author, edit, test and publish YOUR OWN ComfyUI custom-node pack under <COMFYUI_PATH>/custom_nodes/. LOCAL-ONLY: it acts on the local filesystem and is meaningless for a remote --comfyui-url target. Every file-touching action (list_files, read, search, write, patch, git) is jailed to custom_nodes/ under the resolved local base — the running server
get_defaults Read and write settings — either OUR generation defaults or ComfyUI
calculate Evaluate a batch of math expressions exactly — no ComfyUI connection needed, so it works even in cloud mode or when ComfyUI is down. A safe, zero-dependency expression evaluator (no eval): numbers only, no strings/arrays/property access. Handy for the arithmetic agents get wrong token-by-token.\n\n
batch Run MANY ComfyUI workflows under one durable batch_id. Driven by the `action` parameter:\n
queue Inspect and manage the ComfyUI execution queue. Driven by the `action` parameter:\n
get_workflow Return, list, summarize or query a SAVED workflow FILE — files on disk, named from the library or given as a path/JSON — NOT the graph open on the user
save_workflow WRITE to the ComfyUI user library: persist a workflow, or capture/verify its provenance lock. This is the only tool here that writes — reading is get_workflow. Driven by the `action` parameter:\n
node_snapshot Custom-node snapshots via ComfyUI-Manager (mirrors `comfy node save-snapshot` / `restore-snapshot`). Driven by the `action` parameter:\n
create_workflow Author and check ComfyUI workflow JSON. Driven by the `action` parameter:\n
runpod Deploy, start, stop, inspect and connect to RunPod cloud GPU pods, and switch rendering between your local machine and a pod. Driven by the `action` parameter. SPENDS MONEY: action:\
runpod_watch Watch a RunPod pod
apps Micro-apps on this ComfyUI (panel Apps feature): named workflows packaged for one-click runs. Driven by the `action` parameter:\n
comfyui-mcp-introspect bisect Binary-search (git-bisect style) over installed ComfyUI custom nodes to find which one causes a problem. A state machine driven by the `action` parameter:\n
ping Returns pong
echo Echoes the message
test-client parked Registered but switched off.
retired-redirect-test-client no-tools call_tool A workflow that happens to be named call_tool.
list_tools A workflow squatting list_tools.
test c Permissions 4
network medium filesystem low shell high env_vars low