README
🚀 纳米香蕉MCP服务器 🍌
这是一个模型上下文协议(MCP)服务器,借助谷歌的Gemini 2.5 Flash图像API,提供AI图像生成与编辑功能。你只需通过简单的文本提示,就能生成令人惊艳的图像、编辑现有图像,并不断完善你的创作。
🚀 快速开始
🔑 配置步骤
- 获取Gemini API密钥:
- 访问 Google AI Studio。
- 创建一个新的API密钥。
- 复制该密钥用于后续配置。
- 配置MCP服务器: 参考以下针对特定客户端(Claude Code、Cursor或其他MCP客户端)的配置示例。
✨ 主要特性
- 🎨 图像生成:根据文本描述创建新图像。
- ✏️ 图像编辑:通过文本提示修改现有图像。
- 🔄 迭代编辑:继续对最后生成/编辑的图像进行修改。
- 🖼️ 多参考图像:使用参考图像进行风格迁移和引导。
- 🌍 跨平台支持:支持Windows、macOS和Linux系统的智能文件路径。
- 🔧 轻松设置:使用API密钥即可轻松完成配置。
- 📁 自动文件管理:自动保存图像并进行有序命名。
📦 安装指南
🔑 获取Gemini API密钥
- 访问 Google AI Studio。
- 创建一个新的API密钥。
- 复制该密钥用于后续配置。
🔧 配置MCP服务器
根据你使用的客户端进行相应配置:
💻 使用Claude Code
配置:
将以下内容添加到你的Claude Code MCP设置中: 选项A:使用环境变量(推荐 - 最安全)
{
"mcpServers": {
"nano-banana": {
"command": "npx",
"args": ["nano-banana-mcp"],
"env": {
"GEMINI_API_KEY": "your-gemini-api-key-here"
}
}
}
}
选项B:不使用环境变量
{
"mcpServers": {
"nano-banana": {
"command": "npx",
"args": ["nano-banana-mcp"]
}
}
}
🎯 使用Cursor
配置:
将以下内容添加到你的Cursor MCP配置中: 选项A:使用环境变量(推荐)
{
"nano-banana": {
"command": "npx",
"args": ["nano-banana-mcp"],
"env": {
"GEMINI_API_KEY": "your-gemini-api-key-here"
}
}
}
选项B:不使用环境变量
{
"nano-banana": {
"command": "npx",
"args": ["nano-banana-mcp"]
}
}
🔧 其他MCP客户端
如果你使用的是其他MCP客户端,可以使用以下方法配置nano - banana - mcp: 方法A:在MCP配置中使用环境变量(推荐)
{
"nano-banana": {
"command": "npx",
"args": ["nano-banana-mcp"],
"env": {
"GEMINI_API_KEY": "your-gemini-api-key-here"
}
}
}
方法B:使用系统环境变量
export GEMINI_API_KEY="your-gemini-api-key-here"
npx nano-banana-mcp
方法C:使用配置工具
npx nano-banana-mcp
# 首次使用时,服务器会提示你进行配置
# 这将在当前目录下创建一个.local.nano-banana-config.json文件
💻 使用示例
💻 使用Claude Code
配置示例
见上文“使用Claude Code”部分的配置内容。
使用示例
生成一幅山脉上日落的图像
编辑这幅图像,在天空中添加一些鸟
继续编辑,让它更有戏剧性
🎯 使用Cursor
配置示例
见上文“使用Cursor”部分的配置内容。
使用示例
- 让Cursor为你的应用生成图像。
- 创建模型和原型。
- 为你的项目生成资源。
🔧 其他MCP客户端
配置方法
见上文“其他MCP客户端”部分的配置内容。
🔧 可用命令
generate_image
根据文本提示创建新图像。
generate_image({
prompt: "一幅夜晚带有霓虹灯的未来城市图像"
})
edit_image
编辑特定的图像文件。
edit_image({
imagePath: "/path/to/image.png",
prompt: "在天空中添加一道彩虹",
referenceImages?: ["/path/to/reference.jpg"] // 可选
})
continue_editing
继续编辑最后生成/编辑的图像。
continue_editing({
prompt: "让它更鲜艳",
referenceImages?: ["/path/to/style.jpg"] // 可选
})
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密钥:
- 🥇 MCP配置环境变量(最高优先级)
- 在
claude_desktop_config.json或MCP客户端配置中设置。 - 最安全,因为它包含在MCP配置中。
- 示例:
"env": { "GEMINI_API_KEY": "your-key" }
- 在
- 🥈 系统环境变量
- 在你的shell/系统环境中设置。
- 示例:
export GEMINI_API_KEY="your-key"
- 🥉 本地配置文件(最低优先级)
- 使用
configure_gemini_token工具时创建。 - 存储为当前目录下的
.nano-banana-config.json文件。 - 自动被Git和NPM忽略。
- 使用
💡 建议:为了获得最佳的安全性和便利性,建议使用方法1(MCP配置环境变量)。
📁 文件存储
图像会自动保存到适合平台的位置:
- Windows:
%USERPROFILE%\\Documents\\nano-banana-images\\ - macOS/Linux:
./generated_imgs/(当前目录下) - 系统目录:
~/nano-banana-images/(从系统路径运行时)
文件命名规则:
- 生成的图像:
generated-[时间戳]-[ID].png - 编辑的图像:
edited-[时间戳]-[ID].png
🎨 示例工作流程
基本图像生成
generate_image- 创建基础图像。continue_editing- 细化和改进。continue_editing- 添加最终润色。
风格迁移
generate_image- 创建基础内容。edit_image- 使用参考图像进行风格迁移。continue_editing- 微调结果。
迭代设计
generate_image- 从一个概念开始。get_last_image_info- 检查当前状态。continue_editing- 进行调整。- 重复以上步骤,直到满意为止。
🔧 开发
本项目由Claude Code创建,采用了以下技术:
- TypeScript - 类型安全的开发。
- Node.js - 运行时环境。
- Zod - 模式验证。
- Google GenAI - 图像生成API。
- MCP SDK - 模型上下文协议。
本地开发
# 克隆仓库
git clone https://github.com/claude-code/nano-banana-mcp.git
cd nano-banana-mcp
# 安装依赖
npm install
# 以开发模式运行
npm run dev
# 为生产环境构建
npm run build
# 运行测试
npm test
📚 详细文档
📋 要求
- Node.js 18.0.0或更高版本。
- 从Google AI Studio获取的Gemini API密钥。
- 兼容Claude Code、Cursor和其他MCP客户端。
🤝 贡献
本项目由Claude Code生成,但欢迎大家贡献!你可以:
- 报告错误。
- 提出新功能建议。
- 提交拉取请求。
- 改进文档。
📄 许可证
本项目采用MIT许可证,详情请参阅 LICENSE 文件。
🙏 致谢
- Claude Code - 生成了整个项目。
- Google AI - 提供强大的Gemini 2.5 Flash图像API。
- Anthropic - 提供模型上下文协议。
- 开源社区 - 提供了出色的工具和库。
📞 支持
- 🐛 问题反馈:GitHub Issues
- 📖 文档:本README和代码内注释。
- 💬 讨论:GitHub Discussions
✨ 由 Claude Code 用心生成 - AI驱动开发的未来已来!
Scan to join WeChat group