图像生成服务

一个基于Google Gemini 2.5 Flash Image Preview模型的图像生成服务,提供文本到图像和图像到图像的转换功能,并包含资源管理和自动清理功能。

  • by Earlybird-Technology
  • JavaScript
  • 本地部署
  • 更新于
在 GitHub 查看 Earlybird-Technology/mcp-gemini-image

使用说明

mcp-gemini-image 翻译为中文是“MCP-双子座图像”或“MCP-双星图像”(具体翻译可能根据上下文有所调整,“gemini”在这里可能指的是双子座或双星的概念)

一个MCP(模型上下文协议)服务器,利用谷歌的Gemini 2.5 Flash图像预览模型提供图像生成功能。

特点/特性

  • 文本到图像生成根据文本提示生成图像
  • 图像到图像的生成使用文本指导转换现有图像
  • 资源管理通过MCP资源访问生成的图像
  • 自动清理启动时自动删除8小时前的图片
  • 安全内置速率限制、输入验证和文件大小限制

安装

先决条件

您需要一个Google Gemini API密钥。请从以下链接获取: Google AI Studio(谷歌人工智能工作室)。

选项1:使用Claude代码进行安装(推荐)

  1. 克隆或下载此仓库到您的本地机器

  2. 使用 Claude CLI 添加 MCP 服务器:

macOS/Linux:

claude mcp add mcp-gemini-image --env GEMINI_API_KEY=your-api-key-here \
  -- node /absolute/path/to/mcp-gemini-image/index.js

Windows:

claude mcp add mcp-gemini-image --env GEMINI_API_KEY=your-api-key-here -- cmd /c node C:\absolute\path\to\mcp-gemini-image\index.js
  1. 重启Claude代码以加载服务器

注: 这个(或“它”) -- 需要使用分隔符来区分 Claude CLI 标志和服务器命令。

选项2:手动配置

将此配置添加到您的Claude桌面配置文件中:

MacOS(Macintosh Operating System,苹果电脑操作系统): ~/Library/Application Support/Claude/claude_desktop_config.json Windows: %APPDATA%\Claude\claude_desktop_config.json

{
  "mcpServers": {
    "mcp-gemini-image": {
      "command": "node",
      "args": ["/absolute/path/to/mcp-gemini-image/index.js"],
      "env": {
        "GEMINI_API_KEY": "your-api-key-here"
      }
    }
  }
}

选项3:使用Gemini代码辅助进行安装

  1. 克隆或下载此存储库到您的本地机器

  2. 打开你的Gemini设置文件:

    • VS Code(Visual Studio Code): ~/.gemini/settings.json
    • **IntelliJ(通常指IntelliJ IDEA,一款由JetBrains公司开发的Java集成开发环境)**创建 mcp.json 在你的IDE配置目录中
  3. 添加服务器配置:

{
  "mcpServers": {
    "mcp-gemini-image": {
      "command": "node",
      "args": ["/absolute/path/to/mcp-gemini-image/index.js"],
      "env": {
        "GEMINI_API_KEY": "your-api-key-here"
      }
    }
  }
}
  1. 重启您的集成开发环境(IDE)以加载MCP服务器

选项4:使用OpenAI Codex进行安装

  1. 将此仓库克隆或下载到您的本地机器

  2. 打开你的Codex配置文件: ~/.codex/config.toml

  3. 添加服务器配置:

[mcp_servers.mcp-gemini-image]
command = "node"
args = ["/absolute/path/to/mcp-gemini-image/index.js"]
env = { "GEMINI_API_KEY" = "your-api-key-here" }
  1. 重启Codex以加载MCP服务器

选项5:从NPM安装(如果已发布)

npm install -g mcp-gemini-image

然后在您的MCP客户端中进行配置:

{
  "mcpServers": {
    "mcp-gemini-image": {
      "command": "mcp-gemini-image",
      "env": {
        "GEMINI_API_KEY": "your-api-key-here"
      }
    }
  }
}

用法

配置完成后,服务器提供两个工具:

generate_image

根据文本提示生成图像。

参数:

  • prompt (字符串,必填):要生成的图像的文本描述
  • input_image (字符串,可选):用于图像到图像生成的Base64编码输入图像
  • input_image_mime_type (字符串,可选):输入图像的MIME类型(默认:“image/png”)

示例:

{
  "prompt": "A serene mountain landscape at sunset",
  "input_image": "base64encodeddata...",
  "input_image_mime_type": "image/jpeg"
}

cleanup_images

根据年龄删除生成的图像。

参数:

  • max_age_hours (数字,可选):仅删除超过此小时数的镜像。如果未指定,则删除所有镜像。

示例:

{
  "max_age_hours": 24
}

资源

生成的图像以MCP资源的形式暴露出来,其URI格式为:

gemini-image:///<filename>

这些资源可以被MCP客户端读取,以访问生成的图像。

安全特性

  • 速率限制每分钟10个请求
  • 输入验证验证提示和Base64数据
  • 文件大小限制:
    • 生成的图像:最大10MB
    • 输入图像:最大20MB(base64编码)
    • 提示:最多10,000个字符
  • 路径遍历保护验证所有文件路径
  • 扩展白名单仅允许png、jpeg、jpg、webp、gif格式
  • 自动清理启动时删除8小时以上的旧图像

发展

直接运行服务器:

npm start

该服务器使用stdio传输方式,并设计为由MCP客户端调用。

文件结构

.
├── index.js           # Main server implementation
├── package.json       # NPM configuration
├── .gitignore        # Excludes generated_images/
├── CLAUDE.md         # Claude Code guidance
└── generated_images/ # Auto-generated images (created automatically)

故障排除

“GEMINI_API_KEY环境变量是必需的”

确保你已经设置了 GEMINI_API_KEY 在您的MCP客户端配置中设置环境变量。

“请求速率超出限制”

服务器限制每分钟请求次数为10次。请稍后再试。

“无效或不支持的图像类型”

仅支持png、jpeg、jpg、webp和gif格式。

许可证

麻省理工学院(MIT)