ComfyUI MCP Server
The ComfyUI MCP Server enables Claude Desktop to control and automate a local ComfyUI installation for AI image generation through 15 specialized tools.
Image Generation:
Quick template-based generation using pre-configured workflows (Flux, SD1.5, SDXL, img2img)
Custom workflow execution by submitting complete workflow JSON with dynamic parameter overrides
Flexible parameter control including prompts, models, steps, CFG scale, dimensions, seeds, samplers, schedulers, and LoRAs
Workflow Management:
Save, load, list, and delete workflows in a personal library with names, descriptions, tags, and metadata
Reuse workflows without managing complex JSON structures
Model & Resource Management:
List and filter available checkpoints, LoRAs, VAEs, CLIP, ControlNet, upscale models, and embeddings
Query model metadata with optional file size information
Generation Monitoring & Control:
Real-time progress tracking via WebSocket connections
Check generation status with queue position, progress, and output paths
Wait for completion with configurable timeouts and polling intervals
Cancel specific generations or interrupt running tasks
Clear pending queue items with confirmation protection
File Operations:
Upload images to ComfyUI's input folder for use in workflows
Retrieve and list output images with full Windows path support
Custom filename control with overwrite protection and sorting options
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@ComfyUI MCP ServerGenerate a portrait of a cyberpunk samurai using SDXL"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
ComfyUI MCP Server
A Model Context Protocol (MCP) server that enables Claude Desktop to interact with your local ComfyUI installation for AI-powered image generation.
Features
15 MCP Tools for complete ComfyUI control
Template-based generation (Flux, SD1.5, SDXL, img2img)
Custom workflow execution with smart parameter overrides
Real-time progress monitoring via WebSocket
Model management (list checkpoints, LoRAs, VAEs, etc.)
Workflow library for saving and reusing workflows
Queue management (status, cancel, clear)
Image upload/retrieval with full Windows path support
Related MCP server: ComfyUI MCP Server
Prerequisites
Node.js v20 or higher
ComfyUI installed and running at
http://127.0.0.1:8188Claude Desktop (for MCP integration)
Windows 11 (as per specification)
Installation
1. Install Dependencies
The file paths in the examples below must be replaced with the correct paths for your system.
cd [Path to your ComfyUI MCP Server]
npm install2. Configure Paths
Edit config.json to match your ComfyUI installation:
{
"comfyui": {
"installation_path": "[Path to your ComfyUI portable installation]"
}
}3. Build the Server
npm run build4. Configure Claude Desktop
Edit %APPDATA%\Claude\claude_desktop_config.json:
{
"mcpServers": {
"comfyui": {
"command": "node",
"args": [
"[Path to your ComfyUI MCP Server]\\dist\\index.js"
],
"env": {
"COMFYUI_CONFIG": "[Path to your ComfyUI MCP Server]\\config.json"
}
}
}
}5. Restart Claude Desktop
The ComfyUI tools will now be available in Claude Desktop.
Available Tools
Generation
comfy_submit_workflow- Submit custom workflow JSON with overridescomfy_generate_simple- Quick generation using templates
Status & Monitoring
comfy_get_status- Check generation status and outputscomfy_wait_for_completion- Wait for generation to complete
Model Management
comfy_list_models- List available models, LoRAs, VAEs
Workflow Library
comfy_save_workflow- Save workflow to librarycomfy_load_workflow- Load saved workflowcomfy_list_workflows- List all saved workflowscomfy_delete_workflow- Delete workflow from library
Queue Management
comfy_get_queue- Get current queue statuscomfy_cancel_generation- Cancel generationcomfy_clear_queue- Clear pending queue items
Utilities
comfy_upload_image- Upload image to ComfyUI input foldercomfy_get_output_images- List recent output images
Usage Examples
Simple Text-to-Image Generation
Ask Claude:
Generate an image of a sunset over mountains using FluxClaude will use comfy_generate_simple with the flux_txt2img template.
Custom Workflow Execution
Use my chrono_edit workflow to animate this product imageClaude will:
Load your workflow with
comfy_load_workflowUpload the image with
comfy_upload_imageSubmit with
comfy_submit_workflowand parameter overrides
Check Available Models
What Flux models do I have available?Claude will use comfy_list_models with filter="flux".
Configuration
Template Defaults
Edit config.json to customize template defaults:
{
"templates": {
"flux_txt2img": {
"default_model": "flux_dev.safetensors",
"default_steps": 20,
"default_cfg": 3.5
}
}
}Workflow Library Path
Workflows are saved to:
[Path to your ComfyUI portable installation]\ComfyUI\user\default\workflows\mcp_libraryTroubleshooting
"Cannot connect to ComfyUI"
Ensure ComfyUI is running:
run_nvidia_gpu.batCheck ComfyUI is accessible at
http://127.0.0.1:8188Verify port 8188 is not blocked by firewall
"Model not found"
Run
comfy_list_modelsto see available modelsCheck model file exists in the correct folder
Verify model name spelling matches exactly
"Workflow validation failed"
Test workflow in ComfyUI UI first
Check all node connections are valid
Ensure all required models are available
Permission Errors
Check folder permissions on ComfyUI directories
Run Claude Desktop as administrator if needed
Verify paths in
config.jsonare accessible
Development
Build in Watch Mode
npm run devClean Build
npm run clean
npm run buildArchitecture
Claude Desktop (stdio) → MCP Server → ComfyUI API (HTTP/WebSocket)
↓
File System
- Models
- Input/Output
- Workflow LibraryThe MCP server runs as a separate Node.js process and communicates with ComfyUI via its HTTP API and WebSocket connections. It does not modify any ComfyUI files.
License
MIT
Support
For issues and questions, refer to the specification document or ComfyUI API documentation.
Available Tools
14 toolscomfy_cancel_generationB
Cancel a specific generation or interrupt the currently executing generation. Can optionally remove from queue.
| Name | Required | Description | Default |
|---|---|---|---|
| prompt_id | No | ||
| delete_from_queue | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries full burden but lacks critical behavioral details. It mentions cancellation and optional deletion but doesn't disclose whether this requires specific permissions, if it's reversible, what happens to partial results, or error conditions (e.g., invalid prompt_id). For a mutation tool with zero annotation coverage, this is a significant gap.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, efficient sentence with zero waste. It's front-loaded with the core action ('cancel'/'interrupt') and includes the optional feature concisely. Every word earns its place without redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given a mutation tool with 2 parameters, 0% schema coverage, no annotations, and no output schema, the description is incomplete. It lacks details on permissions, side effects, return values, error handling, and parameter specifics. While concise, it doesn't provide enough context for safe and effective use.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must compensate but adds minimal parameter context. It mentions 'specific generation' (hinting at prompt_id) and 'remove from queue' (hinting at delete_from_queue), but doesn't explain parameter meanings, formats, or interactions (e.g., if prompt_id is omitted, it cancels the current execution). With 2 undocumented parameters, this is inadequate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose with specific verbs ('cancel', 'interrupt') and resources ('a specific generation', 'the currently executing generation'), plus an optional action ('remove from queue'). It distinguishes itself from sibling tools like comfy_clear_queue (which clears the entire queue) and comfy_get_status (which only checks status).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage context by mentioning 'currently executing generation' and 'queue', suggesting it's for active or queued tasks. However, it doesn't explicitly state when to use this versus alternatives like comfy_clear_queue for bulk operations or comfy_delete_workflow for workflow management, nor does it specify prerequisites or exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
comfy_clear_queueA
Clear all pending items from the queue (does not affect currently running generation). Requires confirmation.
| Name | Required | Description | Default |
|---|---|---|---|
| confirm | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden. It discloses the confirmation requirement (a behavioral trait) and clarifies it doesn't affect running generations, but doesn't mention other important behaviors like whether this action is reversible, what happens to cleared items, or any permission requirements. The description adds some value but leaves significant behavioral gaps.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is perfectly front-loaded with the core action in the first clause, followed by important clarifications. Every sentence earns its place - the first states what it does, the second clarifies scope, and the third specifies a requirement. Zero waste, maximum efficiency.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a destructive queue-clearing tool with no annotations and no output schema, the description is adequate but incomplete. It covers the basic action and confirmation requirement, but doesn't address important context like whether this requires special permissions, what the response looks like, or error conditions. Given the tool's destructive nature, more behavioral disclosure would be beneficial.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With only 1 parameter and 0% schema description coverage, the description compensates well by explaining the 'confirm' parameter's purpose ('Requires confirmation'). This adds crucial semantic meaning beyond the bare schema, though it doesn't specify the exact confirmation mechanism or format.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the specific action ('Clear all pending items from the queue') and distinguishes it from siblings by specifying it 'does not affect currently running generation'. This differentiates it from tools like comfy_cancel_generation which would affect active processes.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides clear context about when to use this tool (to clear pending queue items) and implicitly distinguishes it from cancellation tools. However, it doesn't explicitly mention alternatives like comfy_cancel_generation for stopping active processes or provide explicit 'when-not-to-use' guidance beyond the running generation clarification.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
comfy_delete_workflowA
Delete a saved workflow from the MCP library. Requires confirmation for safety.
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes | ||
| confirm | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure. It effectively communicates that this is a destructive operation ('Delete') and adds safety context ('Requires confirmation for safety'), which helps the agent understand the tool's impact and interaction requirements beyond basic functionality.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely concise with two sentences that directly address purpose and a key behavioral trait. Every word earns its place, and the information is front-loaded without unnecessary elaboration, making it efficient and easy to parse.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's complexity (destructive operation with 2 parameters) and lack of annotations and output schema, the description is moderately complete. It covers the core action and a safety mechanism, but falls short in fully explaining parameter semantics, potential errors, or return values, leaving gaps for the agent to infer.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema description coverage is 0%, meaning parameters are undocumented in the schema. The description mentions 'confirmation for safety' which loosely relates to the 'confirm' parameter, but provides no details about the 'name' parameter or the meaning, format, or constraints of either parameter. It adds minimal value beyond the bare schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the specific action ('Delete') and resource ('a saved workflow from the MCP library'), distinguishing it from sibling tools like comfy_list_workflows and comfy_save_workflow. It precisely communicates what the tool does without ambiguity.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage for deletion of saved workflows, but provides no explicit guidance on when to use this tool versus alternatives like comfy_clear_queue or comfy_cancel_generation. It mentions a confirmation requirement, which hints at safety considerations, but lacks context about prerequisites or specific scenarios for invocation.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
comfy_generate_simpleC
Quick image generation using pre-configured workflow templates (flux_txt2img, sd15_txt2img, sdxl_txt2img, basic_img2img). Ideal for common use cases without managing workflow JSON.
| Name | Required | Description | Default |
|---|---|---|---|
| prompt | Yes | ||
| negative_prompt | No | ||
| template | Yes | ||
| model | No | ||
| input_image | No | ||
| width | No | ||
| height | No | ||
| steps | No | ||
| cfg | No | ||
| seed | No | ||
| sampler | No | ||
| scheduler | No | ||
| denoise | No | ||
| batch_size | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries full burden for behavioral disclosure. While it mentions 'quick image generation' and 'pre-configured workflow templates,' it doesn't disclose critical behavioral traits like whether this is a synchronous or asynchronous operation, how long generation typically takes, what happens to queued jobs, error handling, or authentication requirements. For a complex image generation tool with 14 parameters, this leaves significant behavioral gaps.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is appropriately concise with two sentences that efficiently convey the core value proposition. The first sentence establishes the main functionality with specific template examples, and the second sentence provides usage context. There's no wasted verbiage, though it could be slightly more structured with clearer separation of key concepts.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's complexity (14 parameters, image generation functionality), absence of annotations, and lack of output schema, the description is insufficiently complete. It doesn't explain what the tool returns (images, job IDs, status?), error conditions, performance characteristics, or how it integrates with sibling tools like comfy_get_output_images. For a generative AI tool with significant computational implications, more contextual information is needed.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With 0% schema description coverage for 14 parameters, the description provides minimal parameter guidance. It only mentions template names in the enum list but doesn't explain what each template does, when to choose which template, or how parameters like 'input_image' relate to 'basic_img2img' template. The description fails to compensate for the complete lack of schema descriptions, leaving most parameters semantically unclear.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose as 'Quick image generation using pre-configured workflow templates' with specific template names listed. It distinguishes itself from sibling tools by emphasizing simplicity for 'common use cases without managing workflow JSON,' differentiating from more complex workflow management tools like comfy_submit_workflow. However, it doesn't explicitly contrast with all siblings like comfy_get_output_images.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides implied usage guidance by stating it's 'ideal for common use cases without managing workflow JSON,' suggesting when to use this simplified tool versus more complex workflow management alternatives. However, it doesn't explicitly state when NOT to use it or name specific alternative tools for different scenarios, leaving some ambiguity about optimal use cases.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
comfy_get_output_imagesA
List recent output images from ComfyUI's output folder. Returns full Windows paths that Claude Desktop can read.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | ||
| sort | No | newest | |
| filter | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure. It adds useful context about the return format ('full Windows paths that Claude Desktop can read'), which isn't obvious from the schema. However, it lacks details on permissions, rate limits, or error handling, leaving gaps for a tool that accesses file systems.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is front-loaded and efficiently structured in a single sentence, with zero wasted words. Every part ('List recent output images', 'from ComfyUI's output folder', 'Returns full Windows paths that Claude Desktop can read') adds essential information without redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's moderate complexity (3 parameters, no output schema, no annotations), the description is partially complete. It clarifies the tool's purpose and return format but lacks details on parameter usage, error conditions, or integration with siblings, making it adequate but with clear gaps for effective agent use.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must compensate for undocumented parameters. It does not explain the meaning or usage of 'limit', 'sort', or 'filter' parameters, failing to add value beyond the schema. The baseline is 3 since the schema provides some structure (e.g., enums for 'sort'), but the description offers no parameter insights.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the specific action ('List recent output images') and resource ('from ComfyUI's output folder'), distinguishing it from siblings like comfy_get_queue or comfy_get_status that handle different resources. It precisely defines what the tool does without being vague or tautological.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives. It does not mention prerequisites, exclusions, or compare it to sibling tools like comfy_list_workflows or comfy_upload_image, leaving the agent to infer usage context without explicit direction.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
comfy_get_queueA
Get detailed information about the current generation queue, including running and pending items.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries full burden. It states it gets 'detailed information' but does not disclose behavioral traits such as rate limits, authentication needs, or what format the information is returned in. This is a significant gap for a tool with zero annotation coverage.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, efficient sentence that front-loads the purpose ('Get detailed information about the current generation queue') and adds specific scope ('including running and pending items'). There is zero waste, making it highly concise and well-structured.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given 0 parameters and no output schema, the description is adequate for a simple read operation but incomplete. It lacks details on return format, error handling, or behavioral context, which are important for an agent to use the tool effectively without annotations.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has 0 parameters with 100% schema description coverage, so no parameter information is needed in the description. The baseline for this scenario is 4, as the description appropriately focuses on purpose without redundant parameter details.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb 'Get' and the resource 'detailed information about the current generation queue', specifying it includes 'running and pending items'. This distinguishes it from siblings like comfy_get_status (general status) or comfy_get_output_images (specific output).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage for checking queue details, but does not explicitly state when to use this tool versus alternatives like comfy_get_status or comfy_wait_for_completion. No exclusions or prerequisites are mentioned, leaving usage context somewhat vague.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
comfy_get_statusA
Get the current status and progress of a specific generation or the overall queue. Returns queue position, progress, and output paths when available.
| Name | Required | Description | Default |
|---|---|---|---|
| prompt_id | No | ||
| include_outputs | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure. It adequately describes the core behavior (returns queue position, progress, and output paths) and hints at conditional output ('when available'). However, it lacks details on error conditions, rate limits, authentication needs, or whether this is a read-only operation (though 'Get' implies it). The description doesn't contradict annotations (none exist), but could be more comprehensive for a tool with potential side effects or constraints.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences that are front-loaded with the core purpose and efficiently detail the return values. Every word contributes essential information—no fluff or repetition. It's appropriately sized for a straightforward status-checking tool.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's moderate complexity (2 parameters, no output schema, no annotations), the description is reasonably complete. It covers what the tool does, what it returns, and hints at parameter usage. However, it lacks explicit error handling or behavioral nuances (e.g., what happens if prompt_id is invalid), which would be needed for a perfect score. For a status tool without critical mutations, this is sufficient but not exhaustive.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has 2 parameters with 0% description coverage, so the description must compensate. It doesn't explicitly mention the parameters, but it clarifies the tool's dual purpose ('specific generation or the overall queue'), which implicitly explains the optional 'prompt_id' parameter. The mention of 'output paths' relates to the 'include_outputs' parameter. While not a direct parameter explanation, this adds meaningful context beyond the bare schema, justifying a score above baseline.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the specific action ('Get the current status and progress'), identifies the resource ('a specific generation or the overall queue'), and distinguishes it from siblings by focusing on status/progress retrieval rather than queue management (comfy_get_queue), cancellation (comfy_cancel_generation), or generation submission (comfy_generate_simple). The verb+resource+scope combination is precise.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage context by mentioning 'a specific generation or the overall queue,' suggesting this tool can be used for both individual job tracking and queue overview. However, it doesn't explicitly state when to choose this over alternatives like comfy_get_queue (which might return different queue details) or comfy_wait_for_completion (which blocks until done). No explicit when-not-to-use guidance or prerequisite information is provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
comfy_list_modelsB
List available models, checkpoints, LoRAs, VAEs, and other resources in the ComfyUI models directory. Supports filtering by type and name.
| Name | Required | Description | Default |
|---|---|---|---|
| type | No | ||
| filter | No | ||
| include_size | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It mentions the tool lists resources and supports filtering, but does not disclose behavioral traits such as whether it's read-only, potential performance impacts, rate limits, or what the output format looks like (e.g., list structure, pagination). This leaves significant gaps for an agent to understand how to interact with it effectively.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is front-loaded with the core purpose in the first sentence and adds supporting details in the second, with zero wasted words. It efficiently communicates key information without redundancy, making it easy for an agent to parse quickly.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the complexity of listing multiple resource types with filtering, no annotations, and no output schema, the description is incomplete. It lacks details on return values (e.g., format, fields), error handling, or prerequisites, which are crucial for an agent to use the tool correctly in a ComfyUI context. The description does not fully compensate for the missing structured data.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must compensate. It adds meaning by explaining that parameters allow 'filtering by type and name,' which corresponds to the 'type' and 'filter' parameters, and implies resource listing. However, it does not detail the 'include_size' parameter or provide examples or constraints beyond what the schema's enum suggests. This partial compensation meets the baseline for low coverage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the specific action ('List available models, checkpoints, LoRAs, VAEs, and other resources') and the location ('in the ComfyUI models directory'), distinguishing it from sibling tools like comfy_list_workflows which lists workflows rather than models. It uses precise terminology that matches the tool's name and scope.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage by mentioning 'Supports filtering by type and name,' suggesting when to use it for filtered queries, but does not explicitly state when to choose this tool over alternatives or provide exclusions. No sibling tools directly overlap, but guidance on when to use this versus other listing tools is lacking.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
comfy_list_workflowsA
List all saved workflows in the MCP library. Supports filtering by name, description, or tags.
| Name | Required | Description | Default |
|---|---|---|---|
| filter | No | ||
| tags | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden of behavioral disclosure. It mentions filtering but doesn't describe return format, pagination, error handling, or whether this is a read-only operation. For a list tool with zero annotation coverage, this leaves significant gaps in understanding how the tool behaves.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences with zero waste: the first states the core purpose, and the second adds filtering details. It's front-loaded with the main action and appropriately sized for the tool's complexity.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no annotations and no output schema, the description is adequate for a simple list tool but incomplete. It covers purpose and parameters but lacks details on return values, error cases, or behavioral traits like whether it's safe or has side effects, which are important for an agent to use it correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With 0% schema description coverage, the description compensates by explaining what the parameters do: 'filter' is for name, description, or tags, and 'tags' is an array for tag-based filtering. This adds meaningful context beyond the bare schema, though it doesn't detail exact syntax or constraints.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb 'List' and the resource 'all saved workflows in the MCP library', making the purpose specific and unambiguous. It distinguishes this tool from siblings like comfy_load_workflow or comfy_save_workflow by focusing on listing rather than loading or saving workflows.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage through the mention of filtering capabilities, suggesting it's for retrieving workflows with optional filters. However, it doesn't explicitly state when to use this tool versus alternatives like comfy_list_models or comfy_get_queue, nor does it provide exclusions or prerequisites for usage.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
comfy_load_workflowB
Load a saved workflow from the MCP library by name. Returns the workflow JSON and metadata.
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It mentions that the tool 'Returns the workflow JSON and metadata,' which adds some behavioral context about the output. However, it lacks details on error handling, permissions, rate limits, or whether this is a read-only operation (implied but not stated). For a tool with zero annotation coverage, this is insufficient.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, efficient sentence that front-loads the core action and includes the return value. There is no wasted language, making it highly concise and well-structured for quick understanding.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's moderate complexity (1 parameter, no output schema, no annotations), the description is minimally adequate. It covers the basic purpose and output but lacks details on usage context, error cases, or behavioral nuances. Without annotations or an output schema, more completeness would be beneficial, but it meets the minimum viable threshold.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The description specifies that the tool loads 'by name,' which clarifies the purpose of the single parameter 'name' in the input schema. Since schema description coverage is 0%, the description compensates by adding meaningful context about what the parameter represents, though it doesn't detail format constraints or examples.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('Load') and resource ('saved workflow from the MCP library by name'), with a specific verb+resource combination. However, it doesn't explicitly differentiate from sibling tools like 'comfy_list_workflows' or 'comfy_get_workflow' (if such existed), which would be needed for a perfect score.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives. With siblings like 'comfy_list_workflows' (which might list workflows) and 'comfy_save_workflow' (which saves workflows), there's no indication of prerequisites, timing, or distinctions between these operations.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
comfy_save_workflowC
Save a workflow JSON to the MCP library for later reuse. Includes metadata like description and tags for organization.
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes | ||
| workflow | Yes | ||
| description | No | ||
| tags | No | ||
| overwrite | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries full burden but offers minimal behavioral insight. It mentions metadata inclusion (description, tags) but omits critical details: whether saving requires authentication, if it's idempotent (hinted by 'overwrite' parameter but not explained), potential rate limits, error conditions (e.g., duplicate names), or what happens on success (e.g., confirmation message). For a write operation with zero annotation coverage, this is inadequate.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is appropriately concise with two sentences that efficiently convey the core purpose and metadata aspects. It's front-loaded with the main action and avoids unnecessary details. However, the second sentence could be integrated more smoothly, and there's room to add brief usage context without bloating.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the complexity (a write operation with 5 parameters), lack of annotations, and no output schema, the description is incomplete. It doesn't address behavioral aspects like permissions, idempotency, or error handling, and parameter coverage is partial. For a tool that saves data to a library, more context on success/failure outcomes and operational constraints is needed.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must compensate but only partially does. It mentions 'metadata like description and tags' which maps to two parameters (description, tags), but doesn't explain 'name' (required, with pattern), 'workflow' (required, JSON or object), or 'overwrite' (default false). Since it covers 2 of 5 parameters (40%), it adds some value but falls short of fully compensating for the schema gap.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('Save a workflow JSON') and resource ('to the MCP library for later reuse'), which distinguishes it from sibling tools like comfy_delete_workflow or comfy_load_workflow. However, it doesn't explicitly differentiate from comfy_submit_workflow (which might execute workflows) or comfy_list_workflows (which lists them), leaving some ambiguity about exact sibling distinctions.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives. It doesn't mention prerequisites (e.g., needing an existing workflow), exclusions (e.g., not for executing workflows), or direct comparisons to siblings like comfy_load_workflow (for retrieval) or comfy_delete_workflow (for removal), leaving usage context unclear.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
comfy_submit_workflowB
Submit a complete workflow JSON to ComfyUI for execution. Supports parameter overrides for dynamic modifications without editing the workflow structure.
| Name | Required | Description | Default |
|---|---|---|---|
| workflow | Yes | ||
| overrides | No | ||
| client_id | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure. It mentions execution and parameter overrides but fails to cover critical aspects like whether this is a read-only or destructive operation, authentication needs, rate limits, or what happens upon submission (e.g., queueing, immediate execution). This leaves significant gaps for an agent to understand the tool's behavior.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is efficiently structured in two sentences, front-loading the core purpose and adding a clarifying detail about overrides. Every word contributes meaning without redundancy, making it appropriately concise.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the complexity (3 parameters with nested objects, no annotations, no output schema), the description is incomplete. It doesn't address execution outcomes, error handling, or the relationship between workflow and overrides, leaving the agent with insufficient context for reliable tool invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema description coverage is 0%, so the description must compensate for undocumented parameters. It mentions 'parameter overrides' and 'workflow JSON,' which loosely maps to the 'overrides' and 'workflow' parameters, but doesn't explain the 'client_id' parameter or provide details on override usage, format, or constraints. This adds minimal value beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('submit') and resource ('complete workflow JSON to ComfyUI for execution'), making the purpose understandable. However, it doesn't explicitly differentiate from sibling tools like 'comfy_generate_simple' or 'comfy_load_workflow', which prevents a perfect score.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage context by mentioning 'parameter overrides for dynamic modifications without editing the workflow structure,' suggesting this tool is for executing workflows with customizations. However, it lacks explicit guidance on when to use this versus alternatives like 'comfy_generate_simple' or prerequisites, leaving some ambiguity.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
comfy_upload_imageC
Upload an image to ComfyUI's input folder for use in workflows. Supports custom filenames and overwrite control.
| Name | Required | Description | Default |
|---|---|---|---|
| image_path | Yes | ||
| filename | No | ||
| overwrite | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure. It mentions 'overwrite control', which hints at mutation behavior, but does not detail permissions, side effects, error handling, or rate limits. This is inadequate for a tool that modifies system state, leaving significant gaps in understanding its operational traits.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is front-loaded and concise, consisting of two sentences that directly state the tool's function and key features without unnecessary elaboration. Every sentence adds value, making it efficient and well-structured for quick comprehension.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the complexity of an upload operation with no annotations, 0% schema coverage, and no output schema, the description is incomplete. It lacks details on return values, error conditions, and full parameter semantics, which are crucial for an agent to use the tool effectively in workflows.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The description adds some meaning by mentioning 'custom filenames and overwrite control', which relates to the 'filename' and 'overwrite' parameters. However, with 0% schema description coverage and three parameters, it does not fully compensate for the lack of schema details, such as explaining 'image_path' format or constraints, resulting in a baseline score.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('Upload an image') and resource ('to ComfyUI's input folder for use in workflows'), making the purpose evident. However, it does not explicitly differentiate from sibling tools like 'comfy_get_output_images' or 'comfy_submit_workflow', which might involve images but serve different purposes, so it falls short of a perfect score.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives. It mentions the tool's function but does not specify scenarios, prerequisites, or exclusions, such as when to prefer this over other image-handling tools in the sibling list, leaving the agent with minimal usage context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
comfy_wait_for_completionA
Block until a generation completes or fails. Returns final outputs with image paths. Useful for synchronous workflows.
| Name | Required | Description | Default |
|---|---|---|---|
| prompt_id | Yes | ||
| timeout | No | ||
| poll_interval | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It discloses key behavioral traits: blocking behavior, handling of completion/failure outcomes, and return of image paths. However, it lacks details on error handling, rate limits, authentication needs, or what happens on timeout (though timeout is a parameter). For a tool with no annotations, this is a moderate disclosure but misses some operational context.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is highly concise and well-structured: two sentences that front-load the core functionality ('Block until...') and follow with a usage note ('Useful for...'). Every word earns its place with no redundancy or fluff, making it efficient and clear.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's complexity (blocking wait with 3 parameters), no annotations, no output schema, and 0% schema coverage, the description is moderately complete. It covers the main purpose and usage context but lacks details on parameters, return values (beyond 'image paths'), error cases, or sibling tool comparisons. For a tool with these gaps, it provides a basic but incomplete picture.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the schema provides no parameter descriptions. The description adds no explicit parameter semantics—it doesn't explain prompt_id, timeout, or poll_interval. However, it implies the purpose of waiting for a generation, which relates to prompt_id. With 0% coverage and 3 parameters, the description compensates minimally, meeting the baseline for moderate schema coverage gaps.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose: 'Block until a generation completes or fails. Returns final outputs with image paths.' This specifies the verb (block/wait), resource (generation), and outcome (completion/failure with outputs). It distinguishes from siblings like comfy_get_status (check status without blocking) and comfy_get_output_images (retrieve images without waiting). However, it doesn't explicitly name these siblings for differentiation, keeping it at 4.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides implied usage guidance: 'Useful for synchronous workflows.' This suggests when to use it (synchronous contexts) but doesn't explicitly state when not to use it or name alternatives like comfy_get_status for non-blocking checks. No prerequisites or exclusions are mentioned, leaving some gaps in guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
TDQS
Each tool has a clearly distinct purpose with no ambiguity. For example, comfy_generate_simple is for quick image generation, comfy_submit_workflow handles complete workflow execution, and comfy_get_status monitors progress, all targeting different aspects of the ComfyUI workflow lifecycle. The descriptions clearly differentiate between queue management, workflow management, generation, and output handling.
All tools follow a consistent comfy_verb_noun pattern with snake_case throughout. The naming convention is predictable and readable, such as comfy_list_workflows, comfy_save_workflow, and comfy_cancel_generation. This uniformity helps agents easily identify and select the appropriate tools.
With 14 tools, the count is well-scoped for managing ComfyUI workflows, covering generation, queue management, workflow storage, and output retrieval. Each tool earns its place by addressing specific needs in the image generation pipeline, from submission to completion, without being excessive or insufficient.
The tool surface provides complete coverage for the ComfyUI domain, including CRUD operations for workflows (list, load, save, delete), generation lifecycle (submit, cancel, wait, status), queue management (get, clear), and output handling (get images, upload image). There are no obvious gaps, enabling agents to handle end-to-end workflows seamlessly.
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Connectors
Use AI models for chat, image, and video generation from Claude Code and other MCP hosts.
Build and run visual creative-production workflows from your AI agent.
Generate and edit images and create short videos inside Claude. Prepaid credits, no subscription.
One workspace of tools for Claude and ChatGPT: connect 600+ apps, generate media, build tools.
Related MCP Servers
- AlicenseAqualityDmaintenanceEnables comprehensive ComfyUI workflow automation including image generation, workflow management, node discovery, and system monitoring through natural language interactions with local or remote ComfyUI servers.3114MIT
- AlicenseNot gradedqualityNot gradedmaintenanceEnables AI assistants to interact with local ComfyUI installations to list nodes, validate workflows, and execute image generation workflows directly without requiring an HTTP server.1
- AlicenseNot gradedqualityDmaintenanceEnables Claude to generate images through a local ComfyUI instance using Stable Diffusion and SDXL models via natural language. Users can trigger image generation, list available checkpoint models, and monitor the ComfyUI queue status directly from their MCP client.MIT
- FlicenseNot gradedqualityDmaintenanceBridges Claude Desktop to local and remote ComfyUI instances, enabling health checks, model listing, workflow queuing, status polling, and output retrieval.
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/Nikolaibibo/claude-comfyui-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server