图像生成MCP(Stable Diffusion)

@Ichigo3766/image-gen-mcp
4 Stars 2.2k 次浏览 Ichigo3766 更新于 2026-08-23

一个集成了Stable Diffusion WebUI的MCP服务器,通过简单的API调用提供从文本到图像生成和图像放大功能。

该服务暂未提供标准配置,请参考 README 手动接入

可用工具 (5 个)

该服务在 MCP 协议中暴露的工具,AI 可按需调用

generate_image 14 个参数 需填 1 项

Generate an image using Stable Diffusion

必填参数:prompt

get_sd_models

Get list of available Stable Diffusion models

该工具无需必填参数,直接调用即可

set_sd_model 1 个参数 需填 1 项

Set the active Stable Diffusion model

必填参数:model_name

get_sd_upscalers

Get list of available upscaler models

该工具无需必填参数,直接调用即可

upscale_images 8 个参数 需填 1 项

Upscale one or more images using Stable Diffusion

必填参数:images

服务介绍

image-gen MCP Server

一个使用 Stable Diffusion WebUI API (ForgeUI/AUTOMATIC-1111) 提供文本到图像生成能力的MCP服务器。

安装

前提条件

  • Node.js
  • 可访问启用了API的Stable Diffusion WebUI实例
  • 启动WebUI时必须启用--api标志

设置

  1. 克隆仓库:
git clone https://github.com/Ichigo3766/image-gen-mcp.git
cd image-gen-mcp
  1. 安装依赖项:
npm install
  1. 构建服务器:
npm run build
  1. 将服务器配置添加到您的环境中:
{
  "mcpServers": {
    "image-gen": {
      "command": "node",
      "args": [
        "/path/to/image-gen-mcp/build/index.js"
      ],
      "env": {
        "SD_WEBUI_URL": "http://your-sd-webui-url:7860",
        "SD_AUTH_USER": "your-username",  // Optional: if authentication is enabled
        "SD_AUTH_PASS": "your-password",  // Optional: if authentication is enabled
        "SD_OUTPUT_DIR": "/path/to/output/directory",
        "SD_RESIZE_MODE": "0",           // Optional: upscaling mode (0=multiplier, 1=dimensions)
        "SD_UPSCALE_MULTIPLIER": "4",    // Optional: default upscale multiplier
        "SD_UPSCALE_WIDTH": "512",       // Optional: default upscale width
        "SD_UPSCALE_HEIGHT": "512",      // Optional: default upscale height
        "SD_UPSCALER_1": "R-ESRGAN 4x+", // Optional: default primary upscaler
        "SD_UPSCALER_2": "None"          // Optional: default secondary upscaler
      }
    }
  }
}

用您的值替换环境变量:

  • SD_WEBUI_URL: 您的Stable Diffusion WebUI实例的URL
  • SD_AUTH_USER: 基本认证的用户名(如果已启用)
  • SD_AUTH_PASS: 基本认证的密码(如果已启用)
  • SD_OUTPUT_DIR: 生成图像将保存的目录
  • SD_RESIZE_MODE: 默认放大模式(0表示倍数,1表示尺寸)
  • SD_UPSCALE_MULTIPLIER: 当resize_mode为0时默认放大倍数
  • SD_UPSCALE_WIDTH: 当resize_mode为1时默认目标宽度
  • SD_UPSCALE_HEIGHT: 当resize_mode为1时默认目标高度
  • SD_UPSCALER_1: 默认的主要放大器模型
  • SD_UPSCALER_2: 默认的次要放大器模型

功能

工具

  • generate_image - 使用 Stable Diffusion 生成图像

    • 参数:
      • prompt (必需): 所需图像的文字描述
      • negative_prompt: 图像中需要排除的内容
      • steps: 采样步数 (默认: 4, 范围: 1-150)
      • width: 图像宽度 (默认: 1024, 范围: 512-2048)
      • height: 图像高度 (默认: 1024, 范围: 512-2048)
      • cfg_scale: CFG 比例 (默认: 1, 范围: 1-30)
      • sampler_name: 采样算法 (默认: "Euler")
      • scheduler_name: 调度算法 (默认: "Simple")
      • seed: 随机种子 (-1 表示随机)
      • batch_size: 生成的图像数量 (默认: 1, 最大: 4)
      • restore_faces: 启用人脸修复
      • tiling: 生成可平铺的图像
      • output_path: 生成图像的自定义输出路径
  • get_sd_models - 获取可用的 Stable Diffusion 模型列表

    • 不需要参数
    • 返回模型名称数组
  • set_sd_model - 设置当前激活的 Stable Diffusion 模型

    • 参数:
      • model_name (必需): 要设置为激活状态的模型名称
  • get_sd_upscalers - 获取可用的放大器模型列表

    • 不需要参数
    • 返回放大器名称数组
  • upscale_images - 使用 Stable Diffusion 放大一个或多个图像

    • 参数:
      • images (必需): 要放大的图像文件路径数组
      • resize_mode: 0 为倍增模式,1 为尺寸模式 (默认: 从环境变量获取)
      • upscaling_resize: 当 resize_mode=0 时的放大倍数 (默认: 从环境变量获取)
      • upscaling_resize_w: 当 resize_mode=1 时的目标宽度(像素)(默认: 从环境变量获取)
      • upscaling_resize_h: 当 resize_mode=1 时的目标高度(像素)(默认: 从环境变量获取)
      • upscaler_1: 主要放大器模型 (默认: 从环境变量获取)
      • upscaler_2: 辅助放大器模型 (默认: 从环境变量获取)
      • output_path: 放大后图像的自定义输出目录

开发

开发时自动重建:

npm run watch

错误处理

常见问题及解决方案:

  1. 确保你的 Stable Diffusion WebUI 正在运行,并带有 --api 标志
  2. 检查 WebUI URL 是否可以从你运行 MCP 服务器的地方访问
  3. 如果使用身份验证,请确保凭据正确
  4. 确认输出目录存在且具有写权限
  5. 在放大图像时,确保输入的图像文件存在且可读

许可证

此 MCP 服务器根据 MIT 许可证发布。这意味着你可以自由使用、修改和分发该软件,但须遵守 MIT 许可证的条款和条件。有关更多详细信息,请参阅项目存储库中的 LICENSE 文件。

相关 MCP 服务