返回市场
图像生成MCP

图像生成MCP

作者:Ichigo376627 星标更新:2025-07-22

项目介绍

image-gen MCP Server

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

<a href="https://glama.ai/mcp/servers/@Ichigo3766/image-gen-mcp"> <img width="380" height="200" src="https://gips1.baidu.com/it/u=3143198761,2815699676&fm=3081&app=3081&f=PNG?w=760&h=400" alt="图像生成服务器MCP服务器" /> </a>

安装

先决条件

  • 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",  // 可选:如果启用了身份验证
        "SD_AUTH_PASS": "your-password",  // 可选:如果启用了身份验证
        "SD_OUTPUT_DIR": "/path/to/output/directory",
        "SD_RESIZE_MODE": "0",           // 可选:放大模式(0=倍数,1=尺寸)
        "SD_UPSCALE_MULTIPLIER": "4",    // 可选:默认放大倍数
        "SD_UPSCALE_WIDTH": "512",       // 可选:默认放大宽度
        "SD_UPSCALE_HEIGHT": "512",      // 可选:默认放大高度
        "SD_UPSCALER_1": "R-ESRGAN 4x+", // 可选:默认主要放大器模型
        "SD_UPSCALER_2": "None"          // 可选:默认次要放大器模型
      }
    }
  }
}

替换环境变量为您自己的值:

  • 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文件。