一个基于轻量级 Python 的 MCP(模型上下文协议)服务器,通过与本地 ComfyUI 实例交互,通过 AI 代理请求生成图像。
该项目允许 AI 代理使用 MCP 协议通过 WebSocket 向 ComfyUI 发送图像生成请求。它支持:
basic_api_test.json)。prompt、width、height 和 model。localhost:8188)。requests、websockets、mcp(通过 pip 安装)。克隆仓库:
git clone <your-repo-url>
cd comfyui-mcp-server
安装依赖项:
pip install requests websockets mcp
启动 ComfyUI:
cd <ComfyUI_dir>
python main.py --port 8188
准备工作流:
basic_api_test.json)放置在 workflows/ 目录中。运行 MCP 服务器:
python server.py
ws://localhost:9000。使用客户端测试:
python client.py
512x512,使用 sd_xl_base_1.0.safetensors 模型。服务器响应:
{
"image_url": "http://localhost:8188/view?filename=ComfyUI_00001_.png&subfolder=&type=output"
}
自定义请求:
client.py 中的 payload 来更改 prompt、width、height、workflow_id 或 model。"params": json.dumps({
"prompt": "一只太空中的猫",
"width": 768,
"height": 768,
"workflow_id": "basic_api_test",
"model": "v1-5-pruned-emaonly.ckpt"
})
server.py:具有 WebSocket 传输和生命周期支持的 MCP 服务器。comfyui_client.py:与 ComfyUI 的 API 进行交互,处理工作流队列。client.py:用于发送 MCP 请求的测试客户端。workflows/:存放 API 格式的 JSON 工作流文件的目录。model(例如:v1-5-pruned-emaonly.ckpt)存在于 <ComfyUI_dir>/models/checkpoints/ 中。comfyui_client.py 中 DEFAULT_MAPPING 的节点 ID。欢迎提交问题或 PR 以增强灵活性(例如:动态节点映射、进度流传输)。
Apache 许可证