Image_gen_with_mcp

Image_gen_with_mcp

🚀 基于MCP接口的AI图像生成服务器

本项目打造了一个集成稳定扩散(Stable Diffusion)图像生成功能的模型上下文协议(MCP)服务器,能让AI代理轻松请求并接收生成的图像。项目参考了Block's Goose自定义扩展教程里的示例。

🚀 快速开始

安装配置

  1. 创建虚拟环境,强制使用.venv

    virtualenv .venv
    
  2. 激活虚拟环境:

    source .venv/bin/activate
    
  3. 安装MCP包(用于Goose集成):

    pip install -e .
    

启动服务

MCP服务器集成了图像生成服务,可通过一条命令同时启动:

标准模式

source .venv/bin/activate  # 激活你的虚拟环境
export IMAGE_GEN_DIR=/绝对路径/to/folder # 设置生成图像的目标文件夹
image-gen-mcp

开发模式(带FastMCP Inspector)

需打开两个终端:

终端1

source .venv/bin/activate  # 激活你的虚拟环境
export IMAGE_GEN_DIR=/绝对路径/to/folder # 设置生成图像的目标文件夹
image-gen-mcp # 启动图像生成服务(和一个我们不会使用的MCP服务器)

终端2

source .venv/bin/activate  # 激活你的虚拟环境
export IMAGE_GEN_DIR=/绝对路径/to/folder # 设置生成图像的目标文件夹
mcp dev src/image_gen_mcp/server.py # 使用Inspector启动MCP服务器

⚠️ 重要提示:仅在使用开发模式时,图像生成服务必须单独启动。

启动带有FastMCP Inspector的MCP服务器后,可提供以下功能:

  1. 一个Web界面 http://127.0.0.1:8000 进行调试
  2. 检查和调整图像生成设置

直接API访问

发送请求

使用curl命令或任何HTTP客户端向服务发送请求,例如:

curl -X POST "http://localhost:5000/api/generate" \
--data-raw '{"prompt": "一只飞翔的猫头鹰", "negative_prompt": ""}'

接收响应

{
"status": "success",
"message": "生成成功",
"data": {
"url": "http://localhost:5000/images/... png",
"dimensions": "1024x1024"
}
}

📦 安装指南

创建虚拟环境、激活虚拟环境以及安装MCP包的步骤,在上述“安装配置”部分已有详细说明。

💻 使用示例

基础用法

通过curl命令向服务发送请求:

curl -X POST "http://localhost:5000/api/generate" \
--data-raw '{"prompt": "一只飞翔的猫头鹰", "negative_prompt": ""}'

高级用法

在开发模式下,结合FastMCP Inspector进行调试和设置调整,可参考上述“启动服务 - 开发模式(带FastMCP Inspector)”部分的内容。

📚 详细文档

文件组织

项目文件结构如下:

.
├── src/
│   ├── image_gen_mcp/
│   │   ├── generator.py       # 处理图像生成的主逻辑
│   │   └── server.py          # 提供MCP接口的服务器
│   └── requirements.txt      # 项目依赖项
└── README.md                  # 项目文档

与Goose集成

环境变量配置

在Goose中添加一个环境变量IMAGE_GEN_DIR,指定生成图像存储的位置。

使用方法

在Goose中,你可以通过请求生成图像并接收包含URL和元数据的MCP对象。
该服务支持本地运行,但建议使用OpenAI GPT - 4o以获得更快的响应速度。

服务架构

  1. 图像生成服务(src/image_gen_mcp/generator.py)

    • 使用稳定扩散模型进行实际图像生成
    • 提供简单的HTTP API接口
    • 返回图像URL、维度和元数据
    • 默认运行在5000端口(可自定义)
    • 作为独立线程运行,与MCP服务器共存
  2. MCP服务器(src/image_gen_mcp/server.py)

    • 提供标准化的MCP接口供AI代理使用
    • 将请求转发到集成的图像生成服务
    • 返回包含URL和元数据的MCP对象

停止服务

按下Ctrl + C即可停止两者服务,因为它们现在运行在同一进程中。

  • 0 关注
  • 0 收藏,21 浏览
  • system 提出于 2025-09-30 23:30

相似服务问题