mcpField
C
comfyui-mcp

comfyui-mcp

本地服务
github.com/miller-joe媒体与设计320 周前更新

关于 comfyui-mcp

comfyui-mcp 是一个 MCP 服务,让 MCP 客户端调用 ComfyUI 生成和编辑图像。它提供常用生成工具、自定义工作流、模板保存及图像代理。

主要功能

  1. 01文本生成图像
  2. 02按种子生成图像变体
  3. 03图像精修与放大
  4. 04ControlNet 和 IP-Adapter 生成
  5. 05自定义及已保存工作流
  6. 06查询模型与工作流

适用场景

  1. 01根据文本提示生成图像
  2. 02创建同一提示的图像变体
  3. 03精修或放大现有图像
  4. 04复用已保存的 ComfyUI 工作流

MCP 相关

向 MCP 客户端提供 ComfyUI 图像生成、编辑、模型查询和工作流工具。支持 Streamable HTTP 与 stdio,并可为无法直接访问 ComfyUI 的客户端代理图像。

配置

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

mcp.json · 通用配置
{
"mcpServers": {
"miller-joe-comfyui": {
"command": "npx",
"args": [
"-y",
"@miller-joe/comfyui-mcp"
],
"env": {
"COMFYUI_URL": "<COMFYUI_URL>",
"COMFYUI_PUBLIC_URL": "<COMFYUI_PUBLIC_URL>",
"COMFYUI_DEFAULT_CKPT": "<COMFYUI_DEFAULT_CKPT>"
}
}
}
}
启动命令npx -y @miller-joe/comfyui-mcp
需要配置的环境变量
COMFYUI_URLComfyUI HTTP URL used internally by this server. Default: http://127.0.0.1:8188
COMFYUI_PUBLIC_URLExternally-reachable ComfyUI URL used in image URLs returned to clients. Set when the internal URL isn't reachable from MCP clients (common with Docker networks).
COMFYUI_DEFAULT_CKPTDefault checkpoint filename. Default: sd_xl_base_1.0.safetensors

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

安装包
npm@miller-joe/comfyui-mcp0.2.1

工具

还没有获取到工具列表

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

详细介绍

comfyui-mcp

适用于 ComfyUI 的 MCP 服务。在任何兼容 MCP 的客户端中,使用自然语言提示词生成图像。

comfyui-mcp MCP server

GitHub Sponsors Ko-fi

状态

v0.2 发布了核心工具,以及放大、图像代理和公共 URL 支持。当前提供的工具:generate_image、generate_variations、generate_with_workflow、refine_image、upscale_image、list_models、list_workflows、upload_image、generate_with_controlnet、generate_with_ip_adapter,以及工作流模板注册表。后续计划请参阅 Roadmap。

安装

npx(无需安装)
npx @miller-joe/comfyui-mcp --comfyui-url http://your-comfyui-host:8188
npm
npm install -g @miller-joe/comfyui-mcp
comfyui-mcp --comfyui-url http://your-comfyui-host:8188
Docker
docker run -p 9100:9100 \
  -e COMFYUI_URL=http://your-comfyui-host:8188 \
  ghcr.io/miller-joe/comfyui-mcp:latest

连接 MCP 客户端

Claude Code:

claude mcp add --transport http comfyui http://localhost:9100/mcp

或者向 MCP 网关(例如 MetaMCP)注册可流式传输的 HTTP 端点,以便与其他服务聚合。

配置

所有选项均可通过 CLI 标志或环境变量设置:

CLI 标志环境变量默认值描述
--hostMCP_HOST0.0.0.0绑定主机(仅限 HTTP 模式)
--portMCP_PORT9100绑定端口(仅限 HTTP 模式)
--stdioMCP_TRANSPORT=stdio(未设置)使用 stdio 而不是 HTTP 进行 MCP 通信。由优先使用 stdio 的 MCP 客户端(Claude Desktop、mcp-inspector)作为子进程启动时使用。
--comfyui-urlCOMFYUI_URLhttp://127.0.0.1:8188此服务内部使用的 ComfyUI HTTP URL
--comfyui-public-urlCOMFYUI_PUBLIC_URL与 --comfyui-url 相同返回给客户端的图像 URL 中使用的外部 URL。当 MCP 客户端无法访问内部 URL 时(Docker 网络中很常见),请设置此项。
(无标志)COMFYUI_DEFAULT_CKPTsd_xl_base_1.0.safetensors默认检查点文件名
传输方式

服务默认使用可流式传输的 HTTP(非常适合 Claude Code、MetaMCP 和原始 fetch)。传入 --stdio(或设置 MCP_TRANSPORT=stdio)即可切换到 stdio 模式,这是 Claude Desktop 和 MCP Inspector 等优先使用 stdio 的客户端所需的模式:

# Claude Desktop config (claude_desktop_config.json):
{
  "mcpServers": {
    "comfyui": {
      "command": "npx",
      "args": ["-y", "@miller-joe/comfyui-mcp", "--stdio", "--comfyui-url", "http://127.0.0.1:8188"]
    }
  }
}
返回给客户端的图像 URL

图像生成工具会返回类似 <comfyui-public-url>/view?filename=… 的图像 URL。如果未设置 --comfyui-public-url,URL 将使用内部的 --comfyui-url 值。

服务还提供了一个代理端点:GET /images/<filename>?subfolder=&type=output 会通过此服务传输图像字节,这适用于客户端能够访问 MCP 服务、但无法直接访问 ComfyUI 的情况。

默认检查点必须与 ComfyUI models/checkpoints/ 目录中的文件匹配。可通过 COMFYUI_DEFAULT_CKPT 覆盖,或将 checkpoint 作为工具参数传入。

工具

generate_image

使用 ComfyUI 的默认 txt2img 工作流,根据文本提示词生成图像。

参数:prompt(必需)、negative_prompt、width、height、steps、cfg、seed、checkpoint。

generate_variations

通过改变种子,为同一提示词生成多个变体。一次性返回所有图像。

参数:prompt(必需)、count(2–16,默认值为 4),以及与 generate_image 相同的生成参数,但使用 base_seed 代替 seed。

generate_with_workflow

提交任意 ComfyUI 工作流 JSON(完整节点图),并返回生成的图像 URL。用于自定义工作流,例如 ControlNet、放大,或从 ComfyUI 的 Save (API Format) 导出的任何工作流。

参数:workflow(对象),完整节点图。

refine_image

对源图像运行 img2img。服务会获取源 URL,将其上传到 ComfyUI,并根据新提示词运行一次去噪处理。denoise 值越低,保留的原图内容越多;值越高,提示词发挥的空间越大。

参数:prompt、source_image_url(必填)、denoise(0–1,默认值为 0.5),以及标准生成参数。

list_models

列出 ComfyUI 实例上可用的检查点、LoRA、采样器或调度器。

参数:kind,可选 checkpoints(默认值)、loras、samplers、schedulers。

list_workflows

列出此服务自带的工作流模板(目前包括 txt2img、img2img、upscale、controlnet、ip_adapter)。

upload_image

将参考图像上传到 ComfyUI,以用于 img2img、ControlNet 或 IP-Adapter 工作流。

参数:source_url 或 image_base64(必填其一)、filename(可选)、overwrite(默认值为 false)。

返回:存储的文件名,可用作 LoadImage 等工作流节点的 image 输入。

generate_with_controlnet

使用经过 ControlNet 预处理的图像(姿势骨架、深度图、Canny 边缘、法线贴图等)和文本提示词进行条件图像生成。

参数:prompt、control_image_url(预处理后的条件图像;此工具不会运行预处理器)、controlnet_model(来自 models/controlnet/ 的文件名)、strength(0–2,默认值为 1)、start_percent / end_percent(0–1,用于控制 CN 在采样过程中何时生效),以及标准生成参数。

需要在 ComfyUI 的 models/controlnet/ 目录中安装 ControlNet 模型。

generate_with_ip_adapter

通过 IP-Adapter 使用参考图像作为视觉、风格或主体指引来生成图像。

参数:prompt、reference_image_url、preset(例如 "STANDARD (medium strength)"、"PLUS FACE (portraits)"、"VIT-G (medium strength)")、weight(0–3,默认值为 1)、start_at / end_at(0–1),以及标准生成参数。

需要安装 ComfyUI-IPAdapter-plus 自定义节点包,以及与预设匹配的 IPAdapter 权重和 CLIP Vision 模型。

工作流模板注册表

保存复杂工作流 JSON,之后可按名称运行。模板存储在 --templates-dir 指定的磁盘目录下(默认路径为 ~/.config/comfyui-mcp/templates/<name>.json),因此重启后仍会保留,并可在不同 MCP 客户端之间移植。

工具描述
save_workflow_template将工作流 JSON 保存到指定名称的槽位。设置 overwrite=true 可替换已有模板。
list_workflow_templates列出已保存的模板,包括描述和上次更新时间戳。
get_workflow_template获取已存储模板的 JSON 和元数据。
delete_workflow_template删除已存储的模板。
run_workflow_template对 ComfyUI 运行已保存的模板,并返回图像 URL。

模板名称必须以字母或数字开头。允许使用:a-z、A-Z、0-9、-、_。最多 64 个字符。

返回格式

所有生成工具都会返回由 ComfyUI 实例直接提供的图像 URL(http://<comfyui>/view?filename=…)。这些 URL 可直接传给任何接受图像 URL 的客户端。

架构

┌────────────────┐     ┌──────────────────┐     ┌──────────────┐
│  MCP client    │────▶│  comfyui-mcp     │────▶│  ComfyUI     │
│  (Claude, etc.)│◀────│  (this server)   │◀────│  instance    │
└────────────────┘     └──────────────────┘     └──────────────┘
     streamable HTTP        HTTP REST + poll

此服务无状态。单个 MCP 请求会向 ComfyUI 提交工作流,轮询 /history/{id} 直至完成,然后返回图像 URL。

开发

git clone https://github.com/miller-joe/comfyui-mcp
cd comfyui-mcp
npm install
npm run dev       # hot-reload via tsx watch
npm run build     # compile TS to dist/
npm run typecheck # strict type checking

需要 Node 20+。

路线图

已在 v0.2 中发布:

  • generate_image、generate_variations、generate_with_workflow
  • refine_image(从源 URL 进行 img2img)
  • upscale_image(ESRGAN / SwinIR 风格的模型放大)
  • list_models、list_workflows、upload_image
  • 图像代理端点(/images/<filename>),供无法直接访问 ComfyUI 的客户端使用
  • 可配置的公共 URL,确保图像 URL 对外部访问有效
  • 工作流模板注册表(保存 / 列出 / 获取 / 删除 / 运行)
  • generate_with_controlnet(需要 ComfyUI 端安装 ControlNet 模型)
  • generate_with_ip_adapter(需要 ComfyUI-IPAdapter-plus 扩展包)

计划中:

  • 为长时间运行的生成任务提供 WebSocket 进度事件。

许可证

MIT © Joe Miller

支持

如果此工具为你节省了时间,可以考虑支持开发工作:

GitHub Sponsors Ko-fi

每笔捐助都将用于维护、文档编写和下一次发布。

评论

支持 Markdown

第一次接触 MCP?

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

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