图像生成服务

一个基于Google Gemini Nano Banana模型的图像生成服务,支持多种宽高比、异步任务跟踪和文件系统集成,适用于AI助手和开发者。

  • by dennisonbertram
  • TypeScript
  • 本地部署
  • 更新于
在 GitHub 查看 dennisonbertram/mcp-nano-banana

使用说明

MCP纳米香蕉

用于Google Gemini Nano Banana图像生成的模型上下文协议(MCP)服务器

一个生产就绪的MCP服务器,使克劳德等人工智能助手能够使用谷歌的Gemini 2.5 Flash Image模型(Nano Banana)生成图像。具有异步作业跟踪、多纵横比和文件系统集成功能。

特性

  • 🎨 图像生成:使用Gemini 2.5 Flash Image模型创建图像
  • ⏱️ 异步作业跟踪:使用唯一的作业ID监视生成进度
  • 📐 多宽高比:支持1:1、3:4、4:3、9:16和16:9
  • 💾 文件系统集成:通过自动PNG转换将图像保存在任何地方
  • 🔌 STDIO传输:用于安全、私密操作的本地MCP服务器
  • ✅ 生产就绪:经过全面测试,具有全面的错误处理能力

快速开始

安装

npm install -g mcp-nano-banana

或者与Bun:

bun install -g mcp-nano-banana

设置

  1. 从获取API密钥 谷歌人工智能工作室

  2. 设置环境变量:

export GEMINI_API_KEY=your-api-key-here

或者创建一个 .env 文件:

echo "GEMINI_API_KEY=your-api-key-here" > .env

使用Claude Desktop

添加到您的Claude Desktop配置中:

macOS: ~/Library/Application Support/Claude/claude_desktop_config.json

视窗: %APPDATA%\Claude\claude_desktop_config.json

{
  "mcpServers": {
    "nano-banana": {
      "command": "mcp-nano-banana",
      "env": {
        "GEMINI_API_KEY": "your-api-key-here"
      }
    }
  }
}

重新启动Claude Desktop,服务器将可用。

可用工具

generate_image

从文本提示生成图像。

参数:

  • prompt (string,必填):要生成的图像的描述
  • aspectRatio (字符串,可选):“1:1”、“3:4”、“4:3”、”9:16“、”16:9“中的一个(默认:”1:1“)

退货: 用于跟踪生成进度的作业ID

check_job_status

检查图像生成作业的状态。

参数:

  • jobId (字符串,必填):作业ID来自 generate_image

退货: 状态信息(待定/处理中/已完成/失败)

save_image

将完成的图像保存到文件系统。

参数:

  • jobId (string,必填):已完成生成的作业ID
  • filePath (字符串,必填):保存的绝对路径(必须以.png结尾)

退货: 成功确认和文件路径

list_jobs

列出所有图像生成作业及其状态。

退货: 包含状态信息的所有作业的数组

工作流示例

User: Generate an image of a sunset over mountains

Claude: I'll generate that for you...
[Uses generate_image tool]
Job started: job_1234567890_abc123

[Waits and checks status]
Image complete! Where would you like me to save it?

User: Save it to ~/Pictures/sunset.png

Claude: [Uses save_image tool]
Saved to /Users/you/Pictures/sunset.png ✓

发展

从源头运行

git clone https://github.com/dennisonbertram/mcp-nano-banana.git
cd mcp-nano-banana
bun install
bun run dev

测试

bun test

建筑

bun build index.ts --target=bun --outdir=./dist

技术细节

  • 协议:模型上下文协议(MCP)2024-11-05
  • 运输:STDIO用于本地安全通信
  • 图像模型:双生2.5倍激光图像
  • 输出格式:PNG(base64解码)
  • 生成时间:平均约8秒
  • 图像尺寸:1024x1024像素(1:1宽高比)

安全

⚠️ 永远不要将API密钥提交到版本控制

最佳实践:

  • 为API键使用环境变量
  • 将密钥存储在安全的配置管理中
  • 定期旋转按键
  • 使用 .env 文件(已在 .gitignore)

故障排除

服务器未出现在Claude Desktop中

  1. 验证配置文件路径是否正确
  2. 确保 mcp-nano-banana 在你的路径中
  3. 检查一下 GEMINI_API_KEY 已设置
  4. 完全重新启动克劳德桌面

图像生成失败

  1. 验证API密钥在 谷歌人工智能工作室
  2. 检查Gemini API配额和限制
  3. 通过查看错误消息 check_job_status
  4. 确保互联网连接

无法保存图像

  1. 验证文件路径是绝对的(不是相对的)
  2. 确保目标目录的写入权限
  3. 文件路径必须以结尾 .png
  4. 父目录必须存在或可创建

需求

  • Node.js≥20.0.0或Bun≥1.1.0
  • Google Gemini API密钥
  • 用于图像生成的互联网连接

贡献

欢迎投稿!拜托:

  1. 分叉存储库
  2. 创建要素分支
  3. 通过测试进行更改
  4. 提交拉取请求

许可证

麻省理工学院许可证-版权所有(c)2025 Dennison Bertram

看 许可证 文件以获取详细信息。

作者

Dennison Bertram

链接


由...制作❤️ 面向MCP和AI社区