使用说明
纳米香蕉mcp
Nano Banana MCP服务器,用于使用Google Gemini生成和编辑图像。不需要Gemini CLI,只需要一个API密钥。
快速开始
-
从获取Gemini API密钥 谷歌AI工作室
-
添加到您的克劳德代码设置(
~/.claude/settings.json)或Claude桌面配置:
{
"mcpServers": {
"nano-banana": {
"command": "npx",
"args": ["-y", "@daniel.barta/nano-banana-mcp"],
"env": {
"GEMINI_API_KEY": "your-api-key"
}
}
}
}
- 重新启动Claude并要求它生成图像。
配置
| 环境变量 | 必填 | 默认 | 描述 |
|---|---|---|---|
GEMINI_API_KEY |
是 | -- | 您的Google AI API密钥 |
GEMINI_MODEL |
没有 | gemini-3.1-flash-image-preview |
用于图像生成/编辑的Gemini模型 |
GEMINI_DESCRIBE_MODEL |
没有 | gemini-2.5-flash |
用于图像描述的Gemini模型(仅文本输出) |
GEMINI_BASE_URL |
否 | -- | Gemini API的自定义基础URL(代理支持) |
OUTPUT_DIR |
没有 | ~/nano-banana-output |
保存图像的目录 |
支持的型号
| 型号 | 备注 |
|---|---|
gemini-3.1-flash-image-preview |
默认值。最新、最快 |
gemini-3-pro-image-preview |
质量更高,速度更慢 |
gemini-2.5-flash-image |
快速、经济高效 |
工具
generate_image
从文本提示生成图像。支持批量生成(最多4张图片)。响应包含缩略图预览;全分辨率图像保存到磁盘。
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
prompt |
string | 是 | 图像的文本描述 |
aspectRatio |
string | 否 | 纵横比(1:1, 1:4, 1:8, 2:3, 3:2, 3:4, 4:1, 4:3, 4:5, 5:4, 8:1, 9:16, 16:9, 21:9) |
size |
string | 否 | 图像大小(512px, 1K, 2K, 4K) |
n |
number | No | 要生成的图像数量(1-4,默认1) |
negativePrompt |
string | 否 | 要从生成的图像中排除的内容 |
systemInstruction |
string | 否 | 引导模型的系统指令 |
edit_image
根据文本指令编辑现有图像。支持多图像输入(最多10张图像)。响应包含缩略图预览;全分辨率图像保存到磁盘。
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
prompt |
string | 是 | 要更改什么 |
filePath |
string | 是 | 源映像的路径 |
additionalFilePaths |
string[] | 否 | 用于多图像编辑的其他图像路径(最多9个) |
aspectRatio |
string | 否 | 纵横比(1:1, 1:4, 1:8, 2:3, 3:2, 3:4, 4:1, 4:3, 4:5, 5:4, 8:1, 9:16, 16:9, 21:9) |
size |
string | 否 | 图像大小(512px, 1K, 2K, 4K) |
negativePrompt |
string | 否 | 要从编辑的图像中排除的内容 |
systemInstruction |
string | 否 | 引导模型的系统指令 |
describe_image
获取图像的文本描述。
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
filePath |
string | 是 | 图像路径 |
question |
string | 否 | 关于图像的具体问题 |
systemInstruction |
string | 否 | 引导模型的系统指令 |
支持的输入格式
对于 edit_image 和 describe_image,支持以下图像格式:
JPEG、PNG、WebP、GIF、BMP、TIFF、SVG、HEIC/HAIF
文件路径解析
当您提供用于编辑或描述的文件路径时,服务器将按以下顺序搜索文件:
- 给定的绝对路径
- 相对于当前工作目录
- 相对于输出目录
- Basename仅在输出目录中
缩略图
为了避免达到Claude Code的会话文件大小限制,MCP响应包含 缩略图预览 (最大512px,JPEG质量80,~20-50KB)而不是全分辨率图像。全分辨率图像始终按照响应元数据中显示的路径保存到磁盘。
生成/编辑响应中的第一个内容块是JSON元数据对象:
{
"model": "gemini-3.1-flash-image-preview",
"count": 1,
"images": [
{ "filePath": "/Users/you/nano-banana-output/a-cat-1234567890.png", "mimeType": "image/png" }
]
}
发展
git clone https://github.com/bartadaniel/nano-banana-mcp.git
cd nano-banana-mcp
npm install
npm run build
在配置中使用本地构建:
{
"mcpServers": {
"nano-banana": {
"command": "node",
"args": ["path/to/nano-banana-mcp/dist/index.js"],
"env": {
"GEMINI_API_KEY": "your-api-key"
}
}
}
}
测试
npm test
使用Node.js内置测试运行器运行单元测试(node:test).测试包括错误类、所有记录的Gemini API响应代码(BlockedReason、FinishReason)、配置形状、图像提取边缘案例、文件操作、路径安全性和缩略图生成。
许可证
麻省理工学院