项目简介
这是一个基于 Model Context Protocol (MCP) 标准实现的服务器应用。它作为一个代理,将 OpenAI 的图像生成和编辑 API 能力通过 MCP 工具的形式暴露给兼容 MCP 的客户端(如 Cursor 编辑器)。通过连接到这个服务器,用户可以在其 MCP 客户端中直接使用 OpenAI 进行图像创作和编辑。
主要功能点
- 图像生成: 提供一个 MCP 工具 ('text-to-image'),允许用户通过文本描述生成新的图像。支持多种 OpenAI 模型(如 DALL-E 2, DALL-E 3)。
- 图像编辑: 提供一个 MCP 工具 ('image-to-image'),允许用户上传图片并根据文本提示进行编辑。支持 DALL-E 2 和 gpt-image-1 模型。
- 模型选择: 支持通过启动参数配置服务器允许使用的 OpenAI 模型。
- 参数控制: 支持控制生成的图片尺寸、风格、质量、数量等参数。
- 文件输出: 生成或编辑后的图片会保存到本地临时文件,并将文件路径返回给客户端。
安装步骤
- 环境准备: 确保已安装 Node.js (推荐 v18 或更高版本) 和 npm 或 yarn。
- 获取代码:
git clone https://github.com/spartanz51/imagegen-mcp.git cd imagegen-mcp - 安装依赖:
npm install # 或 yarn install - 配置 API Key: 复制 '.env.example' 文件为 '.env',并在 '.env' 文件中填入您的 OpenAI API Key。
编辑 '.env' 文件,添加或修改:cp .env.example .envOPENAI_API_KEY=你的_openai_api_key - 构建项目: 将 TypeScript 代码编译为 JavaScript。
npm run build # 或 yarn build
或者,您也可以使用 'npx' 直接运行,无需本地克隆和安装依赖 (但仍需要设置 'OPENAI_API_KEY' 环境变量)。
服务器配置 (适用于MCP客户端)
MCP 服务器通常由兼容的客户端应用程序(如 Cursor)启动和管理。您需要在客户端的设置中添加自定义 MCP 服务器配置。配置信息通常包含服务器的名称、启动命令和环境变量。
以下是您可能需要在客户端设置中配置的信息示例说明(具体配置方式请参考您的 MCP 客户端文档,通常是在一个 JSON 格式的配置文件中):
- 服务器 ID: 为您的服务器指定一个唯一的标识符,例如 '"openai-image-gen"'。
- 服务器名称 (可选): 一个在客户端界面中显示的友好名称,例如 '"OpenAI Image Gen"'。
- 启动命令 ('command'): 指定启动此 MCP 服务器的命令。
- 如果您使用了 'npx' 方式:'npx imagegen-mcp'
- 如果您在本地克隆并构建了代码:'node /path/to/your/cloned/repo/dist/index.js' (请将 '/path/to/your/cloned/repo' 替换为实际路径)
- 启动参数 ('args', 可选): 指定传递给启动命令的参数。您可以使用 '--models <model1> <model2> ...' 参数来指定服务器允许使用的模型列表(例如:'--models dall-e-3 gpt-image-1')。
- 环境变量 ('env'): 设置服务器运行所需的环境变量。
- 必须设置 'OPENAI_API_KEY': 在 'env' 对象中添加 '"OPENAI_API_KEY": "你的_openai_api_key"'。
配置示例(JSON结构说明,请勿直接复制此块内容):
{ "mcpServers": { "your-server-id": { // 您的服务器唯一ID "name": "Your Server Name", // 友好名称 "command": "your-server-start-command", // 启动命令 "args": ["optional-arg1", "optional-arg2"], // 可选启动参数数组 "env": { "OPENAI_API_KEY": "your-api-key" // 必须设置 // ... 其他环境变量 } } // ... 其他服务器配置 } }
完成配置后,重启您的 MCP 客户端以加载新的服务器。
基本使用方法
在 MCP 客户端中配置并成功连接到服务器后,您就可以像使用其他内置 MCP 功能一样使用此服务器提供的工具了。
- 访问工具: 在支持 MCP 工具调用的地方(如聊天界面、命令面板、代码操作等),查找并选择 "OpenAI Image Gen" 服务器及其提供的工具('text-to-image' 或 'image-to-image')。
- 提供参数: 根据所选工具('text-to-image' 或 'image-to-image')的要求,提供必要的参数,例如文本提示 ('text' / 'prompt')、图片路径 ('images')、遮罩路径 ('mask') 等。工具参数的详细说明可以在客户端的工具参数提示中看到,或参考项目 README。
- 执行工具: 客户端将根据您提供的参数向服务器发送请求。
- 获取结果: 服务器调用 OpenAI API 处理请求,并将生成的图片保存到临时文件,然后将文件路径返回给客户端。客户端会接收到这个文件路径,通常会在界面中显示生成的图片。
信息
分类
AI与计算