mcpField
M
MCP OpenAI Image Generation Server

MCP OpenAI Image Generation Server

本地服务
github.com/spartanz51AI 与智能体3778 周前更新

关于 MCP OpenAI Image Generation Server

MCP OpenAI Image Generation Server 是对 OpenAI 图像生成与编辑 API 的 MCP 封装,支持文生图和带蒙版的图生图。适合希望在 Cursor 等客户端中直接调用 OpenAI 图像模型的用户。

主要功能

  1. 01文生图(text-to-image)工具
  2. 02图生图编辑(image-to-image)工具,支持蒙版
  3. 03支持 DALL-E 2、DALL-E 3 和 gpt-image-1
  4. 04通过 --models 参数限制可用模型
  5. 05结果保存为临时文件并返回路径和 base64 数据

适用场景

  1. 01在 Cursor 编辑器中直接生成配图
  2. 02对本地图片进行局部修改
  3. 03按需限制团队可用的 OpenAI 图像模型

MCP 相关

该项目是一个 MCP 服务,向 MCP 客户端暴露 text-to-image 和 image-to-image 两个工具,用于调用 OpenAI 图像生成与编辑功能。

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

暂未收录安装方式

我们还没有获取到这个服务的安装包或远程地址,请按项目 README 中的说明安装。

代码仓库

工具

还没有获取到工具列表

本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。

详细介绍

MCP OpenAI Image Generation Server

npm version

本项目提供基于 Model Context Protocol (MCP) 的服务实现,用于封装 OpenAI 的图像生成和编辑 API(请参阅 OpenAI 文档)。

功能

  • 通过 MCP 工具提供 OpenAI 图像生成能力。
  • 支持使用 DALL-E 2、DALL-E 3 和 gpt-image-1 等模型进行 text-to-image 生成(如果可用或已启用)。
  • 支持使用 DALL-E 2 和 gpt-image-1 进行 image-to-image 编辑(如果可用或已启用)。
  • 可通过环境变量和命令行参数进行配置。
  • 支持尺寸、质量、风格、格式等多种参数。
  • 将生成或编辑后的图像保存到临时文件,并返回文件路径和 base64 数据。

以下示例展示了如何在 Cursor 中直接使用通过 MCP 集成的 text-to-image 工具生成图像:

在 Cursor 中的使用示例

使用 npx 快速运行

你可以使用 npx 直接从 npm 运行服务(需要 Node.js 和 npm):

npx imagegen-mcp [options]

有关选项和本地运行的更多详情,请参阅运行服务部分。

前提条件

  • Node.js(建议使用 v18 或更高版本)
  • npm 或 yarn
  • OpenAI API 密钥

与 Cursor 集成

你可以轻松地将此服务与 Cursor 集成,以便直接在编辑器中使用图像生成功能:

  1. 打开 Cursor 设置:

    • 前往 File > Preferences > Cursor Settings(或使用快捷键 Ctrl+, / Cmd+,)。
  2. 前往 MCP 设置:

    • 在设置搜索栏中搜索“MCP”。
    • 找到“Model Context Protocol: Custom Servers”设置。
  3. 添加自定义服务:

    • 点击“Edit in settings.json”。
    • 在 mcpServers 数组中添加一项。内容大致如下:
    "mcpServers": [
        "image-generator-gpt-image": {
            "command": "npx imagegen-mcp --models gpt-image-1",
            "env": {
                "OPENAI_API_KEY": "xxx"
            }
        }
      // ... any other custom servers ...
    ]
    
    • 自定义命令:
      • 你可以在 command 字段中更改 --models 参数,指定要让 Cursor 使用的模型(例如 --models dall-e-3 或 --models gpt-image-1)。请确保你的 OpenAI API 密钥有权访问所选模型。
  4. 保存设置:

    • 保存 settings.json 文件。

Cursor 现在应该可以识别“OpenAI Image Gen”服务,其工具(text-to-image、image-to-image)将在 MCP 工具选择列表中提供(例如,在聊天中使用 @ 提及或通过代码操作)。

设置

  1. 克隆仓库:

    git clone <your-repository-url>
    cd <repository-directory>
    
  2. 安装依赖:

    npm install
    # or
    yarn install
    
  3. 配置环境变量: 通过复制示例文件,在项目根目录中创建 .env 文件:

    cp .env.example .env
    

    编辑 .env 文件并添加你的 OpenAI API 密钥:

    OPENAI_API_KEY=your_openai_api_key_here
    

构建

将 TypeScript 代码构建为 JavaScript:

npm run build
# or
yarn build

这会将代码编译到 dist 目录中。

运行服务

本节介绍克隆并完成设置后如何在本地运行服务。如需在不克隆的情况下快速启动,请参阅使用 npx 快速运行部分。

使用 ts-node(用于开发):

npx ts-node src/index.ts [options]

使用编译后的代码:

node dist/index.js [options]

选项:

  • --models <model1> <model2> ...:指定服务应允许使用的 OpenAI 模型。如果未提供,默认允许使用 src/libs/openaiImageClient.ts 中定义的所有模型(当前为 gpt-image-1、dall-e-2、dall-e-3)。
    • 使用 npx 的示例(本地运行也适用):... --models gpt-image-1 dall-e-3
    • 克隆后的示例:node dist/index.js --models dall-e-3 dall-e-2

服务将启动并通过标准输入/输出(使用 StdioServerTransport)侦听 MCP 请求。

MCP 工具

该服务提供以下 MCP 工具:

text-to-image

根据文本提示词生成图像。

参数:

  • text(字符串,必填):用于生成图像的提示词。
  • model(枚举,可选):要使用的模型(例如,gpt-image-1、dall-e-2、dall-e-3)。默认为第一个允许使用的模型。
  • size(枚举,可选):生成图像的尺寸(例如,1024x1024、1792x1024)。默认为 1024x1024。请查阅 OpenAI 文档,了解特定模型支持的尺寸。
  • style(枚举,可选):图像风格(vivid 或 natural)。仅适用于 dall-e-3。默认为 vivid。
  • output_format(枚举,可选):格式(png、jpeg、webp)。默认为 png。
  • output_compression(数字,可选):压缩级别(0-100)。默认为 100。
  • moderation(枚举,可选):内容审核级别(low、auto)。默认为 low。
  • background(枚举,可选):背景(transparent、opaque、auto)。默认为 auto。transparent 要求 output_format 为 png 或 webp。
  • quality(枚举,可选):质量(standard、hd、auto 等)。默认为 auto。hd 仅适用于 dall-e-3。
  • n(数字,可选):要生成的图像数量。默认为 1。注意:dall-e-3 仅支持 n=1。

返回值:

  • content:包含以下内容的数组:
    • 一个 text 对象,其中包含已保存的临时图像文件路径(例如,/tmp/uuid.png)。
image-to-image

根据文本提示词和可选蒙版编辑现有图像。

参数:

  • images(字符串,必填):本地图像的文件路径数组。
  • prompt(字符串,必填):对所需编辑内容的文本描述。
  • mask(字符串,可选):蒙版图像(PNG)的文件路径。透明区域表示应编辑图像的位置。
  • model(枚举,可选):要使用的模型。编辑仅支持 gpt-image-1 和 dall-e-2。默认为第一个允许使用的模型。
  • size(枚举,可选):生成图像的尺寸(例如,1024x1024)。默认为 1024x1024。dall-e-2 仅支持 256x256、512x512、1024x1024。
  • output_format(枚举,可选):格式(png、jpeg、webp)。默认为 png。
  • output_compression(数字,可选):压缩级别(0-100)。默认为 100。
  • quality(枚举,可选):质量(standard、hd、auto 等)。默认为 auto。
  • n(数字,可选):要生成的图像数量。默认为 1。

返回值:

  • content:包含以下内容的数组:
    • 一个 text 对象,其中包含已保存的临时图像文件路径(例如,/tmp/uuid.png)。

开发

  • Lint 检查: npm run lint 或 yarn lint
  • 格式化: npm run format 或 yarn format(如果在 package.json 中配置)

贡献

欢迎提交拉取请求(PR)!欢迎提交改进或错误修复。

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。