Comfy Pilot - OpenCode Edition
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., "@Comfy Pilot - OpenCode EditionCreate a character sprite with 3 expression variants"
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.
Comfy Pilot - OpenCode Edition
MCP server that lets OpenCode (or any MCP-compatible AI coding tool) directly control ComfyUI for AI image generation.
Forked from ConstantineB6/comfy-pilot and adapted for OpenCode compatibility.
What this does
Instead of manually clicking nodes in ComfyUI, you just tell your AI agent:
"Generate a 1920x1080 background of a dystopian room"
"Create a character sprite with 3 expression variants"
"Download this model and set up a workflow for it"
The agent uses MCP tools to manipulate your ComfyUI workflow, set prompts, and run generations — all programmatically.
Related MCP server: ComfyUI MCP
Features
Tool | Description |
| Get the full current workflow |
| Human-readable workflow summary |
| Search available node types |
| Get detailed info about a node |
| Queue status and system info |
| Run the workflow / interrupt |
| Batch create, delete, move, connect nodes |
| View outputs from image nodes |
| Search ComfyUI Manager registry |
| Install a custom node |
| Uninstall a custom node |
| Update a custom node |
| Download models from HF/CivitAI/URLs |
Quick Start
1. Install dependencies
pip install mcp httpx2. Start ComfyUI
Make sure ComfyUI is running on http://localhost:8188.
3. Configure OpenCode
Add to ~/.config/opencode/opencode.jsonc:
{
"mcp": {
"comfyui": {
"type": "local",
"command": ["python", "C:\\path\\to\\mcp_server.py"],
"enabled": true
}
}
}Or for Claude Code (~/.claude/settings.json):
{
"mcpServers": {
"comfyui": {
"command": "python",
"args": ["/path/to/mcp_server.py"]
}
}
}4. Restart your AI tool
Restart OpenCode or Claude Code to pick up the new MCP server.
5. Start generating
Once connected, you can just talk naturally:
"Load the Counterfeit model, set prompt to a dark sci-fi room, 1920x1080, and run it."Requirements
Python 3.8+
ComfyUI (running on
localhost:8188)An MCP-compatible client (OpenCode, Claude Code, etc.)
How it works
┌──────────────┐ stdio/MCP ┌──────────────┐ HTTP REST ┌──────────┐
│ OpenCode │ ◄──────────────────────►│ MCP Server │ ◄────────────────────►│ ComfyUI │
│ (AI Agent) │ command/prompt │ (Python) │ localhost:8188 │ (Server) │
└──────────────┘ └──────────────┘ └──────────┘The MCP server translates natural language commands from the AI agent into ComfyUI API calls, then streams results back.
License
MIT — see LICENSE
Credits
Original project: ConstantineB6/comfy-pilot
Available Tools
14 toolscenter_on_nodeA
Center the user's viewport on a specific node. Useful after creating nodes to show the user where they were placed.
| Name | Required | Description | Default |
|---|---|---|---|
| node_id | Yes | ID of the node to center the view on. |
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 only states the basic action without disclosing side effects (e.g., viewport state change) or permissions needed. This is adequate but minimal for a simple view operation.
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 very concise with two sentences. The first sentence states the core functionality, and the second provides a typical use case. No wasted words.
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 simple tool with one parameter and no output schema, the description is sufficient. It explains what the tool does and when to use it. However, it could mention any return value or lack thereof.
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 covers the single parameter 'node_id' with a clear description. The tool description does not add additional meaning beyond the schema, so baseline score of 3 is appropriate.
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 ('Center the user's viewport') and the resource ('on a specific node'). It also provides a use case ('after creating nodes'). This clearly distinguishes it from sibling tools like 'edit_graph' or 'get_node_info'.
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 explicitly says when to use the tool ('after creating nodes'), which is helpful. However, it does not mention when not to use it or specify alternatives, leaving some ambiguity.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
download_modelA
Download a model to the ComfyUI models folder. Supports Hugging Face, CivitAI, and direct URLs. For gated HF models, will return instructions to provide a token.
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes | Model URL: HF (https://huggingface.co/user/repo/...), CivitAI (https://civitai.com/...), direct URL, or HF shorthand (user/repo/file.safetensors) | |
| filename | No | Optional: Override the filename. Auto-detected from URL if not provided. | |
| hf_token | No | Hugging Face token for gated models. Only provide if download fails with auth error. | |
| subfolder | No | Optional: Subfolder within the model type directory | |
| model_type | Yes | Model type - determines destination folder in ComfyUI/models/ |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Discloses support for multiple sources and gated model token handling, but lacks details on overwrite behavior, error handling, and response format. With no annotations, the description carries the burden but is incomplete.
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?
Three concise sentences cover the main functionality and special case (gated models). No unnecessary information.
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?
Provides core functionality but lacks details on return values, error scenarios, and side effects. For a download tool, more context on behavior is expected given no output schema.
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 100%, so the description adds minimal value beyond the schema. Baseline 3 is appropriate.
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 'Download a model to the ComfyUI models folder' with supported sources. This distinguishes it from sibling tools which are unrelated to downloading.
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?
Clear context for model download tasks, including handling gated models. However, no explicit when-not-to-use or alternatives are mentioned; the sibling tools are sufficiently distinct.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
edit_graphA
Edit workflow graph with batched operations. Actions: create, delete, move, resize, set, connect, disconnect. Operations execute in order; 'create' returns node_id for chaining.
| Name | Required | Description | Default |
|---|---|---|---|
| operations | Yes | Operation(s). Each has 'action' + params. Actions: create {node_type, pos_x, pos_y, title, ref, place_in_view}, delete {node_id or node_ids}, move {node_id, x, y} or {node_id, relative_to, direction, gap}, resize {node_id, width, height}, set {node_id, property, value} or {node_id, properties: {k:v}}, connect/disconnect {from_node, from_slot, to_node, to_slot}. Use 'ref' in create to reference node in later ops. Use 'place_in_view: true' to position new nodes at the center of the user's current viewport (nodes are offset horizontally to avoid overlap). |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description should disclose more behavioral traits. It mentions execution order and chaining via 'create', but lacks details on error handling, atomicity, or destructive nature beyond listing actions.
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 paragraph that covers key aspects without redundancy, though it could be slightly more 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 no output schema and one parameter, the description adequately explains batching and chaining, but omits error behavior and atomicity details.
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 coverage is 100% with detailed action descriptions, so the description adds minimal new meaning beyond the schema. Baseline 3 is appropriate.
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 edits a workflow graph with batched operations, listing specific actions. It distinguishes from sibling tools like get_workflow or get_node_info by focusing on modification.
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 modifying graph structure and lists supported actions, but does not explicitly state when to use versus alternatives or provide exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_node_infoB
Get detailed info about a specific node in the workflow: type, properties, inputs, outputs, widget values.
| Name | Required | Description | Default |
|---|---|---|---|
| node_id | Yes | Node ID |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description must disclose behavioral traits. It only lists the returned information (type, properties, etc.) but omits any side effects, permissions needed, destructive potential, or whether it is read-only. For a tool that retrieves data, it likely has no destructive effects, but that is not explicitly stated.
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, concise sentence that includes all essential information without extraneous words. It is front-loaded with the action and resource, and efficiently lists the information categories.
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 simplicity (one parameter, no output schema), the description is largely complete. It specifies what info is returned, which suffices for basic usage. However, additional behavioral context (e.g., read-only hint) would improve completeness, but it's adequate for its complexity.
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 coverage is 100% (one parameter: node_id described as 'Node ID'). The description does not add additional meaning beyond the schema; it merely repeats 'specific node'. Baseline 3 is appropriate as the schema already documents the parameter fully.
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 function: 'Get detailed info about a specific node in the workflow: type, properties, inputs, outputs, widget values.' It specifies the verb 'get', the resource 'node info', and lists the categories of information returned. This distinguishes it from sibling tools like 'get_workflow' (whole workflow) or 'summarize_workflow'.
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 when it is appropriate, scenarios where another tool would be better, or any prerequisites. For instance, it doesn't clarify that it's meant for detailed inspection vs. 'get_workflow' for overview.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_node_typesA
Search available node types. Returns minimal info by default. Use 'fields' for more details.
| Name | Required | Description | Default |
|---|---|---|---|
| fields | No | Extra fields to include | |
| search | No | Search term(s). Array for multiple: ["camera", "sampler"] | |
| category | No | Filter by category (e.g., 'loaders', 'sampling') |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description must convey behavior. It discloses that default returns minimal info and that 'fields' can provide more, which is useful. However, it omits details about pagination, limits, or any side effects, leaving gaps in transparency.
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 concise sentences (14 words) with no redundancy. The first sentence immediately states the purpose, and both sentences serve a clear function.
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?
The description explains the default vs. detailed output but does not mention the 'search' or 'category' parameters, nor does it specify what the minimal info includes. Since there is no output schema, more detail on return structure would aid completeness.
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 coverage is 100%, so baseline is 3. The description adds 'Use 'fields' for more details,' which reiterates the parameter's purpose but adds little beyond the schema's own description. No value added for 'search' or 'category' parameters.
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 states 'Search available node types.' This clearly identifies the tool's action (search) and resource (node types), distinguishing it from siblings like 'get_node_info' (specific node) and 'search_custom_nodes' (custom nodes).
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 implicit usage guidance via 'Use 'fields' for more details,' but does not explicitly state when to use this tool versus alternatives or when not to use it. No exclusions or sibling comparisons are given.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_statusA
Get ComfyUI status: queue, system stats, and/or history. Returns lightweight summaries by default (counts, IDs). Use detail='full' for more info. History is always paginated.
| Name | Required | Description | Default |
|---|---|---|---|
| detail | No | "summary" (default): counts and IDs only. "full": includes output summaries and execution times. | |
| include | No | What to include. Default: ["queue", "system"] | |
| history_limit | No | Max history entries to return (default 5, max 20). Use with history_offset for pagination. | |
| history_offset | No | Skip this many entries from most recent (default 0). Use for pagination. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description discloses key behaviors: returns lightweight summaries by default, supports detail='full' for more info, and history is paginated. It could add more clarity on what 'lightweight summaries' contain, but overall it informs the agent of request 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 extremely concise: two sentences. The first sentence defines the tool's purpose, the second adds key usage details. Every word contributes value with no 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 4 parameters, no output schema, and no annotations, the description covers purpose, parameter behavior, and pagination. It omits explicit descriptions of return format beyond 'lightweight summaries' and 'more info', but this is sufficient given the tool's simplicity.
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?
While the schema covers 100% of parameters, the description adds significant meaning: explains detail values ('summary' default vs 'full'), states default include as ["queue","system"], and clarifies history_limit default (5) and max (20) along with pagination usage. This goes beyond the schema descriptions.
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 retrieves ComfyUI status including queue, system stats, and history. It distinguishes itself from sibling tools like get_node_info or get_workflow by focusing on system-level status rather than specific node or workflow details.
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 guidance on using parameters like detail, include, and pagination (history_limit and history_offset). It implies when to use this tool (for status checks) but does not explicitly state when not to use it or compare with alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_workflowA
Get the current workflow from ComfyUI. Returns full node graph with all nodes, connections, and widget values. Use summarize_workflow for a lighter overview.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, but description indicates this is a read operation returning full node graph. Does not explicitly state nondestructive or safety, but is clear enough for a simple getter.
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?
Two efficient sentences front-load the key information with no unnecessary text.
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 zero parameters and no output schema, the description sufficiently explains the tool's purpose and return value, and mentions an alternative sibling tool.
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?
No parameters exist in the schema, so baseline score of 4 applies as the description adds no parameter details, but none are needed.
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?
Description clearly states 'Get the current workflow from ComfyUI' with specific verb and resource, and distinguishes from sibling tool summarize_workflow by noting it returns a full node graph.
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?
Explicitly directs the agent to use summarize_workflow for a lighter overview, providing clear guidance on when to choose this tool over an alternative.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
install_custom_nodeA
Install a custom node via ComfyUI Manager. Requires restart to complete.
| Name | Required | Description | Default |
|---|---|---|---|
| node_id | Yes | Node ID, name, or git URL to install |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must convey behavioral traits. It mentions 'Requires restart to complete,' which is useful, but lacks details about permissions, destructive nature, or side effects. More context is needed for a mutation tool.
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 entire description is a single concise sentence that conveys the core action and a key caveat. No fluff or redundancy; every word adds value.
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 has only one required parameter and no output schema, the description adequately covers the main purpose and a critical behavioral note (restart). However, it could be improved by explaining success/failure indicators or installation progress.
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 coverage is 100%, and the parameter description ('Node ID, name, or git URL to install') is sufficient. The tool description adds no additional meaning beyond the schema, so baseline score of 3 applies.
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 ('Install a custom node') and the method ('via ComfyUI Manager'), making the purpose unambiguous. It distinguishes from sibling tools like 'uninstall_custom_node' and 'update_custom_node'.
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 does not explicitly state when to use this tool versus alternatives, such as 'search_custom_nodes' for locating nodes first. It provides no exclusion criteria or when-not-to-use guidance, leaving the agent to infer usage context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
runC
Run workflow or interrupt current generation.
| Name | Required | Description | Default |
|---|---|---|---|
| action | No | "queue" to run, "interrupt" to stop. Default: queue | |
| node_ids | No | Optional: validate these nodes exist before running |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations exist, and the description does not disclose behavioral traits such as side effects, state changes, or requirements for running/interrupting. The agent is left uninformed about the tool's impact.
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, concise sentence that front-loads the two key actions. No unnecessary words, though slightly more context could be added without harming conciseness.
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 tool with 2 optional parameters and no output schema, the description is too minimal. It does not explain return values, process details, or prerequisites, leaving gaps in understanding despite low complexity.
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 coverage is 100%, so the input schema already documents both parameters fully. The description adds no extra meaning beyond what is in the schema, meeting the baseline for high 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 states the tool runs a workflow or interrupts a generation, using a specific verb+resource pairing. It differentiates from sibling tools as the only one with run/interrupt actions, though "run workflow" could be more specific about what execution entails.
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?
No guidance is provided on when to use this tool versus alternatives like get_status or summarize_workflow. The description lacks explicit when-to-use or when-not-to-use context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_custom_nodesA
Search for custom nodes in the ComfyUI Manager registry. Returns name, author, description, install status, and star count.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Maximum results to return. Default: 10 | |
| query | No | Search term (matches name, description, author). Case-insensitive. | |
| status | No | Filter by installation status. Default: all | |
| category | No | Filter by category (e.g., 'animation', '3d', 'video') |
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 indicates the tool is a search (likely read-only) and lists return fields, but does not disclose potential rate limits, pagination behavior beyond the 'limit' parameter, or whether the search is real-time. It is adequate but not rich.
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, focused sentence that efficiently conveys the tool's purpose and output. No redundant information, and the key action is front-loaded.
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 moderate complexity (4 optional parameters, no output schema), the description explains the return fields adequately. It lacks a statement about read-only nature or installation status implications, but overall covers the essentials.
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 100%, so baseline is 3. The description adds no additional meaning beyond the schema; it only restates the tool's purpose. The parameters are well-defined in the schema with defaults and enums, so no further clarification is needed.
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 'Search for custom nodes' and specifies the resource 'ComfyUI Manager registry'. It lists the returned fields (name, author, description, install status, star count), distinguishing it from sibling tools like get_node_info or install_custom_node.
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 the tool is for finding nodes but provides no explicit guidance on when to use it versus alternatives like get_node_info (for details on a specific node) or install_custom_node. No when-not-to-use or context is given.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
summarize_workflowA
Get a concise summary of the current workflow: node IDs, types, titles, positions, and connections. Lighter than get_workflow.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, but description clearly indicates the tool returns a concise summary without side effects. Could mention if it requires a loaded workflow or any state conditions.
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?
Two concise sentences with no redundancy. Front-loaded with purpose and key details.
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 parameters or output schema, the description fully explains what the tool does and how it relates to siblings, making it complete for selection.
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?
Tool has zero parameters, so the description correctly implies no input needed. Baseline 4 is appropriate.
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?
Description clearly states 'Get a concise summary of the current workflow' with specific contents (node IDs, types, etc.) and explicitly differentiates from sibling get_workflow by noting it is 'lighter'.
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?
Explicitly suggests using this tool when a lighter summary is needed compared to get_workflow, but does not provide explicit when-not-to-use scenarios.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
uninstall_custom_nodeA
Uninstall a custom node via ComfyUI Manager. Requires restart to complete.
| Name | Required | Description | Default |
|---|---|---|---|
| node_id | Yes | Node ID or name to uninstall |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden. It discloses the need for restart, which is a behavioral trait. However, it does not mention potential side effects (e.g., breaking dependencies) or whether the operation is reversible. The destructive nature is implied but not fully explained.
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 long with no extraneous information. Every sentence adds value: the first states the action, the second notes a critical requirement. It is efficiently 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?
For a simple tool with one parameter and no output schema, the description covers the essential point. It could be improved by mentioning the prerequisite of having ComfyUI Manager installed or behavior when the node doesn't exist, but it is largely complete.
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 coverage is 100% and the description does not add additional meaning beyond what the schema already provides for the 'node_id' parameter. The baseline of 3 is appropriate since the schema is complete.
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 'Uninstall a custom node' and the mechanism 'via ComfyUI Manager'. It distinguishes itself from sibling tools like install_custom_node and update_custom_node by specifying the uninstall action and the requirement for restart.
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 context that a restart is required, which is important for usage. However, it does not explicitly state when to use this tool versus alternatives (e.g., update_custom_node) or when not to use it. No prerequisites or exclusions are mentioned.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
update_custom_nodeB
Update a custom node to the latest version via ComfyUI Manager. Requires restart to complete.
| Name | Required | Description | Default |
|---|---|---|---|
| node_id | Yes | Node ID or name to update |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided; description mentions the restart requirement but does not disclose other effects like destructive nature or permissions needed.
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?
Two sentences, front-loaded, no wasted words. Efficient but could include more detail without losing brevity.
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?
Schema covers parameter; description mentions restart but no output schema, and does not explain update process, asynchrony, or error handling.
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 has 100% description coverage; the description adds no extra meaning beyond the schema field description.
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?
Clearly states the action (update), resource (custom node), and mechanism (via ComfyUI Manager). Distinguishes from siblings like install/uninstall but no explicit differentiation.
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?
Implies usage by stating 'Requires restart', but lacks explicit guidance on when to use vs alternatives or exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
view_imageA
View an image from a Preview Image or Save Image node. Returns the image as base64 so you can see it. Run the workflow first to generate images.
| Name | Required | Description | Default |
|---|---|---|---|
| node_id | No | ID of the Preview Image or Save Image node. If not provided, uses the first image node found. | |
| image_index | No | Which image to view if node has multiple (0-based). Default: 0 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description discloses the output format (base64) and the specific node types it works with. No annotations are provided, so the description carries the full burden. It could mention potential performance issues with large images, but the information given is adequate and non-contradictory.
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 covering purpose and prerequisite. No redundant words, and the key information is front-loaded.
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 simple tool with two optional parameters and no output schema, the description adequately covers purpose, output format, and prerequisite. It could mention error cases (e.g., no image found) but is otherwise sufficient.
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 100%, and the tool description does not add new information beyond what is already in the parameter descriptions. Per scoring guidelines, baseline is 3 when schema coverage is high.
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 'view' and resource 'image from a Preview Image or Save Image node', and explains the output format (base64). It distinguishes itself from sibling tools, none of which directly view 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 advises to 'Run the workflow first to generate images', providing clear context for when to use. However, it does not explicitly state when not to use or mention alternatives, though none exist among siblings.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections. Dates show when Glama detected each change.
14 tool updates
v1.0.0- First observed
center_on_node - First observed
download_model - First observed
edit_graph - First observed
get_node_info - First observed
get_node_types - First observed
get_status - First observed
get_workflow - First observed
install_custom_node - First observed
run - First observed
search_custom_nodes - First observed
summarize_workflow - First observed
uninstall_custom_node - First observed
update_custom_node - First observed
view_image
TDQS
Each tool serves a distinct purpose: workflow editing, node inspection, custom node management, model downloading, execution, and image viewing. There is no overlap or ambiguity.
All tool names follow a consistent lowercase verb_noun pattern (e.g., download_model, get_workflow, search_custom_nodes), with clear verbs indicating the action.
14 tools is well-scoped for a ComfyUI interface, covering essential operations like editing, custom node management, model downloading, and execution without being excessive.
The tool set covers core workflows (edit, run, view) and custom node lifecycle, but lacks explicit workflow save/load and queue management, which are minor gaps.
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
MCP server for Qwen Image 3 AI image generation
MCP server for Hailuo (MiniMax) AI video generation
MCP server for Flux AI image generation
MCP server for Producer/Riffusion AI music generation
Related MCP Servers
- AlicenseNot gradedqualityCmaintenanceA lightweight MCP server that bridges AI agents with a local ComfyUI instance to generate and iteratively refine images, audio, and video through conversational tool calls.16MIT
- FlicenseNot gradedqualityBmaintenanceMCP server that connects local ComfyUI to AI agents, enabling natural language control of ComfyUI for creating workflows, generating images, and managing the queue.-
- FlicenseNot gradedqualityCmaintenanceMCP server exposing a local (or LAN) ComfyUI instance's HTTP API as tools, so an LLM client can queue generations, inspect the queue/history, upload reference images, browse installed models/nodes, and pull back generated images.-
- AlicenseNot gradedqualityDmaintenanceMCP server that enables AI agents to control a local ComfyUI instance for image generation, allowing workflow understanding, parameter modification, execution, and model discovery.233Apache 2.0
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/jaijia/comfy-pilot-opencode'
If you have feedback or need assistance with the MCP directory API, please join our Discord server