AI图像生成编辑服务器

一个基于Google Gemini 3 Pro Image API的AI图像生成和编辑服务器,支持通过文本提示生成、编辑和迭代优化图像。

  • by agniiva
  • JavaScript
  • 本地部署
  • 1 星标
  • 更新于
在 GitHub 查看 agniiva/nano-banana-mcp

使用说明

Nano Banana MCP服务器🍌

🤖 该项目完全由 克劳德代码 -一个AI编码助手,可以从头开始创建完整的、可投入生产的应用程序。

一个模型上下文协议(MCP)服务器,使用谷歌的 Gemini 3 Pro图像API。生成令人惊叹的图像,编辑现有图像,并使用简单的文本提示迭代您的创作。

🚀 Claude代码的一行安装

npx nano-banana-pro-mcp install --key YOUR_GEMINI_API_KEY

就是这样!重新启动Claude Code并开始生成图像。

卸载: npx nano-banana-pro-mcp uninstall

✨ 特性

  • 🎨 生成图像:根据文本描述创建新图像
  • ✏️ 编辑图像:使用文本提示修改现有图像
  • 🔄 迭代编辑:继续编辑上次生成/编辑的图像
  • 🖼️ 多个参考图像:使用参考图像进行风格转换和指导
  • 🌍 交叉平台的:Windows、macOS和Linux的智能文件路径
  • 🔧 轻松设置:使用API密钥进行简单配置
  • 📁 自动文件管理:使用有组织的命名自动保存图像

🔑 设置

  1. 获取Gemini API密钥:

  2. 配置MCP服务器: 请参阅下面特定客户端的配置示例(Claude Code、Cursor或其他MCP客户端)。

💻 使用Claude代码

配置:

将此添加到您的Claude Code MCP设置中:

选项A:带环境变量(推荐-最安全)

{
  "mcpServers": {
    "nano-banana-pro": {
      "command": "npx",
      "args": ["-y", "nano-banana-pro-mcp"],
      "env": {
        "GEMINI_API_KEY": "your-gemini-api-key-here"
      }
    }
  }
}

选项B:无环境变量

{
  "mcpServers": {
    "nano-banana-pro": {
      "command": "npx",
      "args": ["-y", "nano-banana-pro-mcp"]
    }
  }
}

使用示例:

Generate an image of a sunset over mountains
Edit this image to add some birds in the sky
Continue editing to make it more dramatic

🎯 使用游标

配置:

添加到光标MCP配置中:

选项A:带环境变量(推荐)

{
  "nano-banana-pro": {
    "command": "npx",
    "args": ["-y", "nano-banana-pro-mcp"],
    "env": {
      "GEMINI_API_KEY": "your-gemini-api-key-here"
    }
  }
}

选项B:无环境变量

{
  "nano-banana-pro": {
    "command": "npx",
    "args": ["-y", "nano-banana-pro-mcp"]
  }
}

使用示例:

  • 让Cursor为您的应用程序生成图像
  • 创建模型和原型
  • 为您的项目生成资产

🔧 对于其他MCP客户端

如果您使用的是其他MCP客户端,则可以使用以下任何方法配置nano-banna pro MCP:

配置方法

方法A:MCP配置中的环境变量(推荐)

{
  "nano-banana-pro": {
    "command": "npx",
    "args": ["-y", "nano-banana-pro-mcp"],
    "env": {
      "GEMINI_API_KEY": "your-gemini-api-key-here"
    }
  }
}

方法B:系统环境变量

export GEMINI_API_KEY="your-gemini-api-key-here"
npx nano-banana-pro-mcp

方法C:使用配置工具

npx nano-banana-pro-mcp
# The server will prompt you to configure when first used
# This creates a local .nano-banana-config.json file

🛠️ 可用命令

generate_image

根据文本提示创建新图像。

generate_image({
  prompt: "A futuristic city at night with neon lights"
})

edit_image

编辑特定的图像文件。

edit_image({
  imagePath: "/path/to/image.png",
  prompt: "Add a rainbow in the sky",
  referenceImages?: ["/path/to/reference.jpg"] // optional
})

continue_editing

继续编辑上次生成/编辑的图像。

continue_editing({
  prompt: "Make it more colorful",
  referenceImages?: ["/path/to/style.jpg"] // optional
})

get_last_image_info

获取有关上次生成的图像的信息。

get_last_image_info()

configure_gemini_token

配置Gemini API密钥。

configure_gemini_token({
  apiKey: "your-gemini-api-key"
})

get_configuration_status

检查API密钥是否已配置。

get_configuration_status()

⚙️ 配置优先

MCP服务器按照以下优先级顺序加载您的API密钥:

  1. 🥇 MCP配置环境变量 (最高优先级)

    • 设置在您的 claude_desktop_config.json 或MCP客户端配置
    • 最安全,因为它包含在MCP配置中
    • 例子: "env": { "GEMINI_API_KEY": "your-key" }
  2. 🥈 系统环境变量

    • 在您的shell/系统环境中设置
    • 例子: export GEMINI_API_KEY="your-key"
  3. 🥉 本地配置文件 (最低优先级)

    • 使用时创建 configure_gemini_token 工具
    • 存储为 .nano-banana-config.json 在当前目录中
    • Git和NPM自动忽略

💡 推荐:使用方法1(MCP配置环境变量)以获得最佳安全性和便利性。

📁 文件存储-智能路径解析🧠

Nano Banana现已推出 智能路径解析 以确保图像在任何环境中都能正确保存。它检查此优先级中的位置:

  1. 环境变量 (NANO_BANANA_OUTPUT_DIR) - 最高优先
  2. 当前工作目录 (cwd) - 如果可写且非系统路径(启用“保存到项目”)
  3. 文档文件夹 (~/Documents/nano-banana-images) - 桌面默认值
  4. 主目录 (~/nano-banana-images) - 服务器回退
  5. 临时目录 - 故障保险

🔧 “保存到项目”的配置

要将图像直接保存到项目文件夹,请添加 cwd (当前工作目录)设置为MCP配置:

"nano-banana": {
  "command": "node",
  "args": ["/path/to/dist/index.js"],
  "cwd": "${workspaceFolder}", 
  "env": { ... }
}

🏳️ 覆盖输出目录

您可以通过设置强制特定的输出目录 NANO_BANANA_OUTPUT_DIR 环境变量:

"env": {
  "GEMINI_API_KEY": "...",
  "NANO_BANANA_OUTPUT_DIR": "/Users/me/Desktop/my-images"
}

文件命名约定:

  • 生成的图像: generated-[timestamp]-[id].png
  • 编辑图像: edited-[timestamp]-[id].png

🎨 示例工作流

基本图像生成

  1. generate_image -创建基础图像
  2. continue_editing -细化和改进
  3. continue_editing -添加最后的修饰

风格迁移

  1. generate_image -创建基础内容
  2. edit_image -使用参考图像作为样式
  3. continue_editing -微调结果

迭代设计

  1. generate_image -从一个概念开始
  2. get_last_image_info -检查当前状态
  3. continue_editing -进行调整
  4. 重复直到满意

🔧 发展

该项目使用Claude Code创建,并遵循以下技术:

  • TypeScript -类型安全开发
  • Node.js -运行时环境
  • 佐德 -架构验证
  • 谷歌GenAI -图像生成API
  • MCP-SDK -模型上下文协议

本地开发

# Clone the repository
git clone https://github.com/claude-code/nano-banana-mcp.git
cd nano-banana-mcp

# Install dependencies
npm install

# Run in development mode
npm run dev

# Build for production
npm run build

# Run tests
npm test

📋 需求

  • Node.js 18.0.0或更高版本
  • 谷歌人工智能工作室的Gemini API密钥
  • 与Claude Code、Cursor和其他MCP客户端兼容

🤝 贡献

此项目由Claude Code生成,但欢迎投稿!请随时:

  • 报告错误
  • 建议新功能
  • 提交拉取请求
  • 改进文档

📄 许可证

MIT许可证-请参阅 许可证 文件以获取详细信息。

🙏 致谢

  • 克劳德代码 -为了生成整个项目
  • 谷歌人工智能 -对于功能强大的Gemini 3 Pro Image API
  • Anthropic -对于模型上下文协议
  • 开源社区 -对于那些令人惊叹的工具和库

📞 支持


✨ 由爱产生 克劳德代码 -人工智能驱动的发展的未来就在这里!