Comfyui MCP
Local-first, agent-native control plane for ComfyUI — MCP server + sidebar agent that generates images, video & audio, authors and runs workflows, and edits your live graph in natural language on ANY LLM (Claude, ChatGPT, Gemini, offline Ollama, or any hosted model). 178 tools, 36 AI skills, 55 installer packs. Local, LAN, VPS, or Comfy Cloud.
Comfyui MCP is an open-source mcp server by artokun, written mainly in TypeScript, with 881 GitHub stars and the MIT license. Its code was last updated Oct 26, 2026.
Scan summary: scanned Nov 5, 2026 at commit 707474d. Seen able to read environment and secrets. Scan policy
707474d · Nov 5, 2026Findings (52)
- highHigh. Something risky that needs a close look before you install.dropper issueDetails are available to the maintainer after claiming this listing.
- highHigh. Something risky that needs a close look before you install.dropper issueDetails are available to the maintainer after claiming this listing.
- highHigh. Something risky that needs a close look before you install.dropper issueDetails are available to the maintainer after claiming this listing.
- highHigh. Something risky that needs a close look before you install.dropper issueDetails are available to the maintainer after claiming this listing.
- highHigh. Something risky that needs a close look before you install.dropper issueDetails are available to the maintainer after claiming this listing.
- highHigh. Something risky that needs a close look before you install.secrets issueDetails are available to the maintainer after claiming this listing.
- highHigh. Something risky that needs a close look before you install.dependencies issueDetails are available to the maintainer after claiming this listing.
- mediumMedium. Worth checking, often a vulnerable dependency or a setup problem.body-parser@2.2.2: 2 known vulnerabilitiesGHSA-27r3-jxmh-p828, GHSA-v422-hmwv-36x6
package-lock.json - mediumMedium. Worth checking, often a vulnerable dependency or a setup problem.fast-uri@3.1.2: 11 known vulnerabilitiesGHSA-333x-w4r6-6crp, GHSA-4c8g-83qw-93j6, GHSA-7p8r-x3mc-p8w7, GHSA-f65p-4m7j-42xc, GHSA-fph4-wmhf-6fwf +6 more
package-lock.json - mediumMedium. Worth checking, often a vulnerable dependency or a setup problem.hono@4.12.23: 17 known vulnerabilitiesGHSA-54fx-42gc-7vw4, GHSA-5r4p-p66f-jhc7, GHSA-79qm-7rj5-m7r9, GHSA-88fw-hqm2-52qc, GHSA-8j4g-w8fx-2239 +12 more
package-lock.json - mediumMedium. Worth checking, often a vulnerable dependency or a setup problem.ip-address@10.2.0: 8 known vulnerabilitiesGHSA-22jq-vg5j-6vgg, GHSA-2vr4-cq9g-pvrc, GHSA-4xrf-jv44-h6hh, GHSA-h3mg-xc3c-68pw, GHSA-j6r3-76f7-8jcv +3 more
package-lock.json - mediumMedium. Worth checking, often a vulnerable dependency or a setup problem.sharp@0.35.3: 2 known vulnerabilitiesGHSA-rgj7-g3m4-5g8c, GHSA-wq5f-xc86-pv6w
package-lock.json - mediumMedium. Worth checking, often a vulnerable dependency or a setup problem.source-map-js@1.2.1: 1 known vulnerabilityGHSA-68fv-2mgg-jv7q
package-lock.json - mediumMedium. Worth checking, often a vulnerable dependency or a setup problem.undici@7.29.0: 18 known vulnerabilitiesGHSA-2gqq-gqf2-x968, GHSA-2jfj-6hjv-fm6j, GHSA-2m5v-pch6-74hx, GHSA-3wwx-pv8p-q78v, GHSA-3xpg-4rpp-hhhm +13 more
package-lock.json - mediumMedium. Worth checking, often a vulnerable dependency or a setup problem.vite@8.2.2: 6 known vulnerabilitiesGHSA-587h-7wmj-h5pm, GHSA-698v-4r3x-3vcv, GHSA-9jrq-w75r-8gcw, GHSA-r825-w8mm-5pxw, GHSA-rq7h-c2jc-7f22 +1 more
package-lock.json - mediumMedium. Worth checking, often a vulnerable dependency or a setup problem.zod@4.4.3: 1 known vulnerabilityGHSA-mrhx-c7xc-m3w5
package-lock.json - lowLow. Minor, or common in normal tools. Shown for information.In tests/examples/docs: Contacts a hard-coded IP address instead of a domain name.
src/__tests__/comfyui/timeout-panel-origin-drift.test.ts:49 - lowLow. Minor, or common in normal tools. Shown for information.In tests/examples/docs: Contacts a hard-coded IP address instead of a domain name.
src/__tests__/comfyui/timeout-panel-origin-drift.test.ts:110 - lowLow. Minor, or common in normal tools. Shown for information.In tests/examples/docs: Contacts a hard-coded IP address instead of a domain name.
src/__tests__/comfyui/timeout-panel-origin-drift.test.ts:152 - lowLow. Minor, or common in normal tools. Shown for information.In tests/examples/docs: Contacts a hard-coded IP address instead of a domain name.
src/__tests__/comfyui/timeout-panel-origin-drift.test.ts:167 - lowLow. Minor, or common in normal tools. Shown for information.In tests/examples/docs: Contacts a hard-coded IP address instead of a domain name.
src/__tests__/comfyui/timeout-panel-origin-drift.test.ts:181 - lowLow. Minor, or common in normal tools. Shown for information.In tests/examples/docs: Contacts a hard-coded IP address instead of a domain name.
src/__tests__/comfyui/timeout-panel-origin-drift.test.ts:210 - lowLow. Minor, or common in normal tools. Shown for information.In tests/examples/docs: Executes dynamically built code (eval / new Function / vm).
src/__tests__/orchestrator/panel-console-http.test.ts:196 - lowLow. Minor, or common in normal tools. Shown for information.In tests/examples/docs: Executes dynamically built code (eval / new Function / vm).
src/__tests__/orchestrator/panel-console-i18n.test.ts:177 - lowLow. Minor, or common in normal tools. Shown for information.In tests/examples/docs: Touches a sensitive credential location (SSH keys, cloud credentials, browser data or wallets). Expected for some tools, such as browser automation; check why.
src/__tests__/orchestrator/pi-credentials.test.ts:435 - lowLow. Minor, or common in normal tools. Shown for information.In tests/examples/docs: Contacts a hard-coded IP address instead of a domain name.
src/__tests__/orchestrator/pi-credentials.test.ts:839 - lowLow. Minor, or common in normal tools. Shown for information.In tests/examples/docs: Contacts a hard-coded IP address instead of a domain name.
src/__tests__/orchestrator/pi-credentials.test.ts:860 - lowLow. Minor, or common in normal tools. Shown for information.In tests/examples/docs: Executes dynamically built code (eval / new Function / vm).
src/__tests__/orchestrator/probeok-hoisting.test.ts:66 - lowLow. Minor, or common in normal tools. Shown for information.In tests/examples/docs: Contacts a hard-coded IP address instead of a domain name.
src/__tests__/services/download-proxy.test.ts:70 - lowLow. Minor, or common in normal tools. Shown for information.In tests/examples/docs: Contacts a hard-coded IP address instead of a domain name.
src/__tests__/services/frontend-virtual-types.test.ts:65 - lowLow. Minor, or common in normal tools. Shown for information.In tests/examples/docs: Touches a sensitive credential location (SSH keys, cloud credentials, browser data or wallets). Expected for some tools, such as browser automation; check why.
src/__tests__/services/runpod-ssh.test.ts:147 - lowLow. Minor, or common in normal tools. Shown for information.In tests/examples/docs: Contacts a hard-coded IP address instead of a domain name.
src/__tests__/tools/apps.test.ts:197 - lowLow. Minor, or common in normal tools. Shown for information.In tests/examples/docs: Contacts a hard-coded IP address instead of a domain name.
src/__tests__/tools/run-workflow-url.test.ts:143 - lowLow. Minor, or common in normal tools. Shown for information.In tests/examples/docs: Contacts a hard-coded IP address instead of a domain name.
src/__tests__/tools/run-workflow-url.test.ts:183 - lowLow. Minor, or common in normal tools. Shown for information.Possible example credential in docs/tests: generic-api-key
src/__tests__/comfyui/enqueue-error-redaction.test.ts:15 - lowLow. Minor, or common in normal tools. Shown for information.Possible example credential in docs/tests: generic-api-key
src/__tests__/comfyui/json-guard-base-url-redaction.test.ts:21 - lowLow. Minor, or common in normal tools. Shown for information.Possible example credential in docs/tests: generic-api-key
src/__tests__/comfyui/enqueue-missing-input-media.test.ts:431 - lowLow. Minor, or common in normal tools. Shown for information.Possible example credential in docs/tests: generic-api-key
src/__tests__/comfyui/cloud-key-redaction.test.ts:16 - lowLow. Minor, or common in normal tools. Shown for information.Possible example credential in docs/tests: generic-api-key2 matches in this file
src/__tests__/comfyui/client-fetch-json-guard.test.ts:432 - lowLow. Minor, or common in normal tools. Shown for information.Possible example credential in docs/tests: jwt
src/__tests__/comfyui/log-overredaction.test.ts:111 - lowLow. Minor, or common in normal tools. Shown for information.Possible example credential in docs/tests: generic-api-key2 matches in this file
src/__tests__/comfyui/log-overredaction.test.ts:146 - lowLow. Minor, or common in normal tools. Shown for information.Possible example credential in docs/tests: generic-api-key
src/__tests__/services/manifest-outcome-channel.test.ts:16 - lowLow. Minor, or common in normal tools. Shown for information.Possible example credential in docs/tests: aws-access-token
src/__tests__/services/respawn-orphans-downloads.test.ts:96 - lowLow. Minor, or common in normal tools. Shown for information.Possible example credential in docs/tests: generic-api-key
src/__tests__/services/manager-install-model-cause.test.ts:112 - lowLow. Minor, or common in normal tools. Shown for information.Possible example credential in docs/tests: generic-api-key4 matches in this file
src/__tests__/services/manager-error-body.test.ts:146 - lowLow. Minor, or common in normal tools. Shown for information.Possible example credential in docs/tests: generic-api-key
src/__tests__/comfyui/json-guard.test.ts:746 - lowLow. Minor, or common in normal tools. Shown for information.Possible example credential in docs/tests: generic-api-key
src/__tests__/services/node-management.test.ts:4645 - lowLow. Minor, or common in normal tools. Shown for information.@hono/node-server@1.19.14: 2 known vulnerabilitiesGHSA-frvp-7c67-39w9, GHSA-rmxm-3fg6-px4f
package-lock.json - lowLow. Minor, or common in normal tools. Shown for information.@vitest/mocker@4.1.11: 2 known vulnerabilitiesGHSA-qxg6-89mg-rqv8, GHSA-xp26-3454-mjgp
package-lock.json - lowLow. Minor, or common in normal tools. Shown for information.qs@6.15.2: 3 known vulnerabilitiesGHSA-4mjr-xmp4-gh2g, GHSA-6pq8-jhm2-2vcw, GHSA-x5fp-wj9c-mxmx
package-lock.json - lowLow. Minor, or common in normal tools. Shown for information.package.json has a prepare scripttsc
package.json - lowLow. Minor, or common in normal tools. Shown for information.Reads environment variables not listed in the manifestCOMFYUI_URL, COMFYUI_HOST, COMFY_HOST, COMFYUI_SSL, COMFYUI_PORT, COMFY_PORT, COMFYUI_MCP_CHANGELOG_ROOT, CHANGELOG_ROOT, TEST_PORT, CAP_MS, SCENARIO_CAP_MS, COMFYUI_WORKFLOWS_DIR, COMFYUI_PATH, BRIDGE_URL, TASK
Network activity
Tools exposed (41)
comfy_cliDrive 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's .venv/venv. Driven by the `action` parameter: - action:"status" — Inspect the comfy-cli integration and selected environment (
enqueue_workflowSubmit work to the ComfyUI execution queue — the primary way an agent starts a render. Driven by the `action` parameter: - action:"enqueue" — Submit an API-format workflow you are already holding (one you built with create_workflow, loaded with get_workflow, or edited with create_workflow action:"mo
get_system_statsInspect 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: - action:"stats" — Get system information from the connected Comfy
visualize_workflowDRAW a diagram of, or convert, workflow JSON you PASS IN (a JSON string or object) — it does NOT read the user's live canvas, so for 'show me what's on the canvas' / the CURRENTLY-OPEN graph use panel_graph_outline instead. Driven by the `action` parameter: - action:"render" — Mermaid flowchart of t
create_workflowAuthor and check ComfyUI workflow JSON. Driven by the `action` parameter: - action:"create" — Create a ready-to-run API-format workflow from a built-in template (txt2img, img2img, upscale, inpaint, controlnet, ip_adapter, ace_step_15, stable_audio_3, remove_background, ltx_video). Pure local generat
queueInspect and manage the ComfyUI execution queue. Driven by the `action` parameter: - action:"list" — The job running now plus all pending jobs, each with its prompt_id and position. Read-only; requires a reachable ComfyUI server (works against local or remote --comfyui-url). Omits queued workflow pay
search_custom_nodesDiscover 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:"search") and not local in
download_modelFind model weights and get them onto the connected ComfyUI, and track the transfers. Driven by the `action` parameter: - action:"download" — Download a model file to the connected ComfyUI's models directory from a URL (HuggingFace, direct HTTP(S), s3://, or Azure Blob). Requires `url` + `target_subf
list_local_modelsInspect what models this ComfyUI has installed, and where it looks for them. Driven by the `action` parameter: - action:"list" — List model files available to the connected ComfyUI, grouped by type. Read-only. Queries ComfyUI's /models REST endpoint first (works with remote ComfyUI and respects extr
get_historyRead 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: - action:"list" — Execution history for a ComfyUI prompt: status, timing, cached nodes, and output details (media filenames
runpodDeploy, 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:"create" and action:"start" put a pod into a billing state; action:"stop" ends GPU billing. Confirm with the user befor
runpod_watchWatch a RunPod pod's live status in the control panel, stop watching it, or diagnose why it isn't usable. Driven by the `action` parameter. None of these actions DEPLOYS or resumes a pod — the runpod tool does that. One of them CAN stop one, though: action:"watch" arms the idle auto-stop, so a watch
get_workflowReturn, 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's canvas (that is panel_graph_outline). Every action here is READ-ONLY; saving and locking are save_workflow. Driven by the `action` parameter: - ac
save_workflowWRITE 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: - action:"save" — Save a workflow JSON to the connected ComfyUI server's user library so it appears in the
restart_comfyuiControl the lifecycle of the ComfyUI server process. Driven by the `action` parameter: - action:"restart" — Restart ComfyUI: stops the running process (capturing its config), waits for the port to free, relaunches with the same arguments, and polls the API for bounded readiness. Also works against a
get_imageFetch, browse and inspect ComfyUI images and registered assets. Driven by the `action` parameter: - action:"get" — Fetch a generated image from ComfyUI by FILENAME and return it as an inline image. Video/audio outputs (e.g. a VHS_VideoCombine .mp4) and allowlisted mesh/material attachments (.obj, .g
upload_imagePut a file where ComfyUI (or cloud storage) can read it. Driven by the `action` parameter: - action:"image" — Upload a local image file to the connected ComfyUI's input/ directory via the HTTP /upload/image endpoint so it can be referenced in LoadImage nodes. Works for both local and remote ComfyUI.
clear_vramFree 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.
get_defaultsRead and write settings — either OUR generation defaults or ComfyUI's own frontend UI settings. These are two SEPARATE stores and the `action` says which one you mean: - action:"get" — Return the merged view of OUR generation defaults with per-source attribution. Precedence (lowest → highest): confi
generate_imageGenerate 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: - actio
node_snapshotCustom-node snapshots via ComfyUI-Manager (mirrors `comfy node save-snapshot` / `restore-snapshot`). Driven by the `action` parameter: - action:"list" — List the snapshots ComfyUI-Manager knows about. No other parameters. Read-only. - action:"save" — Save the current custom-node and version state. W
bisectBinary-search (git-bisect style) over installed ComfyUI custom nodes to find which one causes a problem. A state machine driven by the `action` parameter: - action:"start" — Begin a session over all currently-enabled custom nodes. Enables half and disables the rest for the first test round, then gui
install_custom_nodeInstall, 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: - action:"install" — Install a pack by registry id, git URL, or name. Local installs prefer official comfy-cli
report_issueDISABLED — issue reporting remains off during limited maintenance. This tool files NOTHING and contacts no service. It returns the reporting status, without a prefilled issue link. Kept registered for older prompts and skills; continue helping with the task, without retrying or filing through anothe
install_comfyuiInstall, update and configure the local ComfyUI installation, its sidebar panel, and this MCP server itself. Driven by the `action` parameter: - action:"install" — Install ComfyUI locally: git-clone it into `target_path`, create a dedicated workspace virtualenv (<target>/.venv), and install Python r
model_metadataCurate a model file's embedded .safetensors metadata (Model Explorer). Driven by the `action` parameter: - action:"read" — Read a model file's CURRENT embedded metadata + evidence, for curating it. Returns classify (asset_type/base/precision/rank), the current model_card and prompt_director namespac
workspaceInspect and manage ComfyUI workspaces (local installs). Driven by the `action` parameter: - action:"get" — Report the active ComfyUI workspace (mirrors `comfy-cli which`): the local installation path being used (from COMFYUI_PATH or auto-detection), the source of that path, any persisted default wor
list_api_nodesDiscover 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.
node_packAuthor, edit, test and publish YOUR OWN ComfyUI custom-node pack under the custom_nodes/ directory the running ComfyUI actually scans. 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,
apply_manifestApply 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's live/
list_packsBundled ComfyUI knowledge — installer packs, model-family skills, workflow templates — plus the two workflow-readiness checks. Driven by the `action` parameter: - action:"list" — List the bundled installer packs under packs/: one-command setups for a model family (custom nodes + model weights via ma
calculateEvaluate 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. Eac
train_prepare_datasetStage 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: - action:"prepare" — Stage training images + captions
train_startRun 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: - action:"start" — Sta
train_doctorPreflight 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: - action:"doctor" — Preflight the local trainer: docker daemon reachable, `--gpus all` GPU passthrough working (NVIDIA Container Toolkit)
appsMicro-apps on this ComfyUI (panel Apps feature): named workflows packaged for one-click runs. Driven by the `action` parameter: - action:"list" — List every registered app. Each entry is the app's manifest: id, name, description, appMode {inputs, outputs}, deps, hideWorkflow, published. No other par
batchRun MANY ComfyUI workflows under one durable batch_id. Driven by the `action` parameter: - action:"submit" — Enqueue a batch. Provide EITHER `workflows` (array of API-format workflows) OR one `workflow` plus a `sweep` (array of flat input-override sets — each set produces one job, applied to every n
kitchenSee what comfy-kitchen can do on this GPU, find where a graph is leaving it on the table, and apply the faster path. Driven by `action`: - action:"status" — kitchen version, backends (hip/cuda/triton/eager), INT8 attention, GPU fp8/NVFP4/MXFP8, launch flags (--use-ck-attention, --enable-triton-backe
list_toolsList every comfyui-mcp capability as a token-light catalog: tool names with one-line summaries, grouped by category. Start here. Then use describe_tool to get a tool's parameters and call_tool to run it.
describe_toolGet the full description and JSON Schema of one tool from the catalog. Always call this before the first call_tool of a tool you haven't used in this session.
call_toolExecute a tool from the catalog by name. Pass its parameters in `args` (object). The result is exactly what the underlying tool returns.
Automated result for the commit shown. See our scan policy. View the scan log
Maintainers can claim the listing to rescan, or dispute a result.
Comfyui MCP alternatives
View more →Similar mcp servers in Design & Media, ranked by GitHub stars. Compare licence, recent activity and scan status before you choose.
| Name | Stars | Licence | Last updated | Scan |
|---|---|---|---|---|
| Comfyui MCP (this page) artokun | 881 | MIT | Oct 26, 2026 | Scanned, no flagged issues |
| Next AI Draw Io DayuanJiang | 37k | Apache-2.0 | Nov 1, 2026 | Scanned, no flagged issues |
| MCP For Blender ahujasid | 33k | MIT | Oct 29, 2026 | Scanned, no flagged issues |
| Figma Context MCP GLips | 16k | MIT | Oct 27, 2026 | Scanned, no flagged issues |
| Nginx UI 0xJacky | 12k | AGPL-3.0 | Nov 1, 2026 | Scanned, no flagged issues |
| Lamda firerpa | 8.7k | MIT | Sep 27, 2026 | Scanned, no flagged issues |