ChatGPT图像生成器
通过MCP接口使用OpenAI的gpt-image-1模型生成和编辑图像的工具,使AI助手能够根据文本提示创建和修改图像。
服务介绍
OpenAI 图像生成 MCP 服务器
该项目实现了一个MCP(模型上下文协议)服务器,通过官方Python SDK使用OpenAI的gpt-image-1模型提供生成和编辑图像的工具。
功能
此MCP服务器提供了以下工具:
-
generate_image: 根据文本提示使用OpenAI的gpt-image-1模型生成图像并保存。-
输入模式:
json
{
"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、自动)。默认:自动。" },
"quality": { "type": ["string", "null"], "enum": ["low", "medium", "high", "auto"], "default": "auto", "description": "渲染质量(低、中、高、自动)。默认:自动。" },
"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模型编辑图像或创建变体并保存。可以使用多个输入图像作为参考,或者使用遮罩进行修复。-
输入模式:
json
{
"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": "用于修复的遮罩图像(带有alpha通道的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、自动)。默认:自动。" },
"quality": { "type": ["string", "null"], "enum": ["low", "medium", "high", "auto"], "default": "auto", "description": "渲染质量(低、中、高、自动)。默认:自动。" },
"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 服务器的 MCP 客户端环境(如 Cline 使用的环境)。
安装
-
克隆仓库:
bash
git clone https://github.com/IncomeStreamSurfer/chatgpt-native-image-gen-mcp.git
cd chatgpt-native-image-gen-mcp -
设置虚拟环境(推荐):
bash
python -m venv venv
source venv/bin/activate # 在 Windows 上使用venvScriptsactivate -
安装依赖项:
bash
pip install -r requirements.txt -
(可选但推荐)设置环境变量:
使用你的 OpenAI 密钥设置OPENAI_API_KEY环境变量,而不是将其硬编码到脚本中。如何设置取决于你的操作系统。
配置(针对 Cline MCP 客户端)
为了让这个服务器对你的 AI 助手(如 Cline)可用,请将它的配置添加到你的 MCP 设置文件中(例如 cline_mcp_settings.json)。
在设置文件中找到 mcpServers 对象,并添加以下条目:
json
{
"mcpServers": {
// ... 其他服务器配置 ...
"openai-image-gen-mcp": {
"autoApprove": [
"generate_image",
"edit_image"
],
"disabled": false,
"timeout": 180, // 增加超时时间以应对可能较长的图像生成过程
"command": "python", // 如果不在 PATH 中,请指定 Python 可执行文件的路径
"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)将在首次调用其工具之一时,根据配置文件中的 command 和 args 自动启动服务器。
如果你想手动测试(确保已安装依赖项并且 API 密钥可用):
bash
python openai_image_mcp.py
使用
AI 助手通过 generate_image 和 edit_image 工具与服务器交互。图像将保存在 openai_image_mcp.py 脚本所在位置创建的 ai-images 子目录中。工具成功后会返回保存图像的绝对路径。