AI图像生成服务

一个提供多供应商AI图像生成能力的标准化协议服务器,支持多种格式和尺寸的图像生成。

  • by bannsec
  • TypeScript
  • 本地部署
  • 1 星标
  • 更新于
在 GitHub 查看 bannsec/mcp-imager

使用说明

mcp成像仪

一种模型上下文协议(MCP)服务器,使用多个提供者提供AI图像生成功能。该服务器使像克劳德这样的人工智能助手能够通过标准化的界面生成图像。

特性

  • 多个供应商:支持OpenAI GPT映像和Google Imagen 4映像生成
  • 统一接口:抽象提供者差异的单个API
  • 灵活配置:通过环境变量轻松选择提供商
  • 多种输出格式:PNG、JPEG和WebP支持
  • 可配置尺寸:小(1024x1024)、中(1024x1022)和大(1536x1024)选项
  • 批量生成:在单个请求中生成多达10张图像
  • 错误处理:针对瞬态故障的全面错误处理和重试逻辑

安装

先决条件

  • Node.js 18.0.0或更高版本
  • npm或其他包管理器

通过npx安装(推荐)

无需安装-直接运行即可:

npx mcp-imager

从源代码安装

# Clone the repository
git clone https://github.com/bannsec/mcp-imager.git
cd mcp-imager

# Install dependencies
npm install

# Build the project
npm run build

配置

环境变量

创建一个 .env 直接文件或设置环境变量:

变量 描述 必填
OPENAI_API_KEY GPT图像模型的OpenAI API密钥 至少需要一个提供程序密钥
GOOGLE_API_KEY Imagen模型的Google AI API密钥 至少需要一个提供商密钥
GEMINI_API_KEY 替代方案 GOOGLE_API_KEY 至少需要一个提供者密钥
DEFAULT_PROVIDER 默认提供程序(google 或 openai) 否(默认为 google)

获取API密钥

示例.env文件

# Copy from .env.example and fill in your keys
OPENAI_API_KEY=sk-your-openai-api-key-here
GOOGLE_API_KEY=your-google-api-key-here
DEFAULT_PROVIDER=openai

Claude代码配置

要使用Claude Code,请使用以下方法之一添加MCP服务器:

选项1:Claude CLI(推荐)

# Add with environment variables (user scope - available across all projects)
claude mcp add --transport stdio --scope user \
  --env OPENAI_API_KEY=sk-your-openai-api-key \
  --env GOOGLE_API_KEY=your-google-api-key \
  mcp-imager -- npx -y mcp-imager

# Or for project-local scope (default)
claude mcp add --transport stdio \
  --env OPENAI_API_KEY=sk-your-openai-api-key \
  --env GOOGLE_API_KEY=your-google-api-key \
  mcp-imager -- npx -y mcp-imager

您可以使用以下命令管理服务器:

# List all configured MCP servers
claude mcp list

# Get details for the mcp-imager server
claude mcp get mcp-imager

# Remove the server
claude mcp remove mcp-imager

选项2:全局配置(~/.claude/claude_code_config.json)

{
  "mcpServers": {
    "mcp-imager": {
      "command": "npx",
      "args": ["-y", "mcp-imager"],
      "env": {
        "OPENAI_API_KEY": "sk-your-openai-api-key",
        "GOOGLE_API_KEY": "your-google-api-key",
        "DEFAULT_PROVIDER": "openai"
      }
    }
  }
}

选项3:项目配置(项目根目录中的.mcp.json)

{
  "mcpServers": {
    "mcp-imager": {
      "command": "npx",
      "args": ["-y", "mcp-imager"],
      "env": {
        "OPENAI_API_KEY": "${OPENAI_API_KEY}",
        "GOOGLE_API_KEY": "${GOOGLE_API_KEY}"
      }
    }
  }
}

其他MCP客户端

服务器使用STDIO传输,并与任何MCP客户端兼容。从以下内容开始:

node dist/index.js

或者使用开发模式:

npm run dev

可用工具

1. generate_image

使用AI提供商生成图像。

参数:

参数 类型 必填 说明
prompt string 是 要生成的图像的文本描述
provider "google" "openai" 无
size "small" "medium" "large"
numberOfImages number(1-10) 否 要生成的图像数量(默认值:1)
format "png" "jpeg" "webp"
aspectRatio "1:1" "16:9" "9:16"

尺寸:

  • small:1024x1024像素
  • medium:1024x1024像素
  • large:1536x1024像素

示例用法(在Claude Code或MCP客户端中):

Generate an image of a sunset over mountains
Generate 3 large JPEG images of a futuristic city using OpenAI

2. list_providers

列出所有可用的映像生成提供程序及其配置状态。

参数:

参数 类型 必填 说明
detailed boolean 否 返回详细的提供者信息(默认值:false)

输出示例:

- Google Imagen 4 (google): Ready
- OpenAI GPT Image (openai): Ready

Default provider: google

3. get_provider_info

获取有关特定图像生成提供程序的详细信息。

参数:

参数 类型 必填 说明
provider "google" "openai" 是

输出示例:

{
  "id": "openai",
  "name": "OpenAI GPT Image",
  "model": "gpt-image-1",
  "description": "Generate images using OpenAI's gpt-image-1 model with high quality and creative capabilities",
  "supportedSizes": ["small", "medium", "large"],
  "supportedFormats": ["png", "jpeg", "webp"],
  "maxPromptLength": 32000
}

4. ping

用于验证MCP服务器是否正在运行和响应的测试工具。

输出示例:

mcp-imager v1.0.0 is running

支持的提供商

OpenAI GPT映像

  • 模型: gpt-image-1
  • 最大提示长度:32000个字符
  • 支持的格式:PNG、JPEG、WebP
  • 特性:高质量、有创意的图像生成,并提供修订后的即时支持

谷歌图像4

  • 模型: imagen-4.0-generate-001
  • 最大提示长度:480个字符
  • 支持的格式:PNG、JPEG、WebP
  • 特性:高质量图像生成,支持宽高比

错误处理

服务器处理各种错误情况:

  • 速率限制:使用指数回退自动重试
  • 网络错误:可通过可配置的超时重试
  • 违反内容策略:清除被阻止内容的错误消息
  • 身份验证错误:有关无效API密钥的帮助消息
  • 无效提示:验证空白或过长的提示

发展

运行测试

# Run all tests
npm test

# Run tests in watch mode
npm run test:watch

项目结构

mcp-imager/
├── src/
│   ├── index.ts          # Main MCP server entry point
│   ├── config/           # Configuration management
│   ├── providers/        # Provider implementations
│   │   ├── openai.ts     # OpenAI provider client
│   │   ├── google.ts     # Google Imagen provider client
│   │   └── index.ts      # Provider factory
│   ├── handlers/         # Tool handlers
│   ├── errors/           # Error types and handling
│   └── types/            # TypeScript type definitions
├── dist/                 # Compiled JavaScript (after build)
├── package.json
├── tsconfig.json
└── README.md

建筑物

npm run build

许可证

麻省理工学院

贡献

欢迎投稿!请随时提交Pull Request github/bannsec/mcp-imager.