一个集成了Stable Diffusion WebUI的MCP服务器,通过简单的API调用提供从文本到图像生成和图像放大功能。
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服务器。
安装
前提条件
- Node.js
- 可访问启用了API的Stable Diffusion WebUI实例
- 启动WebUI时必须启用
--api标志
设置
- 克隆仓库:
git clone https://github.com/Ichigo3766/image-gen-mcp.git cd image-gen-mcp
- 安装依赖项:
npm install
- 构建服务器:
npm run build
- 将服务器配置添加到您的环境中:
{ "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实例的URLSD_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
错误处理
常见问题及解决方案:
- 确保你的 Stable Diffusion WebUI 正在运行,并带有
--api标志 - 检查 WebUI URL 是否可以从你运行 MCP 服务器的地方访问
- 如果使用身份验证,请确保凭据正确
- 确认输出目录存在且具有写权限
- 在放大图像时,确保输入的图像文件存在且可读
许可证
此 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
来源
- 来源:github
- 链接:https://github.com/ichigo3766/image-gen-mcp