关于 AI Image Generation Server with MCP Interface
AI Image Generation Server with MCP Interface 将 Stable Diffusion 图像生成与 HTTP 服务及 MCP 服务整合,供需要请求图像并获取图像 URL 和元数据的 AI Agent 使用。
主要功能
- 01使用 Stable Diffusion 生成图像
- 02通过 HTTP 提供图像生成
- 03返回图像 URL 和元数据
- 04提供生成的图像文件
- 05同时运行 MCP 和图像服务
适用场景
- 01让 AI Agent 请求生成图像
- 02根据文本提示词生成图像
- 03获取生成图像的 URL 和详情
MCP 相关
该 MCP 服务通过 `generate_image` 工具向 MCP 客户端提供图像生成,并返回包含 URL 和元数据的图像对象。它将请求转发到集成的图像生成服务。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
我们还没有获取到这个服务的安装包或远程地址,请按项目 README 中的说明安装。
工具
本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。
详细介绍
具有 MCP 接口的 AI 图像生成服务
本项目提供了一个集成 Stable Diffusion 图像生成功能的 Model Context Protocol(MCP)服务,使 AI Agent 能够请求并接收生成的图像。
本项目基于 Block 的 Goose 自定义扩展教程中的示例。
设置
-
创建虚拟环境,必须使用
.venv:virtualenv .venv -
激活虚拟环境:
source .venv/bin/activate -
安装 MCP 包(用于 Goose 集成):
pip install -e .
运行服务
MCP 服务包含集成的图像生成服务。你可以使用一条命令启动两者:
标准模式:
source .venv/bin/activate # Activate your virtualenv
export IMAGE_GEN_DIR=/absolute/path/to/folder # Set generated images target folder
image-gen-mcp
使用 FastMCP Inspector 的开发模式: 打开两个终端:
终端 1
source .venv/bin/activate # Activate your virtualenv
export IMAGE_GEN_DIR=/absolute/path/to/folder # Set generated images target folder
image-gen-mcp # Start image generation service (and a MCP server we won't use)
终端 2
source .venv/bin/activate # Activate your virtualenv
export IMAGE_GEN_DIR=/absolute/path/to/folder # Set generated images target folder
mcp dev src/image_gen_mcp/server.py # Start MCP server with Inspector
注意:只有在开发模式下,才必须单独启动图像生成服务。
这将启动带有 FastMCP Inspector 的 MCP 服务,它提供:
- 用于测试和调试的 Web 界面:http://127.0.0.1:6274
- 用于转发 MCP 请求的代理服务,端口为 6277
使用 FastMCP Inspector:
- 在浏览器中打开 http://127.0.0.1:6274
- 使用交互界面来:
- 浏览可用工具及其文档
- 使用你自己的提示词测试
generate_image工具 - 查看请求/响应历史记录
- 调试 MCP 服务的任何问题
图像生成服务的自定义端口:
source .venv/bin/activate # Activate your virtualenv
export IMAGE_GEN_DIR=/absolute/path/to/folder # Set generated images target folder
image-gen-mcp --port 5001
直接访问 API
向图像生成服务发送 POST 请求以生成图像:
curl -X POST http://localhost:5000/generate \
-H "Content-Type: application/json" \
-d '{"prompt": "A futuristic cityscape at sunset"}'
响应将包含用于访问生成图像的 URL 以及元数据:
{
"type": "image",
"format": "png",
"url": "http://localhost:5000/images/123e4567-e89b-12d3-a456-426614174000.png",
"width": 512,
"height": 512,
"filename": "123e4567-e89b-12d3-a456-426614174000.png",
"filepath": "generated_images/123e4567-e89b-12d3-a456-426614174000.png",
"mime_type": "image/png",
"prompt": "A futuristic cityscape at sunset",
"alt_text": "AI-generated image of: A futuristic cityscape at sunset"
}
你可以通过返回的 image_url 直接访问生成的图像。
文件组织结构
src/image_gen_mcp/- 包含实现代码的包目录server.py- MCP 服务实现generator.py- 图像生成服务__init__.py- 包初始化和 CLI 入口点__main__.py- 支持将包作为模块运行
与 Goose 集成
要在 Goose 中将此 MCP 服务添加为扩展:
- 前往
Settings > Extensions > Add。 - 将
Type设为StandardIO。 - 设置 ID "image_generator"、名称 "Image Generator",并填写适当的描述。
- 在
Command字段中,提供可执行文件的绝对路径:uv run /full/path/to/your/project/.venv/bin/image-gen-mcp - 添加环境变量
IMAGE_GEN_DIR,并选择用于存储生成图像的文件夹
集成后,你可以在 Goose 中使用图像生成工具,让它根据指定的提示词生成图像。
使用 OpenAI GPT-4o 时可立即运行。
也可以通过 Ollama 完全在本地运行。尝试了几个模型后,唯一可用的是 mistral-small3.1。
即使使用高端 MacBookPro,mistral-small3.1 的响应速度也远慢于 OpenAI GPT-4o。
服务架构
两个服务集成在同一个应用程序中:
-
图像生成服务(src/image_gen_mcp/generator.py)
- 使用 Stable Diffusion 处理实际的图像生成
- 提供简单的 HTTP 图像生成 API
- 返回图像 URL、尺寸和元数据
- 包含用于提供生成图像的直接端点
- 默认运行在端口 5000(可通过 --port 自定义)
- 与 MCP 服务在同一进程中通过独立线程运行
-
MCP 服务(src/image_gen_mcp/server.py)
- 为 AI Agent 提供标准化的 MCP 接口
- 将请求转发到集成的图像生成服务
- 返回格式正确的 MCP 图像对象,包含 URL 和元数据
停止服务
使用 Ctrl+C 停止两个服务,因为它们现在在同一进程中运行。
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。