
ComfyUI MCP Server

2025.03.07
35
PythonAI 图像生成轻量级服务器内容生成
ComfyUI MCP Server 是一个轻量级的基于 Python 的 MCP(Model Context Protocol)服务器,用于与本地 ComfyUI 实例交互,通过 AI 代理请求以编程方式生成图像。该服务器支持灵活的 AI 图像生成工作流,动态参数调整,并返回由 ComfyUI 生成的图像 URL。
View on GitHub
Overview
基本能力
产品定位
ComfyUI MCP Server 是一个用于 AI 图像生成的轻量级服务器,通过 MCP 协议与 ComfyUI 交互,支持动态参数调整和灵活的工作流选择。
核心功能
- 通过 WebSocket 与 ComfyUI 交互,支持 AI 图像生成请求。
- 支持动态参数调整,包括
prompt
、width
、height
和model
。 - 返回由 ComfyUI 生成的图像 URL。
- 支持自定义工作流文件(JSON 格式)。
适用场景
- AI 代理程序需要动态生成图像的场景。
- 开发者需要与 ComfyUI 交互以生成图像的应用。
- 需要灵活调整图像生成参数(如分辨率、模型等)的场景。
工具列表
server.py
: MCP 服务器,支持 WebSocket 传输和生命周期管理。comfyui_client.py
: 与 ComfyUI API 交互,处理工作流队列。client.py
: 测试客户端,用于发送 MCP 请求。workflows/
: 存放 API 格式的工作流 JSON 文件。
常见问题解答
- 确保所选模型(如
v1-5-pruned-emaonly.ckpt
)存在于ComfyUI_dir/models/checkpoints/
目录中。 - MCP SDK 不支持原生 WebSocket 传输,本项目使用自定义实现。
- 对于自定义工作流,可能需要调整
comfyui_client.py
中的DEFAULT_MAPPING
节点 ID。
使用教程
使用依赖
- Python 3.10+
- ComfyUI: 已安装并在本地运行(例如在
localhost:8188
)。 - 依赖项:
requests
,websockets
,mcp
(通过 pip 安装)。
安装教程
-
克隆仓库:
bash git clone <your-repo-url> cd comfyui-mcp-server
-
安装依赖项:
bash pip install requests websockets mcp
-
启动 ComfyUI:
- 安装 ComfyUI(参考 ComfyUI 文档)。
-
在端口 8188 上运行:
bash cd <ComfyUI_dir> python main.py --port 8188
-
准备工作流:
- 将 API 格式的工作流文件(如
basic_api_test.json
)放入workflows/
目录。 - 从 ComfyUI 的 UI 中导出工作流(在设置中启用开发模式后选择“Save (API Format)”)。
调试方式
- 运行 MCP 服务器:
bash python server.py
-
服务器监听
ws://localhost:9000
。 -
使用客户端测试:
bash python client.py
- 发送示例请求:
"a dog wearing sunglasses"
,分辨率为512x512
,使用模型sd_xl_base_1.0.safetensors
。 -
输出示例:
json { "image_url": "http://localhost:8188/view?filename=ComfyUI_00001_.png&subfolder=&type=output" }
-
自定义请求:
- 修改
client.py
中的payload
以更改prompt
、width
、height
、workflow_id
或model
。 - 示例:
json "params": json.dumps({ "prompt": "a cat in space", "width": 768, "height": 768, "workflow_id": "basic_api_test", "model": "v1-5-pruned-emaonly.ckpt" })