图像生成服务

ComfyUI MCP Server是一个连接Claude Desktop与本地ComfyUI实例的服务,通过Stable Diffusion或SDXL等模型实现文本到图像的生成。

  • by m2ai-archive
  • Python
  • 本地部署
  • 更新于
在 GitHub 查看 MatthewSnow2/comfyui-mcp

使用说明

Generate images from Claude using your local ComfyUI setup

Installation • Setup • What You Can Do • Configuration • Development


这是什么?

ComfyUI MCP服务器将Claude Desktop(或Claude Code)连接到本地ComfyUI实例。设置后,您可以要求Claude生成图像,它将通过Stable Diffusion、SDXL或您安装的任何检查点模型运行这些图像——应用程序之间没有复制粘贴提示。

它结束了 主控程序 (模型上下文协议),这意味着Claude将您的ComfyUI设置视为本机工具。

对话示例:

You:   Generate a watercolor painting of a coastal village at sunrise
Claude: I'll generate that using your SDXL model.
        [calls generate_image -> ComfyUI runs the workflow -> returns result]
        Done -- saved as ComfyUI-MCP_00042.png (14.2s)

运作原理

Claude Desktop / Claude Code
        |
        v
  MCP Server (stdio)
        |
        v
  ComfyUI REST API (localhost:8188)
        |
        v
  Your GPU -> Stable Diffusion / SDXL / etc.

服务器将Claude的工具调用转换为ComfyUI工作流提交,轮询完成情况,并返回结果。

先决条件

  • Python 3.11+
  • Comfy用户界面 在本地运行(默认值: http://127.0.0.1:8188)
  • ComfyUI中至少安装了一个检查点模型

安装

git clone https://github.com/MatthewSnow2/comfyui-mcp.git
cd comfyui-mcp

python -m venv .venv
source .venv/bin/activate   # Linux/macOS
# .venv\Scripts\activate    # Windows

pip install -e ".[dev]"

设置

1.配置环境

复制 .env.example 到 .env 必要时进行调整:

cp .env.example .env
变量 默认值 它的作用
COMFYUI_URL http://127.0.0.1:8188 您的ComfyUI在哪里运行
COMFYUI_OUTPUT_DIR ~/comfyui-output 生成的图像保存在哪里
COMFYUI_DEFAULT_MODEL sd_xl_base_1.0.safetensors 默认情况下使用哪个检查点
COMFYUI_DEFAULT_STEPS 20 采样步骤
COMFYUI_DEFAULT_WIDTH 1024 图像宽度(px)
COMFYUI_DEFAULT_HEIGHT 1024 图像高度(px)
COMFYUI_DEFAULT_CFG_SCALE 7.0 CFG比例尺

2.添加到克劳德桌面

将此块添加到您的 claude_desktop_config.json:

{
  "mcpServers": {
    "comfyui": {
      "command": "/path/to/comfyui-mcp/.venv/bin/comfyui-mcp",
      "env": {
        "COMFYUI_URL": "http://127.0.0.1:8188",
        "COMFYUI_DEFAULT_MODEL": "sd_xl_base_1.0.safetensors"
      }
    }
  }
}

替换 /path/to/comfyui-mcp 使用您的实际安装路径。

配置文件位置:

  • macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
  • 窗户: %APPDATA%\Claude\claude_desktop_config.json
  • Linux: ~/.config/Claude/claude_desktop_config.json

3.重新启动克劳德桌面

重新启动应用程序。您应该看到MCP工具下拉列表中列出的“comfyui”。

你能做什么

生成图像

让Claude根据任何文本提示生成图像。它处理快速工程、模型选择和参数调整。

参数 类型 默认值 说明
prompt 字符串 (必填) 你想看什么
negative_prompt 字符串 "" 避免什么
model string 配置默认值 检查点模型名称
width int 1024 宽度(像素)
height int 1024 高度(像素)
steps int 20 采样步骤(更多=较慢,但通常更好)
cfg_scale 浮子 7.0 如何密切关注提示
seed int -1 随机种子(-1=每次随机)

列出您的模型

问“我有什么型号?”Claude将显示安装在ComfyUI中的每个检查点。

检查队列状态

询问“队列中有什么?”以查看有多少作业处于挂起、正在运行或已完成状态。

回顾过去的几代人

给Claude一个上一代的提示ID,它将提取详细信息。

实际使用示例

You:   What models do I have?
Claude: You have 3 checkpoints:
        - sd_xl_base_1.0.safetensors
        - dreamshaper_8.safetensors
        - realisticVision_v51.safetensors

You:   Generate a cyberpunk street scene using dreamshaper at 512x768
Claude: [runs generation with dreamshaper_8, 512x768]
        Done -- ComfyUI-MCP_00043.png (8.3s)

You:   Same scene but make it daytime and use realisticVision
Claude: [runs generation with realisticVision_v51, same dimensions]
        Done -- ComfyUI-MCP_00044.png (9.1s)

发展

运行测试

pytest

棉绒和类型检查

ruff check src/ tests/
mypy src/

直接运行服务器

python -m src.server

项目结构

comfyui-mcp/
  src/
    server.py          # MCP server entry point
    comfyui_client.py  # HTTP client for ComfyUI API
    config.py          # Settings via pydantic-settings
    models.py          # Pydantic data models
    workflows.py       # ComfyUI workflow templates
  tests/               # pytest suite
  pyproject.toml
  README.md

内置于

许可证

麻省理工学院