图像生成MCP(Stable Diffusion)

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

image-and-video-processing

2.0k 查看 · 2026-07-07 更新

简介

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

简介

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

image-gen MCP Server

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

图像生成服务器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 文件。

工具列表

  • generate_image: Generate an image using Stable Diffusion

  • get_sd_models: Get list of available Stable Diffusion models

  • set_sd_model: Set the active Stable Diffusion model

  • get_sd_upscalers: Get list of available upscaler models

  • upscale_images: Upscale one or more images using Stable Diffusion

来源