mcpField
C
ComfyUI MCP

ComfyUI MCP

本地服务
github.com/GermaniU媒体与设计26 天前更新

关于 ComfyUI MCP

ComfyUI MCP 是面向 AI Agent 的 MCP 接入层,生成任务由服务端 GPU 执行。它通过预设提供 SDXL 图像和 Wan 2.2 短视频生成,客户端无需安装 PyTorch。

主要功能

  1. 01根据提示词生成 SDXL 图像
  2. 02使用 img2img 转换已生成图像
  3. 03生成 Wan 2.2 短视频
  4. 04选择预设、画面比例和种子
  5. 05查看模型与后端状态
  6. 06返回预览和下载 URL

适用场景

  1. 01通过 Agent 生成产品或写实图像
  2. 02使用可用预设生成动漫风格图像
  3. 03将生成的图像制作成短视频

MCP 相关

通过 HTTP/SSE 向 MCP 客户端提供 ComfyUI 推理工具,并列出 stdio 客户端选项。客户端可生成或转换图像和视频,也可查看模型及后端状态。

配置

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

mcp.json · 通用配置
{
"mcpServers": {
"germaniu-comfyui": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"-e",
"COMFYUI_URL",
"-e",
"COMFYUI_PUBLIC_URL",
"-e",
"MCP_AUTH_TOKEN",
"ghcr.io/germaniu/comfyui-mcp:0.1.1"
],
"env": {
"COMFYUI_URL": "<COMFYUI_URL>",
"COMFYUI_PUBLIC_URL": "<COMFYUI_PUBLIC_URL>",
"MCP_AUTH_TOKEN": "<MCP_AUTH_TOKEN>"
}
}
}
}
启动命令docker run -i --rm -e COMFYUI_URL -e COMFYUI_PUBLIC_URL -e MCP_AUTH_TOKEN ghcr.io/germaniu/comfyui-mcp:0.1.1
需要配置的环境变量
COMFYUI_URLLoopback URL of the ComfyUI engine. Inside a container 127.0.0.1 is the container itself, so point it at the host running ComfyUI (e.g. http://host.docker.internal:8188 or the LAN IP).
COMFYUI_PUBLIC_URLLAN base URL used to build direct image download links.
MCP_AUTH_TOKEN密钥Only applies when the container runs in HTTP mode. If set, every HTTP request must carry an Authorization: Bearer header.

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

安装包
ocighcr.io/germaniu/comfyui-mcp:0.1.1

工具

还没有获取到工具列表

本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。

详细介绍

ComfyUI MCP — 通过 Model Context Protocol 为 AI Agent 生成图像

English · Español

ComfyUI MCP — 通过 Model Context Protocol(MCP)为 AI Agent 生成图像

将 SDXL 图像生成接入网络中的任意 AI Agent。 开源 MCP 服务,通过 Model Context Protocol 将 ComfyUI(SDXL / RTX 3060)的推理能力提供给 Claude Code、Cursor、Windsurf、Hermes Gateway 及任何兼容客户端。FastMCP HTTP/SSE + GPU Arbiter,客户端零依赖,100% 使用你的硬件。

License: MIT MCP Python CI FastMCP PRs Welcome

标签: mcp-server · comfyui · sdxl · image-generation · ai-agents · fastmcp · claude-code · cursor · hermes-gateway · gpu-arbiter · local-first · self-hosted

Agent 通过 MCP 在 RTX 3060 上生成真实图像

Agent 使用预设请求生成图像,并收到下载 URL——GPU 在服务端运行,客户端无需安装 PyTorch。


💡 项目缘起

在多 Agent 环境中生成图像,需要在每台客户端机器上安装庞大的 PyTorch 库、配备专用 GPU 并进行复杂配置。ComfyUI MCP 通过充当解耦的 HTTP/SSE 中间件适配器解决了这一问题:

  • 🚀 无需本地安装:任何客户端或网关都可通过端口 8201 上的 HTTP/SSE 使用图像生成功能,无需安装 PyTorch,也无需在本地下载 SDXL 模型。
  • 🧠 智能 GPU 仲裁器:在 12GB GPU(RTX 3060)上自动切换 llama-server(LLMs)和 ComfyUI,避免 VRAM 冲突。
  • 🎯 专业预设:通过 producto(RealVisXL V4.0)或 realista(Juggernaut XL)等预设,生成可用于生产的图像。

🏗️ 架构与组件边界

⚠️ 重要:了解系统边界

comfyui-mcp 仅负责 MCP 传输与接口层。它不包含 ComfyUI 推理引擎,也不包含模型权重文件。 有关 Linux/Pop!_OS 主机上后端服务的部署指南,请参阅 docs/SERVER_SETUP.md 和 docs/ARCHITECTURE.md。

 +-------------------------------------------------------+
 |                 Clientes MCP (LAN)                    |
 | (Claude Code CLI / Cursor / Windsurf / Hermes Gateway)|
 +-------------------------------------------------------+
                             |
                             | HTTP / SSE (Puerto 8201)
                             v
 +-------------------------------------------------------+
 |                  comfyui-mcp Server                   |
 |           (FastMCP + Workflow JSON Builder)           |
 +-------------------------------------------------------+
                             |
                             | Loopback HTTP (Puerto 8188)
                             v
 +-------------------------------------------------------+
 |                 ComfyUI Backend Host                  |
 |  (PyTorch + CUDA + SDXL Checkpoints + GPU Arbiter)    |
 +-------------------------------------------------------+

📦 快速安装

要求
  • Python 3.11+
  • uv ≥ 0.13.4(推荐)或 pip ≥ 26.2.2:更早版本仍信任已泄露的 emSign CA(GHSA-6q48-6c7w-9gw2)。pyproject.toml 要求 uv 达到最低版本([tool.uv] required-version)。
克隆并安装
git clone https://github.com/GermaniU/comfyui-mcp.git
cd comfyui-mcp

# Crear entorno virtual e instalar
uv venv
source .venv/bin/activate
uv pip install -e .

⚙️ 配置(环境变量)

创建 .env 文件或导出以下变量:

变量默认值描述
COMFYUI_URLhttp://127.0.0.1:8188ComfyUI 引擎监听的 loopback URL。
COMFYUI_PUBLIC_URLhttp://<YOUR_SERVER_IP>:8188用于下载图像的公开/LAN 基础 URL。
MCP_HOST0.0.0.0MCP 服务的主机绑定地址。
MCP_PORT8201MCP 服务的 HTTP/SSE 端口。
MCP_AUTH_TOKEN(空 = 无认证)如果已设置,则每个 HTTP/SSE 请求都必须包含 Authorization: Bearer <token> 标头。
MCP_CORS_ORIGINS*允许的 CORS 来源,以逗号分隔。仅影响在浏览器中运行的客户端。

**安全性:**如果未设置 MCP_AUTH_TOKEN,局域网中的任何设备——或在局域网浏览器中打开的网页(CORS 为 *)——都可以生成图像并占用 GPU。除非网络完全可信,否则建议设置令牌。


🛠️ 暴露的工具(工具参考)

1. generate_image(txt2img)

使用 SDXL 根据文本提示词生成图像。

  • 参数:
    • prompt(string,必填):图像描述(使用英语效果更好)。
    • preset(string,可选):producto、realista、rapido 或 anime。默认值:"producto"。
    • aspect(string,可选):1:1、4:5、5:4、9:16、16:9、3:2、2:3(约 1MP)。默认值:"1:1"。
    • negative_prompt(string,可选):要排除的元素。默认使用通用质量负面提示词。
    • seed(integer,可选):用于保证可复现性的种子。默认随机。
    • batch(integer,可选):每次调用生成的图像数(1-4)。默认值:1。
    • checkpoint、lora、lora_strength、steps、cfg(可选):覆盖预设值。
    • filename_prefix(string,可选):输出文件前缀。默认值:"mcp"。
    • detail_face(bool,可选):FaceDetailer 处理步骤(需要 Impact Pack)。默认值:false。
    • preview(bool,可选):另外返回 JPEG 缩略图(约 512px),供模型查看结果。仅适用于支持视觉的客户端。默认值:false。
2. img2img(图生图)

通过设置去噪强度,对已生成的图像(位于 ComfyUI 的 output/ 中)进行变化。

  • 参数:
    • image_filename(string,必填):已生成文件的名称(例如:mcp_00001_.png)。
    • prompt(string,可选):转换指令。留空 = 纯视觉变化。
    • denoise(float,可选):0.0 表示完全相同,1.0 表示完全重新生成。默认值:0.55。
    • preset(string,可选):默认值:"realista"。
    • negative_prompt、seed、checkpoint、lora、lora_strength、steps、cfg、filename_prefix、preview(可选)。
3. generate_video(Wan 2.2)

使用 Wan 2.2 TI2V 5B 生成短片 MP4(24fps)。不提供图像时为 txt2video;提供 image_filename 时,会将该图像设为首帧并为其添加动画效果。需要视频模型(参见 SERVER_SETUP)。在 RTX 3060 上,每个片段需要耗时数分钟。

  • 参数:
    • prompt(string,必填):场景和运动描述(包括镜头和主体的运动),使用英语。
    • aspect(string,可选):16:9(1280x704)、9:16(704x1280)或 1:1(960x960)。默认值:"16:9"。
    • seconds(integer,可选):时长,1-5。默认值:3。
    • image_filename(string,可选):要为其添加动画效果的已生成图像(例如:mcp_00001_.png);建议图像的 aspect 与视频一致。
    • draft(bool,可选):以约 480p(832x480、480x832、640x640)生成草稿,像素数不到一半,速度快得多;可用于在生成最终版本前测试提示词。默认值:false。
    • negative_prompt、seed、steps、cfg、filename_prefix(可选)。前缀默认值:"mcp-video"。
    • preview(bool,可选):返回首帧的 JPEG 缩略图。默认值:false。
4. list_models

返回 ComfyUI 实例中可用的 checkpoint、LoRA 和预设列表。

5. comfy_health

获取后端的健康状态:ComfyUI 版本、GPU 的 VRAM 使用情况和队列中的任务。

6. comfy_view_url

根据之前生成的文件的 filename 和 subfolder,构建其 LAN 直接下载 URL。


🎨 预设矩阵

预设关联的 Checkpoint步数CFG用例
productoRealVisXL_V4.0.safetensors305.5写实商业与产品摄影(默认)。
realistajuggernautXL_ragnarokBy.safetensors305.0多用途写实图像(场景、人物、环境)。
rapidojuggernautXL_ragnarokBy.safetensors + LoRA SDXL-Lightning61.5约 5 秒生成预览和草稿。
animeanimagine-xl-3.1.safetensors287.0动漫风格插画(服务端未包含该 checkpoint)。

🧭 ComfyUI 的其他 MCP 服务又有哪些?

它们分为三个类别,分别解决不同的问题。本项目不会与另外两类竞争,而是与它们互补。

ComfyUI MCP(本项目)workflow graph 服务云端图像 API
你提供什么一个提示词 + 预设(producto、realista、rapido、anime)一个 JSON 格式的节点图(由你设计)向远程服务提供提示词
是否需要了解 ComfyUI不需要需要不需要
运行位置你的 GPU(RTX 3060)你的 GPU第三方服务端
每张图像的成本0(你的电费)0按图像计费,具体取决于提供商
隐私提示词不会离开你的网络同上你的提示词会发送到云端
是否与大模型共用 GPU是(GPU Arbiter,12 GB)视情况而定不适用
客户端LAN 上的 HTTP/SSE + stdio — 客户端无需安装 PyTorch通常为本地 stdioHTTP

一句话概括:

  • 如果你需要完全控制节点图 → 使用 workflow graph 服务(例如 comfy-pilot)。
  • 如果你没有 GPU,也不介意按图像付费 → 使用云端 API(Flux、Nano Banana、GPT-image)。
  • 如果你有 GPU,想要无需学习 ComfyUI 即可生成图像,并与大模型共用显卡 → 使用本项目。

🔗 与 MCP 客户端集成

Claude Code CLI 配置(~/.claude.json)
{
  "mcpServers": {
    "comfyui": {
      "url": "http://<YOUR_SERVER_IP>:8201/mcp"
    }
  }
}
Hermes Gateway 配置(~/.hermes/config.yaml)
mcp_servers:
  comfyui:
    url: "http://<YOUR_SERVER_IP>:8201/mcp"
    transport: "http"
Cursor / Windsurf / Claude Desktop 配置

添加一个类型为 SSE / HTTP 的 MCP 服务,URL 为 http://<LAN_IP>:8201/mcp。


📋 缺失组件与路线图(服务端缺口)

由于本仓库代表的是 MCP 层,以下内容不在本仓库中,需要在主机服务端进行配置:

  1. ComfyUI 后端服务:需要单独安装 Python + PyTorch CUDA。
  2. Checkpoint 下载:SDXL 模型必须手动下载到 ComfyUI 服务端的 models/checkpoints/ 目录中。
  3. GPU Arbiter 脚本:脚本 gpu-broker.sh 和规则 /etc/sudoers.d/gpu-arbiter 必须放在配备 GPU 的 Linux 机器上。
  4. MCP 的未来改进:
    • 支持动态注入自定义 JSON 工作流。
    • 支持通过 MCP 工具取消和清理处理队列。
    • 通过 WebSocket 连接实时报告进度。

🧪 单元测试

uv run --with pytest --with pytest-asyncio pytest

📄 许可证

本项目采用 MIT 许可证。更多详情请参阅 LICENSE 文件。

评论

支持 Markdown

第一次接触 MCP?

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

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