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 |
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
| 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