该项目实现了一个 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"} 或错误字典。OPENAI_API_KEY 设置——强烈建议出于安全考虑使用环境变量)。git clone https://github.com/IncomeStreamSurfer/chatgpt-native-image-gen-mcp.git
cd chatgpt-native-image-gen-mcp
python -m venv venv
source venv/bin/activate # 在 Windows 上使用 `venv\Scripts\activate`
pip install -r requirements.txt
OPENAI_API_KEY 环境变量,而不是将其硬编码到脚本中。如何设置取决于您的操作系统。为了让此服务器可供您的 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)首次调用其工具之一时,会自动使用配置文件中指定的 command 和 args 启动服务器。
如果您想手动测试(确保已安装依赖项并且 API 密钥可用):
python openai_image_mcp.py
AI 助手通过 generate_image 和 edit_image 工具与服务器交互。图像保存在 openai_image_mcp.py 脚本所在位置创建的 ai-images 子目录中。工具在成功时返回保存图像的绝对路径。