Skip to main content
1 tool. Generated from the live MCP tool schemas — do not edit by hand; run npm run docs:gen.
You don’t type these calls. Ask your agent for what you want in ordinary English — it chooses the tool and fills in the arguments. The JSON on this page is what it sends. New here? Start with Using the tools.

apps

Micro-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 parameters. Read-only.
  • action:“get” — One app’s manifest + bundle facts (has_workflow/has_prompt/has_thumbnail) by app_id. The manifest’s appMode.inputs is the app’s run form: each input has nodeId, widget, label, kind (text|number|combo|toggle|image|model), optional choices and default. Read-only.
  • action:“run” — Run one app: patches values (keys ‘<nodeId>.<widget>’, e.g. {“6.text”: “a cat”}) into the app’s stored prompt snapshot and queues it on ComfyUI. Returns the prompt_id — poll action:“run_status”. Only pass values for inputs listed in appMode.inputs; omitted inputs keep their conversion-time defaults.
  • action:“run_status” — Check one run by app_id + prompt_id: status (pending|running|done|unknown) plus the run’s outputs (image/video file refs under each output node, text outputs). Read-only.
  • action:“import” — Install an app from the public registry: fetches the registry bundle (manifest + prompt snapshot [+ workflow unless hidden]) and creates it locally. The registry id becomes the local id, so re-importing reports an id conflict (already installed). Deps (models/custom nodes) are NOT installed — report the manifest’s deps to the user so they can install them before running.
In plain terms: Micro-apps are workflows someone has already wired up and reduced to a few boxes to fill in — the closest thing here to a normal app. Handy on mobile, where there is no canvas to edit. One tool, several jobs, chosen with action.

Parameters

enum
required
Which apps operation to perform. “list” takes no other parameters; “get”/“run” require app_id; “run_status” requires app_id + prompt_id; “import” requires registry_url + app_id. Options: action:"list", action:"get", action:"run", action:"run_status", action:"import".
string
The app’s uuid. REQUIRED for actions “get”, “run”, “run_status” (from action:“list”) and “import” (the REGISTRY app’s uuid, from the explore list).
object
action:“run” — input overrides keyed ‘<nodeId>.<widget>’ (e.g. {“6.text”: “a cat”, “3.seed”: 42}). Unknown keys fail loudly (the manifest drifted from the snapshot).
string
action:“run_status” — the prompt_id returned by action:“run”. Required for that action.
string
action:“import” — registry worker base URL (required for that action). Must be the default public registry or an origin the operator allowlisted via COMFYUI_MCP_REGISTRY_URLS (the fetch is server-side — open URLs would be SSRF).
string
action:“import” — the app’s registry slug (recorded in local metadata).
integer
action:“import” — the registry version (recorded in local metadata).

Examples

You say: What one-click apps do I have?
You get back: Every installed app with its id, name and description. Read-only. You say: What do I need to fill in for the portrait one?
You get back: That app’s input form — each box with its label, type and default, and the key you set it by. You say: Run it with “a snow leopard on a rooftop”.
You get back: A prompt_id immediately; the app renders in the background. Check on it with action: "run_status" and the same app_id plus that prompt_id. The odd-looking "6.text" key is nodeId.widget — the form from action: "get" tells you which keys exist.