mcpField
C
Comfyui Mcp

Comfyui Mcp

本地服务
github.com/artokun开发工具8762 天前更新

关于 Comfyui Mcp

Comfyui Mcp 是面向 ComfyUI 用户的 MCP 服务及 Claude Code 插件,可让 Agent 编排工作流、生成媒体并管理模型和自定义节点。它支持本地、远程 ComfyUI 和多种模型,并提供工作流诊断与图形编辑能力。

主要功能

  1. 01创建、编辑并执行 ComfyUI 工作流
  2. 02生成图像、视频和音频
  3. 03管理模型与自定义节点
  4. 04检查队列、日志和工作流故障
  5. 05可视化工作流并比较差异
  6. 06控制显存并监测任务进度

适用场景

  1. 01通过自然语言生成并迭代图像
  2. 02诊断失败的 ComfyUI 工作流
  3. 03在本地或远程安装上管理模型与节点
  4. 04比较工作流版本并检查任务进度

MCP 相关

它通过 MCP 工具向客户端提供 ComfyUI 工作流创建、执行、模型与节点管理等能力。可使用 stdio 或 HTTP 传输连接本地或远程 ComfyUI。

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

mcp.json · 通用配置
{
"mcpServers": {
"artokun-comfyui": {
"command": "npx",
"args": [
"-y",
"comfyui-mcp"
]
}
}
}
启动命令npx -y comfyui-mcp

本地服务需要在你的电脑上安装运行环境(如 Node.js 18+)。各客户端的配置文件位置不同,请参考客户端文档。

安装包
npmcomfyui-mcp0.52.206

工具

41

收录的工具列表 · 更新于 2 周前

参数类型必填说明
actionenum是要执行的 comfy-cli 操作。类别:status;server_*(生命周期);jobs_*(列表/状态/等待/监视/取消);search_nodes;workflow_*(验证/运行);transfer_*(上传/下载);models_*(列出文件夹/列出文件夹内容/搜索/显示/下载/移除);skills_*(列表/显示/验证/安装/状态/卸载)。status | server_start | server_stop | server_restart | jobs_list | jobs_status | jobs_wait | jobs_watch | jobs_cancel | search_nodes | workflow_validate | workflow_run | transfer_upload | transfer_download | models_list_folders | models_list_folder | models_search | models_show | models_download | models_remove | skills_list | skills_show | skills_validate | skills_install | skills_status | skills_uninstall
detailenum否action:"status" — 要执行的检查类型。version | which | env | discover
workspacestring否可选的 ComfyUI 工作区覆盖项(comfy-cli 用于自定义节点/模型的数据/基础目录)。否则使用实时的 --base-directory / COMFYUI_PATH;CLI 可执行文件仍可能来自 COMFYUI_CODE_PATH 检出目录的 .venv。
launchArgsarray否适用于 actions "server_start"/"server_restart" 的额外 ComfyUI 启动参数,例如 ['--listen','0.0.0.0','--port','8188']。
promptIdstring否单个提示 ID。"jobs_status"/"jobs_watch"/"jobs_cancel" 和 "transfer_download" 必填;"jobs_wait" 可接受此参数(会将其规范化为包含单个元素的 promptIds 列表)。
promptIdsarray否action:"jobs_wait" — 要等待的提示 ID。使用此参数、promptId 或 all=true。
allboolean否action:"jobs_wait" — 等待所有已知作业。
limitinteger否"jobs_list"、"search_nodes" 和 "models_*" 列表/搜索操作的结果上限。
timeoutSecondsinteger否操作 "jobs_wait"/"jobs_watch"/"workflow_run" — 最长等待秒数。
whereenum否jobs/search_nodes/workflow/transfer/models 操作的目标:"local"(默认)或 "cloud"(Comfy Cloud)。local | cloud
querystring否action:"search_nodes" — 模糊搜索文本。必填。
objectInfoPathstring否action:"search_nodes" — 用于搜索的离线 object_info JSON 文件,而非实时目标。
workflowPathstring否操作 "workflow_validate"/"workflow_run" — API/UI 工作流 JSON 文件的路径。必填。
waitboolean否action:"workflow_run" — 提交后等待输出,而不是立即返回。
filesarray否action:"transfer_upload" — 要上传的输入文件。必填。
outDirstring否action:"transfer_download" — 输出目录。
overwriteboolean否action:"transfer_upload" — 设置为 false 以传递 --no-overwrite。
urlOnlyboolean否action:"transfer_download" — 打印 URL,而不是下载文件。
folderstring否action:"models_list_folder" — 要列出的模型文件夹(必填)。action:"models_show" — 可选文件夹,用于在同名文件中进行选择。
textstring否action:"models_search" — 搜索文本。
typestring否action:"models_search" — 模型类型筛选条件(checkpoint、lora、vae、…)。action:"models_show" — 相同筛选条件,用于在同名文件中进行选择。
namestring否操作 "models_show"/"skills_show" — 模型或技能名称。对于 models_show,相对路径(例如 vae/qwen_image_vae.safetensors)可用于在同名文件中进行选择。
urlstring否action:"models_download" — 要下载的模型 URL。必填。
relativePathstring否操作 "models_download"/"models_remove" — 相对于工作区的模型目录(默认 models/checkpoints)。
modelNamesarray否action:"models_remove" — 要移除的模型文件名。必填。
pathstring否action:"skills_validate" — 要验证的技能路径。必填。
scopeenum否actions "skills_install"/"skills_uninstall"/"skills_status" — 安装范围。user | project
projectDirstring否项目级技能操作的工作目录。scope='project' 时必填。
targetsarray否actions "skills_install"/"skills_uninstall" — Agent 目标。
skillsarray否actions "skills_install"/"skills_uninstall" — 技能名称。
applyboolean否actions "skills_install"/"skills_uninstall" — 实际执行更改;默认 false = 试运行。

详细介绍

comfyui-mcp — 用任意 LLM 驱动 ComfyUI

Agent 面板端到端驱动 ComfyUI。点击观看演示

Agent 面板端到端驱动 ComfyUI。它会读取本地安装的内容, 连接工作流图,释放 VRAM,并运行渲染。
观看 76 秒演示 →

面向本地优先、原生支持 Agent 的 ComfyUI 控制平面。 它由 MCP 服务和实时侧边栏 Agent 组成,可生成图像、视频和音频,创建并运行工作流,管理模型和自定义节点,还能通过自然语言编辑 ComfyUI 实时工作流图。使用你拥有的任意模型:订阅中的 Claude 或 ChatGPT、通过 Google 登录使用的 Gemini、通过 Ollama 使用的免费本地模型(完全离线),或通过一个 API 密钥调用任意托管模型(DeepSeek、GLM、MiMo、Kimi、GPT,以及通过 OpenRouter 调用 Claude)。所有套餐使用相同的工具和面板,内置的 LLM Arena 会根据真实的 ComfyUI 任务为每个模型评分,让你了解自己的模型能做什么。一份配置即可连接本地安装、LAN、VPS 或 Comfy Cloud。

npm 版本 Node.js 许可证 文档

comfyui-mcp MCP 服务 comfyui-mcp MCP 服务

在 RunPod 上部署 加入 Discord  一键创建 GPU Pod。 在你自己的 GPU 上运行开箱即用的 ComfyUI,预装本项目、Agent Panel 和 ComfyUI-Manager v2。无需设置。

支持 macOS、Linux 和 Windows。自动检测 ComfyUI 安装位置和端口。

遇到问题或有疑问?加入 Discord,获取帮助、模型建议和版本公告。

38 个 MCP 工具 | 42 个 AI 技能(Flux · WAN · LTX 2.3 视频 · MiniMax H3 · Qwen · Z-Image · Ideogram 4 · ERNIE · ANIMA · 模型注册表 · Civitai · 节点创建 · 启动/性能标志) | 56 个安装包 | 11 个斜杠命令 | 4 个自主 Agent | 3 个钩子

该插件附带的技能会随每次发布不断扩展:针对特定模型的生成指南(包含精选下载 URL)、工作流配方、故障排查和自定义节点创建指南。有了这些技能,Claude 无需反复试错,就能为每种架构选出合适的采样器、CFG、分辨率和模型文件。

现已推出:ComfyUI Agent Panel,可在 ComfyUI-Manager 和 Comfy Registry 中使用

在 ComfyUI 侧边栏中运行的自主 AI Agent,可使用 Claude、ChatGPT、Gemini 或任意本地/托管大模型(Ollama 和所有兼容 OpenAI 的端点)。使用订阅服务无需 API 密钥;使用本地模型则完全无需账户。选择一个提供方,它就能操控当前图形:编辑、空间布局、一键加载工作流/资源包、回退/撤销、待处理消息栏、活动卡片、多标签页。使用付费 API 点数前会先征求同意。 在 ComfyUI-Manager 中搜索 comfyui-agent-panel 进行安装。了解更多 →

完整文档:comfyui-mcp.artokun.io/docs


快速入门

1. 安装 ComfyUI(如果尚未安装):ComfyUI Desktop 或从源代码安装

2. 将 MCP 服务添加到 Claude Code 配置(~/.claude/settings.json):

{
  "mcpServers": {
    "comfyui": {
      "command": "npx",
      "args": ["-y", "comfyui-mcp"],
      "env": {
        "CIVITAI_API_TOKEN": ""
      }
    }
  }
}

**3. 开始使用。**运行 ComfyUI 后,让 Claude 生成一张图像:

> Generate an image of a sunset over mountains

Claude 会查找(或下载)一个检查点,构建工作流、执行该工作流并返回图像。

注意:该服务以独立 MCP 服务的形式运行,因此无需克隆此代码库。npx 会下载并运行它。

范围:本地、远程或 Comfy Cloud

comfyui-mcp 优先支持本地运行。主要目标是在 Mac/Linux/Windows 上自托管的 ComfyUI;通过同一份配置,同一个 Agent 也能连接远程安装(RunPod、VPS、局域网、反向代理)。优先本地运行,但不局限于本地。

**不只是桥接。**大多数 ComfyUI MCP 服务只是轻量级连接器:转发提示词并返回图像。comfyui-mcp 则是一个完整的控制平面。它逐个节点创建和编辑图形,运行并迭代工作流,管理模型和自定义节点,还提供针对特定模型的专业知识(采样器、CFG、分辨率、精选模型 URL),让 Agent 无需反复试错就能正确完成任务。如果你只需要一个精简的本地中继,轻量级服务就够了。如果你希望 Agent 实际操控 ComfyUI,那就选这个项目。

对于 Comfy Cloud 用户,Comfy-Org 提供了自己的 Agent 工具:Comfy Cloud MCP(公开测试版,托管于 Comfy Cloud GPU)、Comfy In-App Agent(内部 Alpha 版,位于 Comfy Cloud 内)和官方 Comfy Local MCP(内部测试,尚未公开),均由 Comfy 团队维护。如果你没有 GPU,或者希望完全免配置,这是更合适的选择;请直接使用它们。

该项目的不同之处在于,它运行在你自己的安装环境上,并使用你自己选择的模型,包括通过 Ollama 使用无需账户且完全不联网的免费本地模型。comfyui-mcp 还支持社区云模式(设置 COMFYUI_API_KEY,参见部署模式),因此单个 MCP 服务可通过一份配置适配三种部署形态。

本地 Agent 与 Comfy Cloud Agent 对比提供了逐项对比,包括 Comfy Cloud 适合何种情况。(以上状态截至 2026 年 7 月。Comfy-Org 更新迅速,请查阅其文档了解当前状态。)

远程 / 托管连接器(一条命令)

要在 Claude Desktop 的自定义连接器或任何远程客户端中使用 comfyui-mcp,例如 Comfy 自有的 cloud.comfy.org/mcp 连接器,请用一个标志将其作为经过身份验证且可公开访问的 Streamable-HTTP 服务运行:

npx -y comfyui-mcp@latest --tunnel

这会强制使用 HTTP 传输,生成身份验证令牌,开启 cloudflared 快速隧道,并输出可直接粘贴的 https://…/mcp URL、令牌以及 Claude Desktop 连接器片段。 身份验证支持 Authorization: Bearer <token> 或 X-API-Key: <token>(与 Comfy Cloud 的惯例一致)。完整操作步骤和无头使用说明,请参阅 远程 / 托管连接器指南。

身份验证默认关闭。未设置 COMFYUI_MCP_HTTP_TOKEN 且未使用 --tunnel 时,默认的 stdio(以及在环回地址上使用普通 --http)行为保持不变。服务仍保持开放且仅限本地访问。OAuth(Comfy 的浏览器登录流程)计划在后续推出。


Claude Code 插件

此软件包也作为 Claude Code 插件发布,在 MCP 工具的基础上添加斜杠命令、技能、Agent 和钩子。

作为插件安装
# In Claude Code
/plugin marketplace add artokun/comfyui-mcp
/plugin install comfy
斜杠命令
命令描述
/comfy:gen <prompt>根据文本描述生成图像——自动选择检查点、构建工作流并返回图像
/comfy:viz <workflow>将工作流可视化为 Mermaid 图表,并按类别对节点分组
/comfy:node-skill <pack>根据 Registry ID 或 GitHub URL,为自定义节点包生成 Claude 技能
/comfy:debug [prompt_id]诊断工作流失败原因——读取历史记录和日志、追踪根本原因并建议修复方案
/comfy:batch <prompt, params>扫描 cfg、采样器、步数、种子等参数并批量生成
/comfy:convert <file>在 UI 格式和 API 格式的工作流之间进行转换
/comfy:install <pack>安装自定义节点包——git clone、pip install,可选择重启
/comfy:gallery [filter]浏览生成的输出及其元数据——按日期、数量或文件名筛选
/comfy:compare <a vs b>并排比较两个工作流——显示新增 / 移除的节点和已更改的参数
/comfy:recipe <name> <prompt>多步骤配方:portrait、hires-fix、style-transfer、product-shot
内置技能

共 42 项技能:模型系列指南(Flux、WAN、LTX 2.3、MiniMax H3、Qwen、Z-Image、Ideogram 4、ERNIE、ANIMA,以及 anime / WAN / Z-Image LoRA 训练)、model-registry(精选下载 URL)、civitai 配对技能、节点编写、launch/performance-flags 矩阵,以及下面列出的四项核心技能。完整列表见插件文档页。

安装包。 packs/ 汇集了 13 个一键式 ComfyUI 配置:ANIMA、Ideogram 4、LTX-2.3、ERNIE、WAN(animate / longer-videos / transparent)、Qwen(image / image-edit)、Z-Image(turbo / base / xy-plot)和 artokun-flow(WAN Animate:replace / animate)。每个配置包都包含自定义节点、模型 URL 和工作流清单,可用于 apply_manifest,并生成 install-windows.bat / install-runpod.sh;CI 会验证每个模型链接和载荷大小。请参阅 packs/README.md。

技能描述
comfyui-core工作流格式、节点类型、数据流模式、管线架构、MCP 工具使用指南
prompt-engineeringCLIP 权重语法 (word:1.3)、BREAK 标记、嵌入,以及针对 SD1.5/SDXL/Flux/SD3 的模型专属提示词编写方法
troubleshooting常见错误目录——OOM、dtype 不匹配、节点缺失、NaN 张量、黑图、CUDA 错误,并附每种模型的显存估算
model-compatibility兼容性矩阵——按模型系列列出加载器、分辨率、CFG、采样器、ControlNet、LoRA 和 VAE(SD1.5/SDXL/Turbo/Lightning/Flux/SD3/LTXV)
Agent
Agent模型描述
comfy-explorerSonnet研究自定义节点包——阅读文档、查询 /object_info、生成技能文件
comfy-debuggerSonnet自主诊断工作流故障——收集日志和历史记录、识别故障节点、检查模型和自定义节点、提出并按需应用修复方案
comfy-optimizerSonnet分析工作流性能——检测冗余节点、VRAM 浪费、模型系列对应的错误 CFG/步数、精度问题,并提出优化建议
comfy-researcherSonnet针对指定的图像生成问题,发现并筛选 ComfyUI 自定义节点包
钩子
事件触发条件操作
PreToolUseenqueue_workflowVRAM 看门狗 — 通过 /system_stats 检查 GPU 内存,并在执行前发现可用内存 < 1GB 时发出警告
PreToolUserestart_comfyui(操作 stop/restart)保存警告 — 停止 ComfyUI 前提示用户保存未保存的工作流更改
PostToolUse任意 comfyui 工具任务完成通知 — 检查已完成的任务,并将完成摘要注入对话
后台脚本
脚本描述
monitor-progress.mjs进度监视器 — 连接到 ComfyUI 的 WebSocket,实时报告步骤进度(例如,step 5/14 (36%))。将工作流加入队列后,作为后台 Bash 任务运行。报告完成情况及输出文件名,并报告包含节点详情的错误。替代循环轮询 queue(action:"status")。

面板 Agent(Claude · ChatGPT · Gemini · 任意本地/托管大模型)

除了无头 MCP 服务,此软件包还附带面板编排器,为 ComfyUI Agent Panel 提供支持。它是嵌入 ComfyUI 侧边栏的自主 Agent,可操控实时画布。它使用你自己的订阅(Claude 或 ChatGPT)在后台运行,并由面板的 Connect 按钮按需启动:

npx -y comfyui-mcp@latest connect
从自己的机器操控远程 ComfyUI(connect)

当 ComfyUI 运行在没有 Node 或 Agent 的环境中(例如 RunPod Pod 或云主机),你仍可在自己的机器上运行 Agent,并操控该远程 ComfyUI。云主机上无需登录 Agent,也无需在远程安装或配置任何内容:

npx -y comfyui-mcp@latest connect https://abcd1234-3000.proxy.runpod.net

这相当于使用 --panel-orchestrator,并根据 URL 设置 COMFYUI_URL。编排器在本地使用你的 Claude/ChatGPT 登录凭据运行,并通过其公共代理 URL 连接远程 ComfyUI。对于远程 HTTPS Pod,connect 会打开一个经 Cloudflare 的、由令牌保护的 wss:// 隧道,连接到本地 Agent 桥接服务,并将该 URL 交给 Pod 的面板,这样 Pod 的 HTTPS 页面就能在任何浏览器中连接到你的机器,而无需浏览器提示。由于混合内容和专用网络访问规则,安全页面无法通过普通 ws:// 套接字连接到你的机器。对于本地 ComfyUI,则使用普通的 ws://127.0.0.1:9199 环回桥接服务。添加 --insecure-bridge 可强制远程 Pod 使用该环回桥接服务,然后自行安排连接路径,例如使用 SSH 端口转发。无论哪种方式,面板 JS 都在本地浏览器中运行,Agent 和你的登录凭据也只在你的机器上运行,因此无需远程安装任何内容。

要完成连接,请保持 connect 在你的机器上运行,在浏览器中打开远程 ComfyUI,然后点击 Agent 面板中的 Connect。该面板是纯前端扩展。它会连接到 connect 进程已在提供服务的桥接端,而不是要求 ComfyUI 主机启动其无法运行的编排器。

多提供方,完全对等。 编排器依赖与提供方无关的 AgentBackend 接口(依赖注入),并配有两个适配器:

  • ClaudeBackend 封装了 Claude Agent SDK (@anthropic-ai/claude-agent-sdk),通过 claude.ai 订阅提供持久化流式会话 (OAuth,无需密钥)。
  • CodexBackend 通过 codex app-server JSON-RPC 协议(@openai/codex)封装 OpenAI Codex,使用 ChatGPT 订阅(codex login,无需密钥)。

更多适配器遵循相同接口:Gemini CLI(ACP)、Antigravity (agy,Google AI Pro/Ultra 订阅路径;从 antigravity.google 安装并运行一次 agy 以 登录)、Grok、Kimi、GLM、Ollama/LM Studio/llama.cpp(本地)、OpenRouter,以及 任何兼容 OpenAI 的端点。完整列表见 docs/backends。

两者都是可选依赖,面板选择的是提供方,而非接口。每个后端都在各自的回环桥接端口上运行自己的编排器。功能矩阵会告知面板每个后端支持哪些功能(例如,目前只有 Claude 支持对话回滚,因为 Codex app-server 只能恢复整个对话线程)。

所有提供方的实时画布工具和模型知识完全相同。 panel_* 工具定义存放在同一个共享列表中,并注册到进程内的 Claude SDK MCP 服务,以及编排器为 Codex 托管的、基于回环可流式传输的 HTTP MCP 服务(Codex 只能托管通过配置声明的 MCP 服务)。无头 comfyui MCP 同样会注入两者:对 Claude 在进程内注入,对 ChatGPT 则通过 codex app-server -c mcp_servers 声明。因此,各处的生成、模型和工作流工具都相同。

新增工具让所有后端拥有相同的专业知识,并提供成本保护:

工具描述
list_packs(action: "skill_list" / "skill_read")发现并读取随附的模型系列和工作流技能——Claude 原生加载的知识,现已开放给任何 MCP 客户端(例如 Codex 后端)
list_packs(action: "list" / "read_workflow")列出一键安装包(自定义节点 + 权重 + 就绪工作流;均使用本地 GPU / 免费),并读取安装包的图结构
list_packs(action: "list_templates")列出已连接的 ComfyUI 中由自定义节点提供的工作流模板
list_packs(action: "check_runtime")将工作流归类为 本地(使用你的 GPU,免费)或 api / mixed / unknown(托管 API 节点会消耗付费额度),以便 Agent 在使用付费 API 额度前征求同意
list_packs(action: "extract_deps" / "install_deps")确定工作流所需的自定义节点包,并通过 ComfyUI-Manager 安装缺少的包
panel_load_workflow(面板工具)一次性将完整工作流加载到实时画布上——可按随附的 pack 名称(在服务器端读取,不会通过聊天传输)或图结构 JSON 加载
panel_strip_workflow / panel_slice_workflow(面板工具)将纠缠的图结构反虚拟化(Get/Set 总线、Reroute、子图、旁路 → 实际连接),或从大型图中裁剪出一个由 rgthree 切换的流水线——可使用 pack、服务器端 path 或内联图;用于理解/重建专家工作流,无需手动追踪

MCP 工具

涵盖工作流执行、生成、迭代、组合、模型等的 38 个工具:

图像生成(高级)
工具描述
generate_image action: "image"根据文本提示词生成图像——构建 txt2img 工作流,使用默认值填充未指定的参数,并自动选择检查点
generate_image action: "controlnet"根据 ControlNet 图像(姿势/深度/canny/法线)和提示词进行条件生成
generate_image action: "ip_adapter"通过 IP-Adapter 根据参考图像的风格/主体进行引导生成(需要 ComfyUI_IPAdapter_plus)
generate_image action: "video" / "3d"从同一个单行入口生成短视频片段(LTX-2.3,本地 GPU)或 3D 模型(托管合作伙伴 API 节点)
generate_image action: "upscale"使用 ESRGAN 超分辨率对上传或暂存的图像进行后期处理
generate_image (action:"remove_background")将上传或暂存的图像后期处理为透明的 BiRefNet 抠图
音频生成(高级)
工具描述
generate_image action: "audio"根据文本提示词生成音频——支持 ACE Step 1.5(带歌词/结构的音乐)和 Stable Audio 3(音乐、乐器、音效);自动选择本地模型
素材与迭代
工具描述
get_image (action:"view")将生成素材的字节作为内嵌图像返回,以便 Agent 查看结果
get_image (action:"analyze_color")分析生成图像的调色板/对比度/颜色统计数据(主色、平均值和亮度统计、对比度检查),让 Agent 无需视觉往返即可推理颜色
generate_image (action:"regenerate")使用可选的参数覆盖,重新运行生成 asset_id 的工作流
get_image (action:"list_assets")按 asset_id 浏览最近生成的素材(最新的排在前面)
get_image (action:"asset_metadata")查看素材的完整溯源信息,包括其来源工作流
默认值
工具描述
get_defaults action:"get"显示合并后的生成默认值及各来源的归属信息
get_defaults action:"set"更新运行时默认值;persist: true 会写入配置文件
get_defaults action:"get_ui" / "set_ui"读取/写入 ComfyUI 自己的前端 UI 设置(Comfy.* ID)——与上述生成默认值分开存储
工作流执行
工具描述
enqueue_workflow action: "enqueue"提交工作流(API 格式的 JSON)——立即返回 prompt_id,不阻塞
enqueue_workflow action: "rerun" / "run_url" / "template_schema"重新运行过去的生成,或从 URL 读取/运行共享工作流,或检查内置模板中可覆盖的插槽
enqueue_workflow (action:"run_template")一步完成:解析内置资源包的专家图,将 <nodeId>.<widget> 覆盖项应用到图中,并将其加入队列
queue用于执行队列的单个动作参数化工具:list(运行中和待处理任务)、status(按提示 ID 查询单个任务)、get_workflow(获取待处理任务的完整负载)、move/edit(将待处理任务重新排入队列前端/后端,可打补丁或替换,并生成新的提示 ID)、cancel(中断运行中的任务——依次执行 interrupt → verify → /free;若任务无法终止,则报告 WEDGED;clear_pending: true 还会删除所有待处理任务)、cancel_queued、clear
get_system_stats获取系统信息——GPU、VRAM、Python 版本、操作系统
工作流可视化
工具描述
visualize_workflow用于渲染和转换所传入工作流的单个动作参数化工具:render(Mermaid 流程图,按类别对节点分组)、render_hierarchical(将同一图表分节展示——概览、单节详细信息、列表或面向 AI 的摘要)、mermaid(将 Mermaid 图表转换回可执行的工作流 JSON)、to_dsl/from_dsl(紧凑且可无损往返的创作 DSL)
工作流编排
工具描述
create_workflow一个按操作参数化的工具,用于编写工作流:create(基于模板:txt2img、img2img、upscale、inpaint、controlnet、ip_adapter、ace_step_15、stable_audio_3)、modify(操作:set_input、add_node、remove_node、connect、insert_between)、validate(试运行——检查缺失节点、断开的连接、无效的输出索引、缺失的模型文件)、node_info(从 ComfyUI 的 /object_info 端点查询可用的节点类型)
工作流库
工具描述
get_workflow一个按操作参数化的工具,用于读取已保存的工作流文件:list(用户库,包含子文件夹)、get(按文件名获取单个工作流的 JSON)、analyze(返回结构化摘要,而非原始 JSON)、query(筛选/遍历/汇总大型图,不必完整输出)、strip(去虚拟化任意工作流,来源可以是绝对路径、库文件名或内联图——将 GetNode/SetNode 总线、Reroutes、子图定义和旁路节点解析为实际连接,并返回扁平图;可在服务端读取任意路径,因此能加载缓存库无法读取的临时/专家工作流)、slice(取消分块切换模板的整体工作流——将一个由 rgthree Fast-Groups-Bypass 切换的流水线拆分为独立的已激活图;搭配 strip 可进一步扁平化总线)、from_image(ComfyUI 嵌入 PNG 中的工作流)、prompt_director(Prompt Director 清理后的运行时状态)
save_workflow一个按操作参数化的工具,用于写入库:save(保存工作流——覆盖同名文件)、lock(记录来源锁定信息:每个模型的 SHA-256、每个节点包的 git 提交)、verify_lock(报告与该锁定信息的偏差)
图像管理
工具描述
upload_image将本地图像复制到 ComfyUI 的 input/ 目录,以供 img2img、inpaint 或 ControlNet 使用
get_image (action:"list_outputs")浏览输出目录中最近生成的图像和视频,按最新优先排序——递归搜索子文件夹(例如 SaveVideo 的 output/video/…),并返回每个结果的 subfolder
模型管理
工具描述
download_model查找并获取模型权重,并跟踪传输状态。action:download(从 URL 下载到 ComfyUI 对应的子目录)、status、cancel、search(HuggingFace)、search_civitai、search_creators、download_civitai、resolve_missing
list_local_models查看已安装的模型及 ComfyUI 的搜索位置。action:list(按类型列出已安装的模型:checkpoints、loras、vae、upscale_models、controlnet、embeddings、clip、unet、diffusion_models、text_encoders)、remove(删除模型文件)、embeddings、list_paths、add_path、remove_path(后三项用于查看/编辑额外搜索路径的 YAML 文件)
内存管理
工具描述
clear_vram通过卸载缓存的模型释放 GPU VRAM——调用 ComfyUI 的 /free 端点,并报告操作前后的统计信息
注册表与发现
工具描述
search_custom_nodes按关键词搜索 ComfyUI Registry 中的节点包(action: "search"),或获取单个节点包的完整详情(action: "details")
list_packs(action: "generate_skill")根据 Registry ID 或 GitHub URL 生成 Claude skill .md 文件
comfy_cli通过官方 comfy nodes search 搜索实际已加载的节点类(action:"search_nodes")
官方 comfy-cli

安装 comfy-cli 1.11.1 或更高版本,以启用官方的 JSON 支持工具。MCP 会从 COMFY_CLI_PATH、PATH 或所选工作区的 .venv/venv 中解析 comfy。本地自定义节点操作会优先使用 comfy node(如果有受支持的 CLI),否则回退到 Manager HTTP;远程目标仍使用 Manager HTTP。

工具描述
comfy_cli一个通过操作参数支持整个官方 CLI 的工具:status、server_start/server_stop/server_restart、jobs_list/jobs_status/jobs_wait/jobs_watch/jobs_cancel、search_nodes、workflow_validate/workflow_run、transfer_upload/transfer_download、models_*(list/search/show/download/remove)、skills_*(list/show/validate/install/status/uninstall)
诊断
工具描述
get_system_stats (action:"logs")获取 ComfyUI 服务日志,可选关键词筛选(例如 error、warning、节点名称)
kitchen查看 comfy-kitchen 在此 GPU 上能做什么(status)、找出图中未能充分利用它的地方(assess),并应用更快的路径(apply)——探测失败意味着未知,绝不代表否定
get_history action: "list"获取执行历史记录,包含完整错误详情、Python 回溯、耗时和缓存的节点信息
get_history action: "diagnose"一次调用即可说明 FAILED 运行的情况——失败节点和回溯,以及缺失的模型(文件 + 控件)和缺失的节点类型
进程控制
工具描述
restart_comfyui action:"restart"停止并重启 ComfyUI,同时保留所有启动参数
restart_comfyui action:"stop"停止正在运行的 ComfyUI 进程(保存 PID 和启动参数以便重启;在 Windows 上,action:"start" 无法重新启动它)
restart_comfyui action:"start"使用上次停止时保存的信息启动 ComfyUI(macOS/Linux;Windows 上会拒绝执行)
restart_comfyui action:"status"只读:查看此时执行 start/stop/restart 会发生什么,以及此工具能否撤销 stop。请在执行 stop 前调用
生成追踪器
工具描述
get_history action: "suggest"根据本地生成历史记录推荐经过验证的采样器/调度器/步数/CFG 设置——可按模型系列、LoRA 哈希或文本搜索查询
get_history action: "stats"显示本地生成追踪统计信息——运行总数、唯一组合数、按模型系列划分的明细

每次调用 enqueue_workflow 都会将设置记录到本地 SQLite 数据库(generations.db)。重复的设置组合会增加 reuse_count,而不是创建重复行,因此该计数可作为受欢迎程度指标。追踪器通过内容哈希(AutoV2 / SHA256)识别模型和 LoRA,而非文件名,因此重命名后的文件仍会归为一组。

# View local stats from the CLI
npm run generations:stats

示例

生成图像
> /comfy:gen a cyberpunk city at night with neon lights

Claude 将会:

  1. 检查已安装的检查点(如有需要则下载一个)
  2. 使用你的提示词构建 txt2img 工作流
  3. 在 ComfyUI 上执行
  4. 返回生成的图像
可视化工作流
> /comfy:viz ~/workflows/my-workflow.json

生成 Mermaid 图表,并按类别对节点分组:

flowchart LR
  subgraph Loaders
    1["CheckpointLoaderSimple"]
  end
  subgraph Conditioning
    2(["Positive Prompt"])
    3(["Negative Prompt"])
  end
  subgraph Sampling
    5{{"KSampler<br/>steps:20 cfg:8"}}
  end
  1 -->|MODEL| 5
  2 -->|CONDITIONING| 5
  3 -->|CONDITIONING| 5
调试失败的工作流
> /comfy:debug

读取最近的执行历史记录和日志,确定失败节点,检查是否缺少模型或节点包,并提出修复建议。

> /comfy:debug abc123-def456

按提示 ID 诊断特定执行。

参数扫描
> /comfy:batch a cat in a field, cfg:5-10:2, sampler:euler,dpmpp_2m

生成涵盖所有参数组合的图像网格,并提供包含结果的汇总表。

支持的扫描参数:cfg、steps、sampler、scheduler、seed、denoise、width、height。

多步配方
> /comfy:recipe hires-fix a dramatic fantasy landscape with castles

分两步运行:先以 512x768 执行 txt2img,再通过 img2img 放大至 1024x1536 并增加细节。

可用配方:

配方描述
portrait以 1024x1024 生成,然后放大 2x 至 2048x2048
hires-fix低分辨率生成 → 使用 0.4-0.5 的去噪强度通过 img2img 放大
style-transfer通过 img2img 将风格提示词应用到现有图像
product-shot使用纯白背景生成产品图像
转换工作流格式
> /comfy:convert ~/workflows/my-ui-workflow.json

在 ComfyUI 的 UI 格式(节点 + links 数组)和 API 格式(节点 ID → {class_type, inputs})之间转换。

安装自定义节点包
> /comfy:install comfyui-impact-pack

搜索注册表、显示详情、将仓库克隆到 custom_nodes/、安装依赖,并提供重启 ComfyUI 的选项。

浏览输出图库
> /comfy:gallery last 5
> /comfy:gallery today

列出最近的输出,并显示每张图像嵌入的元数据:checkpoint、提示词、seed、steps、CFG 和 sampler。

比较工作流
> /comfy:compare workflow-a.json vs workflow-b.json

显示新增/移除的节点、已更改的参数(旧值 → 新值),并可选择使用 Mermaid 图表进行直观比较。

运行前验证
> Validate this workflow before I run it

检查缺失的节点类型、损坏的连接、无效的输出索引和缺失的模型文件,但不执行工作流。

管理模型
> What checkpoints do I have installed?
> Search HuggingFace for SDXL turbo models
> Download this model to my checkpoints folder
管理 VRAM
> Free my VRAM
> What embeddings do I have?
从图像提取工作流
> Extract the workflow from this image: ~/outputs/ComfyUI_00042_.png

读取 PNG 元数据块,以恢复用于生成图像的确切工作流和提示词。

探索自定义节点
> /comfy:node-skill comfyui-impact-pack

生成技能文件,记录每个节点及其输入/输出和使用模式。

进程控制
> Restart ComfyUI
> Stop ComfyUI
> Start ComfyUI back up

配置

服务会自动检测 ComfyUI 的安装位置和端口。如有需要,可使用环境变量覆盖。

密钥和覆盖项的配置位置:

  • 面板用户。 使用 API Keys 卡片(“connected”旁边的 ▾ 菜单)。密钥存储在 ~/.comfyui-mcp/panel-secrets.json 中,无需重启即可生效。
  • 仅使用 MCP 的配置(Claude Desktop、Claude Code 等)。使用 MCP 客户端配置中的 env 区块,如上方设置示例所示。
  • 实际环境变量的优先级始终高于已存储的密钥。开发时,服务还会将 ~/.comfyui-mcp/.env 作为覆盖文件加载;常规安装通常不需要该文件。
部署模式

comfyui-mcp 会根据环境自动选择以下三种模式之一:

模式触发条件本地 FS / 进程工具?
本地默认是
远程--comfyui-url / COMFYUI_URL 指向非环回主机,或设置了 --force-remote否 — 服务会跳过 COMFYUI_PATH 自动检测,以免过时的本地安装意外接收上传内容
云端设置了 COMFYUI_API_KEY(目标为 Comfy Cloud)否 — HTTP 基础操作通过 X-API-Key 路由至 cloud.comfy.org;WebSocket 和仅限本地的工具会抛出 CLOUD_UNSUPPORTED

某些配置(例如使用 dstack 在 RunPod 上运行 ComfyUI)会将远程 ComfyUI 端口转发回 localhost:8188,因此上述环回检查会将其误判为本地安装。添加 --comfyui-url/COMFYUI_URL,并传入 --force-remote(或设置 COMFYUI_MCP_FORCE_REMOTE=1),即可无论主机名如何都强制使用远程模式:

npx -y comfyui-mcp@latest --comfyui-url http://localhost:8188 --force-remote
变量默认值说明
COMFYUI_URL完整的 ComfyUI URL,例如 https://comfy.example.com:8443 — 覆盖 COMFYUI_HOST/PORT/SSL,并跳过自动检测。路径前缀会保留(例如 https://host/comfyapi),适用于通过反向代理的实例。非环回主机将启用远程模式。
COMFYUI_MCP_FORCE_REMOTE设置为 1/true(或传入 --force-remote),即可强制启用远程模式,即使 COMFYUI_URL/--comfyui-url 解析为环回主机也不例外 — 适用于可通过 localhost 访问的端口转发远程安装(例如 dstack/RunPod)。未设置 COMFYUI_URL/--comfyui-url 时无效。
COMFYUI_HOST127.0.0.1ComfyUI 服务地址
COMFYUI_PORT(自动检测)ComfyUI 服务端口(先尝试 8188,再尝试 8000)
COMFYUI_PATH(自动检测)ComfyUI 数据/基础目录的路径,用于存放模型、输入/输出和用户状态。在常规安装中,这也是代码检出目录。远程/云模式下不执行自动检测。
COMFYUI_CODE_PATHCOMFYUI_PATHComfyUI 代码检出目录的可选路径(包含 main.py、.venv、核心 Git),适用于代码和数据位于不同根目录的情况。Pip、venv 和核心更新使用此代码检出目录(核心更新优先使用从已连接的本地服务获取的代码检出目录,并以此路径作为回退)。Pack 读写 — custom_nodes、comfy-cli --workspace、apply_manifest 克隆/检出、workflow-lock pack 提交 — 仍使用实时的 --base-directory / COMFYUI_PATH 数据根目录(#1770)。
COMFY_CLI_PATH(自动检测)官方 comfy 可执行文件(comfy-cli >=1.11.1)的路径。解析时也会检查 PATH 和所选工作区的 .venv/venv。
COMFYUI_PYTHONpython旧版 Git 克隆依赖回退方案使用的 Python 解释器。必要时将其指向 ComfyUI 虚拟环境中的 Python。
COMFYUI_MCP_BRIDGE_HOST127.0.0.1面板桥接的绑定主机。设置为 0.0.0.0(或 LAN IP),即可在 24/7 运行的服务上运行编排器,并从其他设备连接面板 — 必须提供令牌(见下文);编排器会输出可直接粘贴的 ws://…/?token=… 桥接 URL。
COMFYUI_MCP_BRIDGE_TOKEN(需要时生成)用于限制所有桥接连接的共享密钥(在 WS 升级时以恒定时间进行校验)。COMFYUI_MCP_BRIDGE_HOST 非环回时必须设置;固定此令牌可确保桥接 URL 在重启后仍然有效。除启动横幅外,绝不会记录此令牌。
COMFYUI_MCP_DATA_DIR~/.comfyui-mcp当不存在本地 COMFYUI_PATH(远程/云/未检测到)时,用于存放每个实例数据的基础目录(get_history action: "suggest" 使用的 generations.db)。按目标存放于 instances/<host_port>/ 下。
COMFYUI_API_KEYComfy Cloud API 密钥。设置后将启用云模式,服务会与 cloud.comfy.org 通信。绝不会记录此密钥。
COMFYUI_CLOUD_URLhttps://cloud.comfy.org覆盖 Comfy Cloud 端点(用于测试/预发布)。
COMFYUI_AUTH_TOKEN用于位于反向代理/API 网关之后的可自托管 ComfyUI的通用认证令牌(不同于 Comfy Cloud)。设置后,会将其附加到每个 ComfyUI 请求中。绝不会记录此令牌。
COMFYUI_AUTH_HEADERAuthorizationCOMFYUI_AUTH_TOKEN 的标头名称(例如 X-API-Key)。
COMFYUI_AUTH_SCHEMEAuthorization 对应 Bearer,否则无令牌值的方案前缀(例如 Bearer、Token)。
CIVITAI_API_TOKEN用于下载模型的 CivitAI API 令牌
HUGGINGFACE_TOKEN用于提高 API 速率限制的 HuggingFace 令牌
COMFYUI_DOWNLOAD_PROXY仅用于模型下载流量的可选 HTTP/HTTPS 代理;也支持标准代理环境变量和静态 Windows WinINet 设置
GITHUB_TOKEN用于生成技能的 GitHub 令牌(可避免速率限制)
REGISTRY_ACCESS_TOKEN用于 node_pack(action: "publish")的 Comfy Registry API 密钥(仅从环境变量读取,绝不会记录)
COMFYUI_DOWNLOAD_CACHE_DIR~/.comfyui-mcp/cache基于内容寻址的模型下载缓存(去重 + 并发合并)
COMFYUI_LRU_CACHE_SIZE_GB0以 GB 为单位限制下载缓存大小;0 表示禁用 LRU 淘汰
COMFYUI_STARTUP_CHECK_INTERVAL_S / …_MAX_TRIES1 / 60启动本地 ComfyUI 时的就绪探测间隔和最大尝试次数
COMFYUI_ALWAYS_RESTARTfalse自动重启崩溃的本地 ComfyUI(受 COMFYUI_RESTART_MAX_ATTEMPTS / COMFYUI_RESTART_WINDOW_S 限制)
COMFYUI_MCP_STALL_S180渲染卡死监视器:采样器步骤重复报告相同进度的秒数;超过后会在 Agent 的下一轮消息前添加 STALL/BACKLOG 提示(限制为 15–3600 秒;可从面板实时调整)
COMFYUI_MCP_INTERRUPT_S30queue(action:"cancel")等待中断实际停止任务的秒数;超时后会升级为 /free,并报告任务卡死
LOG_LEVELinfo日志详细程度:debug、info、warn、error
传输方式

服务默认使用 stdio,这是 Claude Code、Claude Desktop 和 MCP Inspector 所要求的,因此无需设置任何标志。对于 MCP 网关、远程/托管环境或基于 fetch 的客户端,可选择使用 streamable-HTTP:

# stdio (default)
npx -y comfyui-mcp@latest

# streamable-HTTP on http://127.0.0.1:9100/mcp
npx -y comfyui-mcp@latest --http
npx -y comfyui-mcp@latest --http --host 0.0.0.0 --port 9100   # bind/port overrides
标志环境变量默认值说明
--http / --transport httpMCP_TRANSPORT=httpstdio在 /mcp 上提供 streamable-HTTP 服务,而非 stdio
--host <h>MCP_HOST127.0.0.1HTTP 绑定主机(使用 0.0.0.0 可对外开放)
--port <n>MCP_PORT9100HTTP 端口
--comfyui-url <url>COMFYUI_URL(自动检测)指定目标 ComfyUI(包括远程 ComfyUI)
--force-remoteCOMFYUI_MCP_FORCE_REMOTEfalse对环回地址的 --comfyui-url 强制启用远程模式(例如,dstack/RunPod 将端口转发到 localhost)
其他 Agent 和本地大模型(Hermes、OpenClaw、Copilot CLI、Ollama)

comfyui-mcp 支持非 Claude 的运行环境。运行一条命令,即可将服务入口 写入运行环境自身的配置文件(会合并到现有文件,而非覆盖文件):

npx -y comfyui-mcp setup hermes     # → ~/.hermes/config.yaml      (compact by default)
npx -y comfyui-mcp setup openclaw   # → ~/.openclaw/openclaw.json  (compact by default)
npx -y comfyui-mcp setup copilot    # → ~/.copilot/mcp-config.json (full by default)
# flags: --compact | --full, --comfyui-url <url>, --dry-run

模型要求。 工具调用是硬性要求;不支持工具调用的模型无法使用。建议支持思考和视觉能力。没有 思考能力时,多步工具链的效果会下降;没有视觉能力时,Agent 可以生成内容,却无法查看自己的输出。

精简工具模式。 --compact / COMFYUI_MCP_TOOL_MODE=compact 会注册 3 个元工具(list_tools → describe_tool → call_tool),而非直接注册完整工具集;这样会逐个将工具架构载入上下文。这更适合小型本地模型。 默认使用直接工具集,适用于前沿模型运行环境。 使用我们的微调模型免费在本地运行。 ollama pull artokun/gemma4-comfyui-mcp:e4b (还可选择适用于约 2 GB VRAM 的 :e2b,以及适用于约 8 GB VRAM 的 :12b)会拉取 Gemma 4。该模型使用完整 comfyui-mcp 工具集上的 1,055 条经服务器验证的轨迹进行 QLoRA 训练,也是面板的 Ollama 默认模型。原版 gemma4:*/qwen3:4b 也已通过端到端验证 (npm run test:local-llm);gemma3 不支持原生工具调用,因此不受支持。完整指南涵盖托管模型建议(DeepSeek/MiMo/GLM 类)、各运行环境的设置方法和故障排除,详见 本地大模型与其他 Agent。

标志环境变量默认值说明
setup <agent>将 comfyui 入口写入 hermes / openclaw / copilot 配置,然后退出
--compact / --tool-mode compactCOMFYUI_MCP_TOOL_MODE=compactfull选择注册 3 个元工具(list_tools / describe_tool / call_tool),而非直接注册完整工具集 — 建议小型本地模型使用。仍接受 --full,但现在不会执行任何操作
远程 ComfyUI

将服务指向任意位置运行的 ComfyUI;无需本地安装:

npx -y comfyui-mcp@latest --comfyui-url http://192.168.1.50:8188
npx -y comfyui-mcp@latest --http --comfyui-url https://comfy.example.com:8443

位于反向代理/API 网关后方(路径前缀 + 身份验证标头)。对于通过带前缀的路由公开、并带有自身身份验证层的可自托管 ComfyUI(这不是 Comfy Cloud,Comfy Cloud 使用 COMFYUI_API_KEY):

COMFYUI_URL=https://gateway.example.com/comfyapi \
COMFYUI_AUTH_TOKEN=your-token \
  npx -y comfyui-mcp@latest --http        # → Authorization: Bearer your-token, requests under /comfyapi

# custom header / scheme:
COMFYUI_URL=https://gateway.example.com/comfyapi \
COMFYUI_AUTH_HEADER=X-API-Key COMFYUI_AUTH_TOKEN=your-token \
  npx -y comfyui-mcp@latest --http        # → X-API-Key: your-token
自动检测

端口:通过 /system_stats 先探测 8188(CLI 默认值),再探测 8000(桌面应用默认值)。

路径:按顺序检查常见位置:

  • ~/Documents/ComfyUI(macOS/Windows 桌面应用数据目录)
  • ~/Library/Application Support/ComfyUI(macOS)
  • ~/AppData/Local/Programs/ComfyUI/resources/ComfyUI(Windows 桌面应用安装目录)
  • ~/AppData/Local/ComfyUI(Windows)
  • ~/ComfyUI、~/code/ComfyUI、~/projects/ComfyUI、~/src/ComfyUI
  • /opt/ComfyUI、~/.local/share/ComfyUI(Linux)
  • 扫描 ~/Documents 和 ~/My Documents,查找名称中包含 "ComfyUI" 的目录

设置 COMFYUI_PATH 可跳过检测并使用显式路径。


工作原理

服务器通过 ComfyUI 的 REST API 和 WebSocket 接口与其通信:

  • WebSocket。 将工作流加入队列,接收实时进度更新(通过后台监控脚本逐步获取),获取执行结果
  • REST API。 系统统计信息、节点定义(/object_info)、日志、历史记录、队列管理、工作流库、VRAM 控制(/free)、嵌入
  • 文件系统。 读写模型目录,检测安装路径,上传图像,提取 PNG 元数据,浏览输出
  • 外部 API。 HuggingFace(模型搜索)、ComfyUI Registry(自定义节点发现)、GitHub(技能生成)、CivitAI(模型下载)

与 MCP 客户端(Claude Code)的所有通信都通过 stdio 使用 Model Context Protocol 进行。日志会输出到 stderr,因此不会与协议流混在一起。


开发

先决条件
设置
git clone https://github.com/artokun/comfyui-mcp.git
cd comfyui-mcp
npm install
脚本
脚本说明
npm run dev使用 tsx 从源代码运行(热重载)
npm run build将 TypeScript 编译到 dist/
npm start运行编译后的输出
npm test运行单元测试(vitest)
npm run test:integration运行集成测试(需要 ComfyUI 正在运行)
npm run lint仅进行类型检查,不生成输出
npm run generations:stats显示本地生成跟踪统计信息
npm run sync-agents将 Claude 技能/命令/钩子同步到 Google Antigravity、OpenCode 和其他支持 .agents 文件的 AI IDE 格式
使用 Claude Code 进行本地测试

让 Claude Code 使用本地构建,而不是 npm 包:

{
  "mcpServers": {
    "comfyui": {
      "command": "node",
      "args": ["/path/to/comfyui-mcp/dist/index.js"],
      "env": {}
    }
  }
}

或者直接测试插件:

claude --plugin-dir ./plugin
项目结构
scripts/
  generation-stats.mjs         # CLI: npm run generations:stats
src/
  index.ts                 # MCP server entry point (stdio transport)
  config.ts                # Auto-detection & environment config
  comfyui/
    client.ts              # ComfyUI WebSocket/HTTP client wrapper
    types.ts               # TypeScript interfaces
  services/
    workflow-executor.ts   # Execute workflows, handle images & errors
    workflow-composer.ts   # Templates (txt2img, img2img, upscale, inpaint)
    workflow-validator.ts  # Dry-run validation (missing nodes, models, connections)
    image-management.ts    # Upload images, extract PNG metadata, list outputs
    mermaid-converter.ts   # Workflow → Mermaid diagram
    workflow-converter.ts  # UI → API: de-virtualize Get/Set buses + Reroutes, expand subgraphs, resolve bypass (powers get_workflow's strip action)
    workflow-slicer.ts     # sliceWorkflow() — rgthree Fast-Groups-Bypass pipeline un-chunker (shared by the CLI + get_workflow's slice action)
    mermaid-parser.ts      # Mermaid diagram → Workflow
    model-resolver.ts      # HuggingFace search, local models, downloads
    generation-tracker.ts  # SQLite generation log, settings dedup, stats
    file-hasher.ts         # SHA256 hashing of .safetensors with cache
    workflow-settings-extractor.ts  # Extract settings from workflow JSON
    process-control.ts     # Stop, start, restart ComfyUI process
    registry-client.ts     # ComfyUI Registry API
    skill-generator.ts     # Generate node pack skill docs
  tools/                   # MCP tool registration (one file per group)
    workflow-execute.ts    # enqueue_workflow, get_system_stats
    workflow-visualize.ts  # visualize_workflow (render/render_hierarchical/mermaid/to_dsl/from_dsl)
    workflow-compose.ts    # create_workflow (create/modify/validate/node_info)
    workflow-validate.ts   # the validate action's body
    workflow-library.ts    # get_workflow (8 read actions), save_workflow (save/lock/verify_lock)
    image-management.ts    # get_image (7 read actions), upload_image (5 write actions)
    model-management.ts    # download_model, list_local_models (the two consolidated model tools)
    memory-management.ts   # clear_vram
    registry-search.ts     # search_custom_nodes (search/details)
    node-management.ts     # install_custom_node (install/update/fix/uninstall/enable/disable/list/…)
    node-pack.ts           # node_pack (scaffold/verify/publish/read/write/patch/git/…)
    generation-tracker.ts  # the get_history suggest/stats jobs
    diagnostics.ts         # get_system_stats (action:"logs"), get_history
    process-control.ts     # restart_comfyui (restart/start/stop)
    index.ts               # Registers all tool groups
  utils/
    errors.ts              # Custom error hierarchy with MCP integration
    logger.ts              # stderr-only logging (safe for stdio transport)
    image.ts               # Base64 encoding utilities
plugin/
  .claude-plugin/          # Plugin manifest
  .mcp.json                # MCP server config for plugin
  commands/                # Slash commands
    gen.md                 # /comfy:gen — image generation
    viz.md                 # /comfy:viz — workflow visualization
    node-skill.md          # /comfy:node-skill — skill generation
    debug.md               # /comfy:debug — failure diagnosis
    batch.md               # /comfy:batch — parameter sweeps
    convert.md             # /comfy:convert — format conversion
    install.md             # /comfy:install — node pack installation
    gallery.md             # /comfy:gallery — output browser
    compare.md             # /comfy:compare — workflow diff
    recipe.md              # /comfy:recipe — multi-step pipelines
  skills/                  # Knowledge bases
    comfyui-core/          # Workflow format, node types, pipeline patterns
    prompt-engineering/    # CLIP syntax, model-specific prompting
    troubleshooting/       # Error catalog with patterns and fixes
    model-compatibility/   # Compatibility matrix per model family
  agents/                  # Autonomous agents
    explorer.md            # Research custom node packs, generate skills
    debugger.md            # Diagnose workflow failures
    optimizer.md           # Analyze and optimize workflows
  hooks/                   # Pre/post tool-use hooks
    hooks.json             # Hook configuration
    vram-check.mjs         # VRAM watchdog before execution
    save-warning.mjs       # Save prompt before stop/restart
    job-complete-notify.mjs # Job completion notification via temp files
  scripts/                 # Background scripts
    monitor-progress.mjs   # Real-time WebSocket progress monitor
    launch-server.mjs      # MCP server launcher — global install if present, else npx with a
                           #   cold-start handshake rescue so a first run cannot time out (#1447)

故障排除

“未在端口 8188、8000 上检测到 ComfyUI” 请确保 ComfyUI 正在运行。桌面应用默认使用端口 8000;CLI 使用 8188。如果使用自定义端口,请设置 COMFYUI_PORT。

“未配置 COMFYUI_PATH” 自动检测未能找到 ComfyUI 数据目录。请将 COMFYUI_PATH 设置为包含 models/ 文件夹的目录(例如 ~/Documents/ComfyUI)。

“检测到多个 ComfyUI 安装” 这只是提示信息。服务器会使用找到的第一个安装。设置 COMFYUI_PATH 可指定某个安装。

模型下载失败 对于 HuggingFace 受限模型,请设置 HUGGINGFACE_TOKEN。对于 CivitAI,请设置 CIVITAI_API_TOKEN。

工作流执行错误 使用 /comfy:debug 诊断故障。也可以直接调用 get_history(action: "diagnose")或 get_system_stats (action:"logs"),查看完整错误消息,包括来自 ComfyUI 的 Python 回溯。

内存不足(OOM) 运行大型工作流前,使用 clear_vram 释放 GPU 内存。VRAM 监控钩子会在工作流运行前,当可用空间不足 1GB 时发出警告。有关特定模型的 VRAM 估算,请参阅故障排除技能。

缺少自定义节点 使用 /comfy:install <pack> 从注册表安装缺失的节点包。调试命令会检测缺失的包并提供建议。


贡献

欢迎贡献。有关开发环境设置、项目约定、如何添加 MCP 工具以及发布流程,请参阅 CONTRIBUTING.md。

简要步骤:派生仓库 → 创建分支(feat/my-feature)→ 进行更改(确保 npm run build 和 npm test 通过;如果修改了工具,请运行 npm run docs:gen)→ 提交 PR。


维护者

由 @artokun 构建并维护。TA 是 Comfy-Org 生态中的常驻贡献者:

  • Comfy-Org/ComfyUI_frontend. 合并了 10 个 PR,主要涉及 v2 图形渲染器:子图渲染、提升控件的接入、视口持久化,以及向 cloud/1.41、cloud/1.42、core/1.41 和 core/1.42 回移。
  • Comfy-Org/ComfyUI(核心)。修复了 Python 后端视频/音频保存流程中的崩溃问题(#12683、#12550)。

如果你在 Comfy-Org 工作(或正在 ComfyUI 生态中招聘),欢迎联系我。请发邮件至 [email protected]。


许可证

MIT。详情请参阅 LICENSE。


更新日志

完整、结构化的版本历史请参阅 CHANGELOG.md。

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。