MCP server that proxies ComfyUI API calls over stdio transport. Provides tools to query ComfyUI status, submit generation tasks (image/video), list workflows, and search the local gallery.
The server defines 4 tools with explicitly visible schemas and descriptions in mcp_server.py. However, critical issues severely limit production readiness: (1) Most parameter descriptions are missing or minimal, only 'prompt' in submit_generation has a substantive description; 'query' and 'limit' in search_gallery have brief descriptions; others lack parameter documentation entirely. (2) Output schemas are not documented, responses are unstructured text or raw JSON dumps without schema declaration. (3) Error handling is minimal; tool errors are caught but responses lack guidance on recovery or next steps. (4) No tool annotations (readOnlyHint, destructiveHint, idempotentHint) despite clear semantic distinctions (query_status and list_workflows are read-only; submit_generation is destructive). (5) Tool names are reasonable but descriptions rely on Chinese language and cultural context unfamiliar to many LLMs, reducing cross-platform clarity. Naming follows verb_noun convention (query_, submit_, list_, search_), which is good. The schema syntax is correct JSON Schema, but parameter descriptions are sparse.
列出可用工作流(含 tier 档位:final=成片可复现 / draft=草稿快跑不可复现,及预估耗时)。
查询 ComfyUI 与 ComfyAgent 状态:在线与否、正在执行/排队任务数、GPU 显存占用。
按关键词搜索本地画廊(output 目录)成果文件,返回文件名/类型/相对路径。
提交生成任务到 ComfyUI(占用 GPU)。mode=image 走 Flux 文生图(中文自动增强为英文),mode=video 走 H3 文生视频(约 4.7 分钟/条)。仅当用户明确要求生成时调用,count≤4。
Output schemas not documented. Tools return unstructured text (query_status, list_workflows) or raw JSON (submit_generation, search_gallery) without declaring field types or structure for downstream tool composition.
Parameter descriptions are missing or minimal. query_status has no parameters but doesn't state this; list_workflows input schema has no properties listed; search_gallery 'query' parameter description is vague ('file name keyword, empty string=latest'). LLMs cannot infer parameter meaning from names alone.
No tool annotations (readOnlyHint, destructiveHint, idempotentHint) despite clear semantic distinctions. submit_generation is destructive (creates GPU jobs); query_status and search_gallery are read-only. Annotations help agents reason about safe retries and side effects.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | D | 56 | 2026-07-28+ | v2 |
Error messages lack recovery guidance. Tool errors return 'tool error: {exception}' with no actionable next step. Pattern: error-classification requires categorizing as retryable/user-fixable/fatal and suggesting recovery.
Descriptions written primarily in Chinese (query_status, list_workflows, submit_generation). LLMs trained on English corpora may misinterpret intent. Tool descriptions should be in English or support both languages with equal clarity.
submit_generation lacks explicit constraints on output. Description states 'count≤4' as guidance but schema enforces 'maximum: 4'. No documentation of what 'seed' does or how it interacts with 'count'. Undocumented dependencies invite misuse.