Skip to main content
Glama

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault
COMFYUI_HOSTNoURL of the ComfyUI server (required for execution tools). Example: http://127.0.0.1:8188
COMFYUI_PATHNoPath to ComfyUI installation (required for install tools).
COMFYUI_KNOWLEDGE_DIRNoCustom directory for knowledge base files.

Instructions

Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.

This server publishes no instructions, or was last inspected before Glama recorded them.

Capabilities

Features and capabilities supported by this server

Protocol revision2025-11-25

CapabilityDetails
tools
{
  "listChanged": true
}

Tools

Functions exposed to the LLM to take actions

NameDescription
list_node_typesB

List ComfyUI node types from the knowledge base. Optionally filter by category or priority.

get_node_infoB

Get full node information for a ComfyUI node by its class name. Uses live ComfyUI when COMFYUI_HOST is set, otherwise knowledge base.

check_compatibilityA

Check if output of one node can connect to input of another (using node-compatibility.json).

suggest_nodesB

Suggest ComfyUI nodes for a task (search by description/use_cases) or by output type they produce.

discover_nodes_liveA

Get all node definitions from the running ComfyUI instance (GET /object_info). Returns class names and categories. Requires ComfyUI to be running at COMFYUI_HOST.

search_nodesA

Search nodes by query string and optional filters (category, input_type, output_type). Searches both live ComfyUI and knowledge base; live overrides KB for same class.

get_node_inputsA

Get detailed input definitions for a node (required and optional). Uses live ComfyUI if available, otherwise knowledge base.

get_node_outputsB

Get output types and names for a node. Uses live ComfyUI if available, otherwise knowledge base.

list_node_categoriesA

List all node categories from live ComfyUI and knowledge base (merged, unique).

sync_nodes_to_knowledgeA

Sync node definitions from running ComfyUI to the knowledge base. Adds only nodes that are not already in base-nodes.json. Creates knowledge/ if missing (or set COMFYUI_KNOWLEDGE_DIR to point to the knowledge directory). Requires ComfyUI to be running.

list_templatesA

List available workflow template ids (e.g. txt2img). No ComfyUI connection needed.

build_workflowA

Build a ComfyUI workflow from a template and parameters. Returns workflow JSON ready to execute or save. For txt2img_flux, call get_system_resources first and use only when flux_ready is true (FLUX needs ~12GB+ VRAM).

build_restyle_workflowA

Build a workflow that takes your image and outputs another image in a chosen style (cartoon, oil painting, anime, etc.). Returns workflow JSON plus a recipe (prompt and params) so you can run it or regenerate with the same settings. Image must be in ComfyUI input folder (upload first if needed). Style: keyword (cartoon, oil_painting, anime, watercolor, sketch, comic, pixel_art, pastel, cyberpunk) or any free text used as prompt.

suggest_template_for_checkpointA

Suggest workflow template (txt2img_flux or txt2img) from checkpoint filename. FLUX checkpoints (e.g. flux1-dev-fp8.safetensors) use txt2img_flux; SD XL / SD 1.5 use txt2img. Call before build_workflow when the user did not specify a template.

create_workflowA

Create a new empty workflow context. Returns workflow_id to use with add_node, connect_nodes, get_workflow_json, validate_workflow, finalize_workflow, execute_workflow.

add_nodeB

Add a node to a dynamic workflow. Returns the new node id (e.g. "1", "2").

connect_nodesC

Connect an output of one node to an input of another in a dynamic workflow.

remove_nodeA

Remove a node from a dynamic workflow. Does not fix references (validation will report dangling refs).

set_node_inputB

Set a literal input on a node in a dynamic workflow (overwrites existing value or link).

get_workflow_jsonB

Get the current workflow JSON for a dynamic workflow (for execute_workflow or save_workflow).

validate_workflowB

Validate a dynamic workflow: checks that all node references exist and output indices are valid.

finalize_workflowC

Get the workflow JSON for a dynamic workflow (same as get_workflow_json). Use with execute_workflow or save_workflow.

execute_workflowA

Submit a ComfyUI workflow to run. Returns prompt_id. Use get_execution_status(prompt_id) to check result. Requires COMFYUI_HOST and ComfyUI running.

execute_workflow_syncA

Submit a ComfyUI workflow and wait until execution completes with real-time progress (WebSocket if available, polling fallback). Returns prompt_id, status (completed/failed/timeout), and outputs. When status is error, still check outputs — if present, use download_output or get_last_output to retrieve files. When timeout_ms is omitted, uses recommended_timeout_ms from get_system_resources (higher on MPS/Apple). Requires COMFYUI_HOST.

get_execution_statusA

Get execution status and outputs for a prompt. Returns status, image filenames, and view URLs. Requires COMFYUI_HOST.

get_error_detailsA

Get full error details for a prompt (node_id, exception_type, exception_message, full traceback). Use when execute_workflow_sync failed or get_execution_status shows errors. Returns structured errors from ComfyUI history status.messages. Requires COMFYUI_HOST.

get_execution_progressA

Get real-time execution progress for a prompt (WebSocket if available, polling fallback). Returns status, current_node, progress%, queue_position, and outputs. Requires COMFYUI_HOST.

execute_workflow_streamB

Execute workflow with streaming real-time progress updates. Requires WebSocket support. Returns result and progress event history. Use for monitoring execution progress. Requires COMFYUI_HOST and WebSocket connection.

execute_batchB

Execute multiple workflows in batch. Submits each workflow and waits for completion (polling). Optional concurrency and stop_on_error. Requires COMFYUI_HOST.

get_historyA

Get ComfyUI execution history (GET /history) without prompt_id. Returns last N prompts with prompt_id, status, outputs (filenames), elapsed. Use when execute_workflow_sync did not return prompt_id (e.g. WebSocket timeout) to find the latest run and its outputs. Requires COMFYUI_HOST.

get_last_outputA

Get info for the most recent prompt that has image output (skips failed prompts). Use when prompt_id was lost (e.g. execute_workflow_sync timed out). Returns prompt_id, filename, subfolder, view_url. Then use download_by_filename to save the file. Requires COMFYUI_HOST.

list_outputsA

List all output files (images, gifs) for a completed prompt. Returns prompt_id, node_id, type, filename, url. Requires COMFYUI_HOST.

download_outputA

Download a single output file to a local path. Use list_outputs to get file info. Use output_format to convert to png, jpeg, or webp. Requires COMFYUI_HOST.

download_by_filenameA

Download an output file by filename (no prompt_id needed). Uses GET /view. Use when you have filename from get_history or get_last_output. If return_base64 is true, file is not written to disk; returns base64 data. When size > 800 KB, automatically converts to WebP to stay under 1MB base64 limits. Use output_format to convert to png, jpeg, or webp. Requires COMFYUI_HOST.

download_all_outputsB

Download all output files for a prompt into a directory. Returns list of saved paths. Requires COMFYUI_HOST.

list_modelsA

List models available on the ComfyUI server (from object_info). Optionally filter by type: checkpoint, lora, vae, controlnet, upscale, embedding, clip. Requires COMFYUI_HOST.

get_model_infoB

Get info for a model by name and type. Returns name, type, path; null if not found. Requires COMFYUI_HOST.

check_model_existsA

Check if a model exists on the ComfyUI server (in object_info model lists). Requires COMFYUI_HOST.

get_workflow_modelsA

Extract required models from a workflow (loader nodes: CheckpointLoaderSimple, LoraLoader, VAELoader, ControlNetLoader, UpscaleModelLoader, etc.). Returns list of { name, type, nodeId, nodeClass, inputName }. No ComfyUI connection needed.

check_workflow_modelsA

Check which models required by a workflow exist on the ComfyUI server. Returns ready (boolean), missing, and found lists. Requires COMFYUI_HOST.

get_system_resourcesA

Get ComfyUI station resources (GPU/VRAM/RAM) and recommendations for model size, resolution, and batch size. Returns flux_ready (desktop FLUX needs ~12GB+ VRAM) and platform_hints (e.g. Apple Silicon: M-Flux as quantized/MLX variant — different model or FLUX via custom nodes). Call this first before building or executing workflows to avoid OOM. Requires COMFYUI_HOST.

get_generation_recommendationsA

Get recommendations for image generation: system resources (max resolution, model size, batch) and, if the user prompt suggests text/letters in the image, advice on models and settings. Many base models (SD 1.5, SD XL) render text poorly; FLUX, SD 3, or checkpoints trained for text work better. Call when planning a txt2img or img2img workflow; pass the user's image description as prompt to get text-in-image advice when relevant. Requires COMFYUI_HOST for resource stats.

create_templateA

Create a parameterized workflow template from a workflow and parameter definitions. Returns template JSON for use with apply_template or validate_template_params. Parameters bind to node inputs via nodeBindings (nodeId, inputName).

apply_templateA

Apply parameter values to a workflow template. Returns workflow JSON ready to execute or save. Use create_template to build a template, then apply_template with values.

validate_template_paramsB

Validate that parameter values satisfy a workflow template (required params, types).

list_macrosA

List available workflow macros (built-in sub-workflows). Returns id, name, description, inputs, outputs.

insert_macroA

Insert a macro (sub-workflow) into a dynamic workflow. Connects macro input ports to existing nodes. Returns nodeIdMap and outputPorts so you can connect macro outputs. Use workflow_id from create_workflow.

execute_chainA

Execute a chain of workflows in sequence. Each step runs after the previous completes. Use inputFrom and outputTo to pass the output image from one step to the next (e.g. txt2img → upscale → img2img). Steps can use workflow JSON or saved workflow name. Prefer saved workflow name (string) for large workflows to avoid ENAMETOOLONG in some clients. Requires COMFYUI_HOST.

list_pluginsA

List loaded plugins (from plugins/*/plugin.json) and counts of macros/templates contributed by each.

reload_pluginsB

Reload plugins from plugins/*/plugin.json and refresh macro registry.

reload_comfyuiA

Restart ComfyUI so that newly installed custom nodes are loaded, then optionally sync them to the knowledge base. Requires COMFYUI_PATH (ComfyUI installation directory) and uses COMFYUI_HOST for the port. Kills the process on the ComfyUI port and starts main.py from COMFYUI_PATH. After restart, call sync_nodes_to_knowledge to pick up custom nodes (or set sync_after_restart to true).

prepare_image_for_workflowA

Fetch the first output image from a completed prompt and upload it to ComfyUI input folder. Returns the filename to use in LoadImage for a follow-up workflow (e.g. image caption / verification). Use after get_execution_status confirms the prompt finished with image output. Requires COMFYUI_HOST.

list_queueA

List current ComfyUI queue (running and pending prompts). Requires COMFYUI_HOST.

interrupt_executionA

Stop the currently running workflow on ComfyUI. Optionally pass prompt_id to interrupt only that prompt. If cleanup_after_ms is set (and prompt_id given), after interrupt the tool will poll the queue and remove the prompt from queue if it is still there (frees GPU for next job). Requires COMFYUI_HOST.

clear_queueA

Clear ComfyUI queue: remove all pending and stop/clear running. Requires COMFYUI_HOST.

delete_queue_itemsA

Remove specific items from ComfyUI queue by prompt_id. Use list_queue to get prompt_ids. Requires COMFYUI_HOST.

install_custom_nodeA

Install one or more custom nodes via ComfyUI-Manager cm-cli (e.g. ComfyUI-Blip, WAS-Node-Suite). Requires COMFYUI_PATH and ComfyUI-Manager installed in custom_nodes. ComfyUI-Manager cm-cli requires Python package "rich" (pip install rich in your ComfyUI Python environment). Restart ComfyUI after install to load new nodes.

install_modelA

Download and install a model (checkpoint, LoRA, VAE, etc.) by URL. Requires COMFYUI_PATH. Uses comfy-cli if available (pip install comfy-cli), otherwise fetches the file directly. model_type: checkpoint, lora, vae, controlnet, clip, embeddings, hypernetwork, upscale_models, clip_vision, unet, diffusers.

save_workflowA

Save a workflow JSON to file (workflows/.json). Returns path. Use after build_workflow to persist for later load_workflow or execute_workflow.

list_saved_workflowsA

List saved workflows (names and paths) from workflows/ directory.

load_workflowA

Load a saved workflow by name (from workflows/.json) or by path. Returns workflow JSON for use with execute_workflow or save_workflow.

Prompts

Interactive templates invoked by user choice

NameDescription

No prompts

Resources

Contextual data attached and managed by the client

NameDescription

No resources

TDQS

B3.1/5.0

Scored across 61 tools

Disambiguation2/5

Several tools have heavily overlapping boundaries: finalize_workflow is explicitly identical to get_workflow_json; execute_workflow_sync vs execute_workflow_stream vs get_execution_status/progress/history/last_output are multiple paths to similar monitoring; download_output/download_by_filename/download_all_outputs overlap; and node discovery is spread across list_node_types, search_nodes, discover_nodes_live, suggest_nodes, and get_node_info. Descriptions help, but an agent must still reason carefully to pick the right tool for many common tasks.

Naming Consistency4/5

Names are consistently snake_case and mostly follow verb_noun patterns such as list_models, get_model_info, execute_workflow, and download_output. Minor deviations exist (interrupt_execution, clear_queue, apply_template) and a few near-duplicate names like finalize_workflow vs get_workflow_json weaken predictability, but overall the convention is readable.

Tool Count1/5

With 61 tools, the surface is far too large for a coherent single server. Many capabilities are split into multiple similar tools rather than consolidated, making the set difficult to navigate and increasing selection errors.

Completeness4/5

Coverage is broad: node discovery, workflow construction, templates, macros, execution, queue control, output download, model management, plugin reloading, and saved-workflow persistence are all represented. Minor gaps remain, such as deleting saved workflows, but core ComfyUI lifecycle workflows are well covered.

Maintenance

ActivityMaintained
ResponsivenessNo issues