Skip to main content
Glama

install_node

Install custom node packs into your local ComfyUI, asking for confirmation first. Skips unsupported IDs and reports per-pack failures, so you can verify results before proceeding.

Instructions

Install custom node packs into the LOCAL ComfyUI — runs third-party code, asks first.

Wraps comfy node install <name...> --exit-on-fail. Feed it registry pack ids (e.g. "comfyui-impact-pack") from nodes / workflow_deps — never a node CLASS name (convert it with workflow_deps first); a git URL or an @version pin is refused before anything runs (run comfy node install in a terminal for those).

Args: confirm_install: on a client that supports MCP elicitation, the user is always prompted by name regardless of this flag. Set it True ONLY when the user has actually agreed — it is the fallback for a client that cannot be prompted, never a way to clear an error.

Returns: {"installed", "result", "restart_required"}, plus {"failed", "error"} when the engine reports any pack failed. installed lists only packs NOT reported failed — check failed before telling the user anything succeeded.

Gotchas: - Does NOT restart ComfyUI: new nodes stay invisible until restart_comfyui runs; restart_required is True whenever anything installed. - Requires a ComfyUI-Manager comfy-cli can drive (a legacy custom_nodes/ clone doesn't count); otherwise returns {"error": ..., "unsupported": True} and installs nothing — check for that key before indexing ["installed"]. - A pack failure is often reported PER PACK in failed rather than raised — a 0 exit does not mean every pack landed.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
namesYes
confirm_installNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.1

TDQS

A5/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries the full burden and does so thoroughly. It discloses that the tool runs third-party code, asks first, does NOT restart ComfyUI (restart_required is true when anything installs), requires ComfyUI-Manager, and that per-pack failures are reported in 'failed' rather than raised. It also explains the fallback behavior of confirm_install on non-elicitation clients.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description front-loads a one-line summary, then uses clear 'Args:', 'Returns:', and 'Gotchas:' headers to organize nuanced information. Every section adds essential operational detail, and the formatting makes the long content scannable. There is minimal redundancy; each gotcha addresses a distinct failure mode.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's complexity, no output schema, and no annotations, the description covers all necessary aspects: input formats, required ComfyUI-Manager setup, return dictionary structure, error keys ('unsupported', 'failed'), restart behavior, and how to verify success. It enables an agent to call the tool correctly and interpret results without needing additional documentation.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters5/5

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 provides detailed semantics for both parameters: 'names' is defined as registry pack ids from nodes/workflow_deps, with explicit exclusions (class names, git URLs, @version pins), and 'confirm_install' is explained as a fallback that should only be True after user agreement, with prompt behavior depending on client support.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description opens with a specific verb and resource ('Install custom node packs into the LOCAL ComfyUI') and immediately distinguishes itself from siblings by clarifying input types ('registry pack ids ... never a node CLASS name') and pointing to workflow_deps for conversion. It also notes that git URLs and version pins are refused, which differentiates this tool from direct terminal installs. This clearly identifies the tool's purpose among the sibling set.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

It explicitly states the correct input ('Feed it registry pack ids ... from nodes / workflow_deps'), what to avoid ('never a node CLASS name', 'a git URL or an @version pin is refused'), and provides alternatives: 'convert it with workflow_deps first' and 'run comfy node install in a terminal for those.' It also explains when confirm_install should be True, giving clear conditional usage.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.