使用说明
🧠 ComfyUI 的 MCP 服务器(Alpha-1 版本)
这个项目揭示了 ComfyUI(注:ComfyUI是一个用于图形处理或界面设计的软件或框架名称,直接翻译为中文时通常保留原名,不进行意译) 通过兼容的服务器 MCP(模型上下文协议)。
它允许:
- 驾驶 ComfyUI(可直接作为专有名词保留,若需解释性翻译,可译为“舒适用户界面”或根据具体上下文调整) 通过连接器从ChatGPT获取(开发者模式);
- 操控界面 ComfyUI(注:这是一个专有名词,通常直接保留原样,不进行翻译,但如果需要解释性说明,可以理解为“舒适的用户界面”或“便捷的用户界面工具”,具体根据上下文确定。) 通过Chrome的WebSocket扩展程序。
即将推出:本地版Gradio接口,支持Ollama和Google CLI
⚙️ 安装
1️⃣ 克隆仓库
git clone https://github.com/orion4d/ComfyUI_mcp.git
2️⃣ 创建虚拟环境
python -m venv venv
# Linux / Mac
source venv/bin/activate
# Windows
venv\Scripts\activate
3️⃣ 安装依赖项
pip install -r requirements.txt
🔐 生成密钥和配置
python generate_key.py
这个脚本:
- génère MCP_API_KEY (针对ChatGPT)
- génère WEBSOCKET_TOKEN 翻译为中文是:“WebSocket令牌”或“WebSocket令牌值”。 (适用于Chrome扩展)
- 自动创建
.env和.env.example
🚀 服务器启动
python server.py
服务器默认启动于:
http://127.0.0.1:8000
🌐 接入点
🔧 MCP 工具展示
list_workflows,save_workflow,load_workflowread_custom_node,write_custom_nodequeue_prompt,get_historycreate_custom_node_template,list_custom_subdirui_click_element,ui_fill_input,ui_get_current_workflow
🧩 路由调试
/debug/health→ 系统信息、版本、工具/ws→ Chrome扩展的WebSocket
🧱 使用示例
自ChatGPT(自定义GPT)以来
- 认证:
X-API-Key→ 你的钥匙 MCP_API_KEY - 可能的呼叫:
list_workflows,queue_prompt,read_custom_node等。
通过Chrome(MCP扩展)
- URL WebSocket:
ws://127.0.0.1:8000/ws - 代币: WEBSOCKET_TOKEN(可译为“WebSocket令牌”)
🧠 集成ComfyUI
客户(ComfyUIClient) 通过HTTP与您的本地ComfyUI通信:
- 网址:
http://127.0.0.1:8188 - 支持UI和API工作流
- 通过自动转换
_convert_ui_to_api()
测试连接
curl http://127.0.0.1:8000/debug/health
📘 MCP–ComfyUI 命令
🗂️ 命令树状结构
ComfyUI
│
├── 🧠 Exécution (moteur)
│ ├─ /queue_prompt
│ ├─ /get_queue_status
│ ├─ /cancel_prompt
│ ├─ /get_history
│ └─ /interrupt_execution
│
├── ⚙️ Système & Modèles
│ ├─ /get_system_stats
│ ├─ /list_models
│ └─ /model_info
│
├── 🧩 Workflows
│ ├─ /save_workflow
│ ├─ /load_workflow
│ ├─ /list_workflows
│ └─ /inspect_workflow
│
├── 🔧 Custom Nodes (→ ComfyUI/custom_nodes/)
│ ├─ /create_custom_node_template
│ ├─ /write_custom_node
│ ├─ /read_custom_node
│ ├─ /list_custom_subdir
│ └─ /autodoc_nodes
│
├── 🖼️ Images
│ ├─ /upload_image
│ ├─ /get_image
│ └─ /list_output_images
│
└── 📂 MCP_exchange (→ output/MCP_exchange/)
├─ /list_exchange
├─ /read_exchange
├─ /write_exchange
└─ /delete_exchange
🧠 执行 & 文件
- /队列提示(或:排队提示) → 执行工作流
- /获取队列状态 → 队列状态
- 获取历史记录 → 提示的历史记录
- /取消提示 → 取消一个提示
- /中断执行 → 停止所有正在进行的操作
⚙️ 系统与模型
- 获取系统统计信息 → GPU、RAM、版本信息
- /列出模型 → 列出可用的型号
- /模型信息 → 模型的详细信息
🧩 工作流程
- 保存工作流程 → 保存工作流程
- /加载工作流 → 加载工作流
- /列出工作流 → 列出所有工作流程
- /检查工作流程 → 分析结构
🖼️ 图片与文件
- /列出输出图像 → 查看生成的图像
- /获取图片 → 恢复图像
- 上传图片 → 发送入口图片
🔧 自定义节点
- /创建自定义节点模板 → 创建节点骨架
- /编写自定义节点 → 创建一个node文件
- /读取自定义节点 → 读取节点的代码
- /列出自定义子目录 → 探索自定义文件夹
- /autodoc_nodes(可翻译为)/自动文档节点 → 生成所有自定义节点的文档
🖥️ 界面(Chrome 用户界面)
- /ui_click_element 翻译为中文是:“点击界面元素” → simuler un clic
- /ui_fill_input 可以翻译为“界面填充输入”或“UI输入填充”,具体取决于上下文环境,但通常指的是在用户界面(UI)中进行输入或填充内容的操作 → 填写文本字段
- /获取当前工作流 → 恢复显示的工作流
📂 结构 MCP_exchange
这个目录作为交流空间,供 MCP–ComfyUI(注:这个翻译保持了原名的结构,直接翻译为“MCP-舒适用户界面”,但通常我们会根据上下文或具体产品来确定更准确的中文名称,如果“ComfyUI”有特定的中文译名或品牌名,应使用那个译名。) 以及你当地的环境。
以下所有命令仅与文件夹交互:
output/MCP_exchange/
🔍 列出文件
call_tool /MCP-ComfyUI/.../list_exchange {"limit": 200, "exts": "png,jpg,jpeg,webp,bmp,tif,tiff,txt,md,html,htm,json,js,py,css"}
📖 读取文件
call_tool /MCP-ComfyUI/.../read_exchange {"name": "nom_du_fichier.txt", "as_data_url": true}
✏️ 写一个文件
call_tool /MCP-ComfyUI/.../write_exchange {"name": "nouveau_fichier.md", "content": "contenu du fichier", "mode": "text", "overwrite": true}
可用模式: text, base64, data_url。
❌ 删除文件
call_tool /MCP-ComfyUI/.../delete_exchange {"name": "fichier_a_supprimer.json"}
🧭 典型用法
- 导出生成的结果或图像以供检查。
- 导入脚本、工作流JSON或数据集。
- 实现MCP与ComfyUI之间的自动化交互。
完整路径: ComfyUI/output/MCP_exchange/
其他命令(工作流、模板、节点)在其他地方起作用;而这个组仅限于管理交换文件。