返回市场
聊天GPT原生图像生成器-MCP

聊天GPT原生图像生成器-MCP

作者:IncomeStreamSurfer16 星标更新:2025-04-30

项目介绍

OpenAI 图像生成 MCP 服务器

该项目实现了一个 MCP(模型上下文协议)服务器,该服务器使用 OpenAI 的 gpt-image-1 模型通过官方 Python SDK 提供图像生成和编辑工具。

功能

此 MCP 服务器提供以下工具:

  • generate_image:根据文本提示使用 OpenAI 的 gpt-image-1 模型生成图像并保存。

    • 输入模式:
      {
        "type": "object",
        "properties": {
          "prompt": { "type": "string", "description": "所需图像的文字描述。" },
          "model": { "type": "string", "default": "gpt-image-1", "description": "使用的模型(当前为 'gpt-image-1')。" },
          "n": { "type": ["integer", "null"], "default": 1, "description": "要生成的图像数量(默认值:1)。" },
          "size": { "type": ["string", "null"], "enum": ["1024x1024", "1536x1024", "1024x1536", "auto"], "default": "auto", "description": "图像尺寸('1024x1024','1536x1024','1024x1536','auto')。默认值:'auto'。" },
          "quality": { "type": ["string", "null"], "enum": ["low", "medium", "high", "auto"], "default": "auto", "description": "渲染质量('low','medium','high','auto')。默认值:'auto'。" },
          "user": { "type": ["string", "null"], "default": null, "description": "可选的唯一标识符,代表最终用户。" },
          "save_filename": { "type": ["string", "null"], "default": null, "description": "可选文件名(不带扩展名)。如果为 None,则使用基于提示和时间戳的默认名称。" }
        },
        "required": ["prompt"]
      }
      
    • 输出: {"status": "success", "saved_path": "path/to/image.png"} 或错误字典。
  • edit_image:使用 OpenAI 的 gpt-image-1 模型编辑图像或创建变体,并保存。可以使用多个输入图像作为参考,或者使用蒙版进行修复绘画。

    • 输入模式:
      {
        "type": "object",
        "properties": {
          "prompt": { "type": "string", "description": "所需最终图像或编辑的文字描述。" },
          "image_paths": { "type": "array", "items": { "type": "string" }, "description": "输入图像文件路径列表。必须是 PNG 格式且小于 25MB。" },
          "mask_path": { "type": ["string", "null"], "default": null, "description": "用于修复绘画的可选蒙版图像文件路径(带有透明通道的 PNG)。必须与输入图像大小相同且小于 25MB。" },
          "model": { "type": "string", "default": "gpt-image-1", "description": "使用的模型(当前为 'gpt-image-1')。" },
          "n": { "type": ["integer", "null"], "default": 1, "description": "要生成的图像数量(默认值:1)。" },
          "size": { "type": ["string", "null"], "enum": ["1024x1024", "1536x1024", "1024x1536", "auto"], "default": "auto", "description": "图像尺寸('1024x1024','1536x1024','1024x1536','auto')。默认值:'auto'。" },
          "quality": { "type": ["string", "null"], "enum": ["low", "medium", "high", "auto"], "default": "auto", "description": "渲染质量('low','medium','high','auto')。默认值:'auto'。" },
          "user": { "type": ["string", "null"], "default": null, "description": "可选的唯一标识符,代表最终用户。" },
          "save_filename": { "type": ["string", "null"], "default": null, "description": "可选文件名(不带扩展名)。如果为 None,则使用基于提示和时间戳的默认名称。" }
        },
        "required": ["prompt", "image_paths"]
      }
      
    • 输出: {"status": "success", "saved_path": "path/to/image.png"} 或错误字典。

预备条件

  • Python(推荐 3.8 或更高版本)
  • pip(Python 包管理器)
  • OpenAI API 密钥(可以直接在脚本中设置,或通过环境变量 OPENAI_API_KEY 设置——强烈建议出于安全考虑使用环境变量)。
  • 一个 MCP 客户端环境(如 Cline 使用的),能够管理和启动 MCP 服务器。

安装

  1. 克隆仓库:
    git clone https://github.com/IncomeStreamSurfer/chatgpt-native-image-gen-mcp.git
    cd chatgpt-native-image-gen-mcp
    
  2. 设置虚拟环境(推荐):
    python -m venv venv
    source venv/bin/activate  # 在 Windows 上使用 `venv\Scripts\activate`
    
  3. 安装依赖项:
    pip install -r requirements.txt
    
  4. (可选但推荐)设置环境变量: 使用您的 OpenAI 密钥设置 OPENAI_API_KEY 环境变量,而不是将其硬编码到脚本中。如何设置取决于您的操作系统。

配置(针对 Cline MCP 客户端)

为了让此服务器可供您的 AI 助手(如 Cline)使用,请将其配置添加到您的 MCP 设置文件(例如 cline_mcp_settings.json)中。

找到设置文件中的 mcpServers 对象,并添加以下条目:

{
  "mcpServers": {
    // ... 其他服务器配置 ...

    "openai-image-gen-mcp": {
      "autoApprove": [
        "generate_image",
        "edit_image"
      ],
      "disabled": false,
      "timeout": 180, // 增加超时时间以应对可能较长的图像生成过程
      "command": "python", // 或者指定 Python 可执行文件的实际路径,如果不在 PATH 中
      "args": [
        // 重要:用实际绝对路径替换此路径
        // 到您系统上克隆的存储库中的 openai_image_mcp.py 文件
        "C:/path/to/your/cloned/repo/chatgpt-native-image-gen-mcp/openai_image_mcp.py"
      ],
      "env": {
        // 如果使用环境变量来存放 API 密钥:
        // "OPENAI_API_KEY": "YOUR_API_KEY_HERE"
      },
      "transportType": "stdio"
    }

    // ... 其他服务器配置 ...
  }
}

重要:C:/path/to/your/cloned/repo/ 替换为您机器上实际克隆此存储库的位置。确保路径分隔符适合您的操作系统(例如,在 Windows 上使用反斜杠 \)。如果您通过环境变量设置了 API 密钥,可以从脚本中移除它,并根据您的 MCP 客户端是否支持,将其添加到这里的 env 部分。

运行服务器

通常不需要手动运行服务器。当 MCP 客户端(如 Cline)首次调用其工具之一时,会自动使用配置文件中指定的 commandargs 启动服务器。

如果您想手动测试(确保已安装依赖项并且 API 密钥可用):

python openai_image_mcp.py

使用方法

AI 助手通过 generate_imageedit_image 工具与服务器交互。图像保存在 openai_image_mcp.py 脚本所在位置创建的 ai-images 子目录中。工具在成功时返回保存图像的绝对路径。