<p align="center">
<img src="logo.png" alt="GPT 图像 1 MCP 标志" width="200"/>
</p>
<h1 align="center">@cloudwerxlab/gpt-image-1-mcp</h1>
<p align="center">
<a href="https://www.npmjs.com/package/@cloudwerxlab/gpt-image-1-mcp"><img src="https://img.shields.io/npm/v/@cloudwerxlab/gpt-image-1-mcp.svg" alt="npm 版本"></a>
<a href="https://www.npmjs.com/package/@cloudwerxlab/gpt-image-1-mcp"><img src="https://img.shields.io/npm/dm/@cloudwerxlab/gpt-image-1-mcp.svg" alt="npm 下载量"></a>
<a href="https://github.com/CLOUDWERX-DEV/gpt-image-1-mcp/blob/main/LICENSE"><img src="https://img.shields.io/github/license/CLOUDWERX-DEV/gpt-image-1-mcp.svg" alt="许可证"></a>
<a href="https://nodejs.org/"><img src="https://img.shields.io/node/v/@cloudwerxlab/gpt-image-1-mcp.svg" alt="node 版本"></a>
<a href="https://cloudwerx.dev"><img src="https://img.shields.io/badge/网站-cloudwerx.dev-blue" alt="网站"></a>
</p>
<p align="center">
使用 OpenAI 的 <code>gpt-image-1</code> 模型生成和编辑图像的 Model Context Protocol (MCP) 服务器。
</p>
<p align="center">
<img src="https://img.shields.io/badge/OpenAI-GPT--Image--1-6E46AE" alt="OpenAI GPT-Image-1">
<img src="https://img.shields.io/badge/MCP-Compatible-00A3E0" alt="MCP 兼容">
</p>
🚀 快速开始
<div align="center">
<a href="https://www.npmjs.com/package/@cloudwerxlab/gpt-image-1-mcp"><img src="https://img.shields.io/badge/NPX-准备就绪-red.svg" alt="NPX 准备就绪"></a>
</div>
<p align="center">无需安装即可直接使用 NPX 运行此 MCP 服务器。 <a href="https://www.npmjs.com/package/@cloudwerxlab/gpt-image-1-mcp">在 npm 上查看</a>。</p>
npx -y @cloudwerxlab/gpt-image-1-mcp
<p align="center">`-y` 标志会自动回答“是”到安装过程中可能出现的所有提示。</p>
📋 先决条件
<table>
<tr>
<td width="50%" align="center">
<img src="https://img.shields.io/badge/Node.js-v14+-339933?logo=node.js&logoColor=white" alt="Node.js v14+">
<p>Node.js (v14 或更高版本)</p>
</td>
<td width="50%" align="center">
<img src="https://img.shields.io/badge/OpenAI-API_Key-412991?logo=openai&logoColor=白" alt="OpenAI API 密钥">
<p>具有访问 gpt-image-1 权限的 OpenAI API 密钥</p>
</td>
</tr>
</table>
🔑 环境变量
<table>
<tr>
<th>变量</th>
<th>必需</th>
<th>描述</th>
</tr>
<tr>
<td><code>OPENAI_API_KEY</code></td>
<td>✅ 是</td>
<td>具有访问 gpt-image-1 模型权限的 OpenAI API 密钥</td>
</tr>
<tr>
<td><code>GPT_IMAGE_OUTPUT_DIR</code></td>
<td>❌ 否</td>
<td>保存生成图像的自定义目录(默认为用户图片文件夹下的 <code>gpt-image-1</code> 子文件夹)</td>
</tr>
</table>
💻 使用 NPX 的示例
<table>
<tr>
<th>操作系统</th>
<th>命令行示例</th>
</tr>
<tr>
<td><strong>Linux/macOS</strong></td>
<td>
# 设置您的 OpenAI API 密钥
export OPENAI_API_KEY=sk-your-openai-api-key
# 可选:设置自定义输出目录
export GPT_IMAGE_OUTPUT_DIR=/home/username/Pictures/ai-generated-images
# 使用 NPX 运行服务器
npx -y @cloudwerxlab/gpt-image-1-mcp
</tr>
<tr>
<td><strong>Windows (PowerShell)</strong></td>
<td>
# 设置您的 OpenAI API 密钥
$env:OPENAI_API_KEY = "sk-your-openai-api-key"
# 可选:设置自定义输出目录
$env:GPT_IMAGE_OUTPUT_DIR = "C:\Users\username\Pictures\ai-generated-images"
# 使用 NPX 运行服务器
npx -y @cloudwerxlab/gpt-image-1-mcp
</tr>
<tr>
<td><strong>Windows (命令提示符)</strong></td>
<td>
:: 设置您的 OpenAI API 密钥
set OPENAI_API_KEY=sk-your-openai-api-key
:: 可选:设置自定义输出目录
set GPT_IMAGE_OUTPUT_DIR=C:\Users\username\Pictures\ai-generated-images
:: 使用 NPX 运行服务器
npx -y @cloudwerxlab/gpt-image-1-mcp
</tr>
</table>
🔌 与 MCP 客户端集成
<div align="center">
<img src="https://img.shields.io/badge/VS_Code-MCP_扩展-007ACC?logo=visual-studio-code&logoColor=white" alt="VS Code MCP 扩展">
<img src="https://img.shields.io/badge/Roo-Compatible-FF6B6B" alt="Roo 兼容">
<img src="https://img.shields.io/badge/Cursor-Compatible-4C2889" alt="Cursor 兼容">
<img src="https://img.shields.io/badge/Augment-Compatible-6464FF" alt="Augment 兼容">
<img src="https://img.shields.io/badge/Windsurf-Compatible-00B4D8" alt="Windsurf 兼容">
</div>
🛠️ 在 MCP 客户端中设置
<table>
<tr>
<td>
<h4>步骤 1:定位设置文件</h4>
<ul>
<li>对于 <strong>Roo</strong>: <code>c:\Users\<username>\AppData\Roaming\Code\User\globalStorage\rooveterinaryinc.roo-cline\settings\mcp_settings.json</code></li>
<li>对于 <strong>VS Code MCP 扩展</strong>: 查看扩展文档以获取设置文件位置</li>
<li>对于 <strong>Cursor</strong>: <code>~/.config/cursor/mcp_settings.json</code> (Linux/macOS) 或 <code>%APPDATA%\Cursor\mcp_settings.json</code> (Windows)</li>
<li>对于 <strong>Augment</strong>: <code>~/.config/augment/mcp_settings.json</code> (Linux/macOS) 或 <code>%APPDATA%\Augment\mcp_settings.json</code> (Windows)</li>
<li>对于 <strong>Windsurf</strong>: <code>~/.config/windsurf/mcp_settings.json</code> (Linux/macOS) 或 <code>%APPDATA%\Windsurf\mcp_settings.json</code> (Windows)</li>
</ul>
</td>
</tr>
<tr>
<td>
<h4>步骤 2:添加配置</h4>
<p>向 <code>mcpServers</code> 对象添加以下配置:</p>
</td>
</tr>
</table>
{
"mcpServers": {
"gpt-image-1": {
"command": "npx",
"args": [
"-y",
"@cloudwerxlab/gpt-image-1-mcp"
],
"env": {
"OPENAI_API_KEY": "在此粘贴您的 OPEN-AI 密钥",
"GPT_IMAGE_OUTPUT_DIR": "可选:保存生成图像的路径"
}
}
}
}
不同操作系统的示例配置
<table>
<tr>
<th>操作系统</th>
<th>示例配置</th>
</tr>
<tr>
<td><strong>Windows</strong></td>
<td>
{
"mcpServers": {
"gpt-image-1": {
"command": "npx",
"args": ["-y", "@cloudwerxlab/gpt-image-1-mcp"],
"env": {
"OPENAI_API_KEY": "sk-your-openai-api-key",
"GPT_IMAGE_OUTPUT_DIR": "C:\\Users\\username\\Pictures\\ai-generated-images"
}
}
}
}
</tr>
<tr>
<td><strong>Linux/macOS</strong></td>
<td>
{
"mcpServers": {
"gpt-image-1": {
"command": "npx",
"args": ["-y", "@cloudwerxlab/gpt-image-1-mcp"],
"env": {
"OPENAI_API_KEY": "sk-your-openai-api-key",
"GPT_IMAGE_OUTPUT_DIR": "/home/username/Pictures/ai-generated-images"
}
}
}
}
</tr>
</table>
注意:对于 Windows 路径,请使用双反斜杠 (\\) 来转义反斜杠字符。对于 Linux/macOS,请使用正斜杠 (/)。
✨ 功能
<div align="center">
<table>
<tr>
<td align="center">
<h3>🎨 核心工具</h3>
<ul>
<li><code>create_image</code>: 从文本提示生成新图像</li>
<li><code>create_image_edit</code>: 使用文本提示和掩码编辑现有图像</li>
</ul>
</td>
<td align="center">
<h3>🚀 主要优势</h3>
<ul>
<li>简单地与 MCP 客户端集成</li>
<li>完全访问 OpenAI 的 gpt-image-1 功能</li>
<li>简化了 AI 图像生成的工作流程</li>
</ul>
</td>
</tr>
</table>
</div>
💡 增强能力
<table>
<tr>
<td>
<h4>📊 输出与格式化</h4>
<ul>
<li>✅ <strong>精美格式化的输出</strong>: 响应包括表情符号和详细信息</li>
<li>✅ <strong>自动保存图像</strong>: 所有生成的图像都保存到磁盘上以便于访问</li>
<li>✅ <strong>详细的令牌使用情况</strong>: 查看每个请求的令牌消耗情况</li>
</ul>
</td>
<td>
<h4>⚙️ 配置与处理</h4>
<ul>
<li>✅ <strong>可配置的输出目录</strong>: 自定义图像保存的位置</li>
<li>✅ <strong>文件路径支持</strong>: 使用文件路径而不是 base64 编码来编辑图像</li>
<li>✅ <strong>全面的错误处理</strong>: 提供详细的错误报告,包括特定的错误代码、描述和故障排除建议</li>
</ul>
</td>
</tr>
</table>
🔄 工作原理
<div align="center">
<table>
<tr>
<th align="center">🖼️ 图像生成</th>
<th align="center">✏️ 图像编辑</th>
</tr>
<tr>
<td>
<ol>
<li>服务器接收提示和参数</li>
<li>使用 gpt-image-1 模型调用 OpenAI API</li>
<li>API 返回 base64 编码的图像</li>
<li>服务器将图像保存到配置的目录中</li>
<li>返回带有路径和元数据的格式化响应</li>
</ol>
</td>
<td>
<ol>
<li>服务器接收图像、提示和可选的掩码</li>
<li>对于文件路径,读取并准备文件以供 API 使用</li>
<li>使用直接的 curl 命令进行正确的 MIME 处理</li>
<li>API 返回 base64 编码的编辑后的图像</li>
<li>服务器将图像保存到配置的目录中</li>
<li>返回带有路径和元数据的格式化响应</li>
</ol>
</td>
</tr>
</table>
</div>
📁 输出目录行为
<table>
<tr>
<td width="50%">
<h4>📂 存储位置</h4>
<ul>
<li>🔹 <strong>默认位置</strong>: 用户图片文件夹下的 <code>gpt-image-1</code> 子文件夹(例如,Windows 上的 <code>C:\Users\username\Pictures\gpt-image-1</code>)</li>
<li>🔹 <strong>自定义位置</strong>: 通过 <code>GPT_IMAGE_OUTPUT_DIR</code> 环境变量设置</li>
<li>🔹 <strong>备用位置</strong>: <code>./generated-images</code>(如果无法确定图片文件夹)</li>
</ul>
</td>
<td width="50%">
<h4>🗂️ 文件管理</h4>
<ul>
<li>🔹 <strong>目录创建</strong>: 如果不存在,则自动创建输出目录</li>
<li>🔹 <strong>文件命名</strong>: 图像保存时带有时间戳的文件名(例如,<code>image-2023-05-05T12-34-56-789Z.png</code>)</li>
<li>🔹 <strong>跨平台</strong>: 在 Windows、macOS 和 Linux 上工作,并适当检测图片文件夹</li>
</ul>
</td>
</tr>
</table>
安装与使用
NPM 包
此包可在 npm 上获得:@cloudwerxlab/gpt-image-1-mcp
您可以全局安装它:
npm install -g @cloudwerxlab/gpt-image-1-mcp
或者按照快速开始部分所示直接使用 npx 运行它。
工具:create_image
基于文本提示生成新的图像。
参数
| 参数 | 类型 | 必需 | 描述 |
|---|
prompt | string | 是 | 要生成的图像的文字描述(最大 32,000 字符) |
size | string | 否 | 图像大小:"1024x1024"(默认),"1536x1024" 或 "1024x1536" |
quality | string | 否 | 图像质量:"high"(默认),"medium" 或 "low" |
n | integer | 否 | 要生成的图像数量(1-10,默认:1) |
background | string | 否 | 背景样式:"transparent","opaque" 或 "auto"(默认) |
output_format | string | 否 | 输出格式:"png"(默认),"jpeg" 或 "webp" |
output_compression | integer | 否 | 压缩级别(0-100,默认:0) |
user | string | 否 | 用于 OpenAI 使用跟踪的用户标识符 |
moderation | string | 否 | 审核级别:"low" 或 "auto"(默认) |
示例
<use_mcp_tool>
<server_name>gpt-image-1</server_name>
<tool_name>create_image</tool_name>
<arguments>
{
"prompt": "日落时分的未来城市天际线,数字艺术",
"size": "1024x1024",
"quality": "high",
"n": 1,
"background": "auto"
}
</arguments>
</use_mcp_tool>
响应
该工具返回:
- 关于生成的图像的详细格式化文本消息
- 作为 base64 编码数据的图像
- 包括令牌使用情况和文件路径的元数据
工具:create_image_edit
基于文本提示和可选掩码编辑现有的图像。
参数
| 参数 | 类型 | 必需 | 描述 |
|---|
image | string, object, or array | 是 | 要编辑的图像(base64 字符串或文件路径对象) |
prompt | string | 是 | 所需编辑的文字描述(最大 32,000 |