ComfyUI MCP Server
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| COMFYUI_URL | No | ComfyUI server URL | http://127.0.0.1:8188 |
| COMFY_API_KEY | No | Comfy.org API key for cloud API nodes | |
| COMFYUI_TIMEOUT | No | Max wait time for job completion (seconds) | 300 |
| COMFYUI_MCP_HOST | No | Host for HTTP transport | 127.0.0.1 |
| COMFYUI_MCP_PORT | No | Port for HTTP transport | 8200 |
| COMFYUI_MCP_TRANSPORT | No | Transport mode: stdio or streamable-http | stdio |
| COMFYUI_POLL_INTERVAL | No | Polling interval for job status (seconds) | 1.0 |
Capabilities
Features and capabilities supported by this server
| Capability | Details |
|---|---|
| tools | {
"listChanged": true
} |
| logging | {} |
| prompts | {
"listChanged": false
} |
| resources | {
"subscribe": false,
"listChanged": false
} |
| extensions | {
"io.modelcontextprotocol/ui": {}
} |
| experimental | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| get_queueA | Get the current ComfyUI queue with running and pending items. |
| clear_queueA | Clear all pending items from the ComfyUI queue. |
| cancel_jobA | Cancel the currently running ComfyUI job. |
| get_historyB | Get ComfyUI execution history. |
| get_system_statsA | Get ComfyUI system information including OS, RAM, VRAM, and device info. |
| get_job_statusB | Get the status and outputs of a queued ComfyUI job. |
| get_result_imagesA | Get all output images from a completed ComfyUI job. |
| wait_for_jobsA | Wait for multiple queued jobs to complete and return all results. Use this after queueing multiple jobs with queue_only=true to wait for all of them at once, enabling parallel execution. |
| copy_output_to_inputA | Copy a file from ComfyUI's output directory to input directory. Makes generated files (images, videos, audio) available as inputs for subsequent workflows. For example, copy a generated image to use it in image_to_image, image_to_video, or run_api_node. |
| list_filesB | List files in a ComfyUI directory. |
| delete_history_itemsA | Delete specific items from ComfyUI execution history. |
| delete_queue_itemsB | Delete specific items from the ComfyUI queue. |
| get_model_metadataA | Get metadata from a safetensors model file. Useful for inspecting what a model was trained on, its configuration, resolution, license, etc. |
| get_featuresA | Get ComfyUI server feature flags and capabilities. Returns: Dict of supported features (preview metadata, max upload size, extensions, node replacements, etc.). |
| get_logsA | Get recent ComfyUI server log entries for debugging. |
| list_modelsB | List available models in ComfyUI. |
| list_samplers_and_schedulersA | List all available sampler algorithms and noise schedulers. Returns a dict with 'samplers' and 'schedulers' lists. |
| free_memoryC | Free ComfyUI VRAM and RAM. |
| text_to_imageB | Generate images from a text description. All parameters except prompt are optional with sensible defaults. Change any parameter to customize the generation. |
| image_to_imageB | Transform an existing image guided by a text prompt. All parameters except prompt and input_image are optional with sensible defaults. Change any parameter to customize. |
| upscale_imageC | Upscale an image using an AI upscaling model. |
| inpaintA | Fill in masked regions of an image with AI-generated content. All parameters except prompt, input_image, and mask_image are optional with sensible defaults. Change any parameter to customize. |
| text_to_videoA | Generate a video from a text description using LTX-Video (local model). All parameters except prompt are optional with sensible defaults. Change any parameter to customize. For cloud-based video generation, use sora_video_generate() or run_api_node() with Kling/Runway/Luma/etc. |
| image_to_videoA | Generate a video from an image using LTX-Video (local model). All parameters except prompt and input_image are optional with sensible defaults. Change any parameter to customize. For cloud-based I2V, use sora_video_generate(input_image=...) or run_api_node() with Kling/Runway/Luma/etc. |
| dalle3_imageA | Generate an image using DALL-E 3 via Comfy.org API. All parameters except prompt are optional. Requires COMFY_API_KEY. For other API providers, use run_api_node() with list_api_nodes(). |
| gpt_image_generateA | Generate or edit an image using GPT Image via Comfy.org API. Can generate from text alone, or edit an existing image with a prompt. All parameters except prompt are optional. Requires COMFY_API_KEY. |
| sora_video_generateA | Generate a video using Sora 2 via Comfy.org API. Can generate from text alone, or animate an existing image. All parameters except prompt are optional. Requires COMFY_API_KEY. |
| merge_videosA | Merge multiple videos into a single video. Decomposes each video into frames and audio, batches the frames together, combines the audio tracks, and reassembles into one video. |
| flux_text_to_imageA | Generate images using Flux (local model). All parameters except prompt are optional with sensible defaults. Auto-detects installed Flux model (GGUF or safetensors) and CLIP encoders. Produces high-quality 1024x1024 images by default. |
| wan_text_to_videoA | Generate video from text using Wan 2.2 (local model). All parameters except prompt are optional with sensible defaults. Auto-detects installed Wan model and UMT5-XXL text encoder. |
| wan_image_to_videoA | Generate video from an image using Wan 2.2 (local model). All parameters except prompt and input_image are optional with sensible defaults. Auto-detects installed Wan model and encoder. |
| upload_imageA | Upload a local image file to ComfyUI's input directory. |
| upload_maskA | Upload a mask image to ComfyUI's input directory. The mask is processed to extract the alpha channel for use with inpainting workflows. White areas in the mask will be inpainted. |
| get_image_urlB | Get the URL to view or download a ComfyUI image/video/audio. |
| create_workflowB | Create a new workflow, optionally from a template. |
| add_nodeA | Add a node to a workflow with auto-connection of typed inputs. |
| set_inputsB | Update inputs on an existing workflow node. |
| remove_nodeA | Remove a node from a workflow and clean up dangling connections. |
| get_workflowA | Get the full workflow graph state with type information. |
| validate_workflowA | Validate a workflow for correctness without executing it. Checks: all node class_types exist, required inputs connected, connection type compatibility, output node exists. |
| execute_workflowB | Execute a workflow that was built with builder tools. |
| search_nodesA | Search ComfyUI nodes by name, category, or input/output type. |
| get_node_schemaA | Get the full input/output schema for a ComfyUI node class. |
| suggest_nextA | Analyze a workflow and suggest next steps. Checks for unconnected inputs, unused outputs, missing output nodes, and provides context-aware suggestions. |
| run_api_nodeA | Run any ComfyUI node in a single call. Builds a minimal workflow around the node, auto-inserting loader and save nodes as needed. Works with all 200+ API nodes (Kling, Runway, Luma, Stability, ElevenLabs, Gemini, etc.) and any built-in node. Workflow: discover nodes with list_api_nodes() or search_nodes(), check inputs with get_node_schema(), then run with this tool. For IMAGE/VIDEO/AUDIO-typed inputs, pass a filename string (e.g. "photo.png") and a LoadImage/LoadVideo/LoadAudio node is auto-inserted. |
| list_api_nodesA | List available API nodes (Kling, Runway, Luma, Stability, ElevenLabs, etc.). These are cloud-based nodes that run via the Comfy.org API proxy. Use get_node_schema(name) to see full input/output details, then run_api_node(name, inputs) to execute. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
| resource_models | List available model folder types (checkpoints, loras, vae, etc.). |
| resource_nodes | List all available node class names. |
| resource_system_stats | Get ComfyUI system stats (OS, RAM, VRAM, devices). |
| resource_queue | Get current queue status. |
| resource_history | Get recent execution history (last 20 items). |
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/halbert04/comfyui-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server