Skip to main content
Glama

kitchen

Check GPU capabilities, find bottlenecks in a ComfyUI workflow, and apply the recommended faster path with before/after proof.

Instructions

See what comfy-kitchen can do on this GPU, find where a graph is leaving it on the table, and apply the faster path. Driven by action:

  • action:"status" — kitchen version, backends (hip/cuda/triton/eager), INT8 attention, GPU fp8/NVFP4/MXFP8, launch flags (--use-ck-attention, --enable-triton-backend, --fast fp8_matrix_mult). Local gets log + /system_stats + an import probe when COMFYUI_PATH is set; remote gets log + /system_stats only and reports model.quant / the probe as unknown. A failed probe is unknown, never a no.

  • action:"assess" — walk the workflow JSON's UNETLoaders and emit a recommendation only when every fact it needs is known: (1) weight_dtype default on a bf16 UNETLoader + GPU fp8 + kitchen present → fp8_e4m3fn_fast (widget, no restart); (2) no --use-sage-attention, sageattention not installed, kitchen INT8 available → --use-ck-attention (restart, confirm); (3) Blackwell + local NVFP4 sibling → model swap; (4) ROCm + triton ≥ 3.7 + kitchen, triton backend off → --enable-triton-backend. Pass workflow (API or UI JSON). For the open canvas use panel_kitchen.

  • action:"apply" — apply one recommendation_id from assess. Widget edits are reversible and do not need confirm. Flags and downloads need confirm: true. Flag apply names the launch flag; restart_comfyui replays the previous argv and does not inject a new one. Proof (before/after s/it, peak VRAM, output not black) is the panel_kitchen apply path.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
actionYesWhich kitchen operation. "status" takes no other parameters; "assess" takes `workflow`; "apply" takes `recommendation_id` and `confirm` for restarts/downloads.
confirmNoaction:"apply" — required true for anything that restarts or downloads. Widget edits do not need it.
workflowNoaction:"assess" / "apply" — workflow JSON (API-format {id:{class_type,inputs}} or UI-format {nodes,links}), as a string or object.
recommendation_idNoaction:"apply" — id from assess (e.g. "fp8_unet_fast:12" or "ck_attention").
Behavior5/5

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

With no annotations, the description takes on the full transparency burden and does so thoroughly. It discloses that local and remote status reporting differ, that a failed probe is reported as unknown rather than no, that assess only emits a recommendation when all facts are known, and that apply requires confirm for restarts/downloads. It even explains restart_comfyui's behavior of replaying previous argv without injecting new flags.

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

Conciseness4/5

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

The description is long but well-structured with a high-level overview followed by bullet per action. Each sentence adds substantive information, though some details like the proof path in panel_kitchen could be trimmed or moved. The format makes it scannable despite the length.

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

Completeness4/5

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

For a multi-action tool with no output schema and no annotations, the description covers operations, parameter requirements, alternatives, and edge cases in depth. The main gap is that it doesn't explicitly describe the exact response/return format for each action, though it implies what each returns (recommendations, status details). Overall it is nearly complete for safe invocation.

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

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so the baseline is 3, but the description adds meaningful context per action: status takes no other parameters, assess takes workflow, and apply takes recommendation_id and confirm. It also clarifies workflow format (API or UI JSON) and gives example recommendation IDs, which goes beyond the schema descriptions.

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 opening sentence clearly states the tool's purpose: 'See what comfy-kitchen can do on this GPU, find where a graph is leaving it on the table, and apply the faster path.' The three actions (status, assess, apply) map directly to that purpose, and the description distinguishes it from siblings by focusing on comfy-kitchen-specific features like INT8 attention and fp8 backends.

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?

The description explicitly says 'For the open canvas use panel_kitchen,' routing to an alternative. It also specifies when to use each action and gives concrete conditions for assess recommendations (e.g., 'bf16 UNETLoader + GPU fp8 + kitchen present → fp8_e4m3fn_fast') and apply requirements (confirm for restarts/downloads vs widget edits). This is explicit when-to-use guidance.

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

Install Server

Other Tools

Latest Blog Posts

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/artokun/comfyui-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server