mcpField
M
mcp-nano-banana

mcp-nano-banana

本地服务
github.com/codeFi媒体与设计018 周前更新

关于 mcp-nano-banana

mcp-nano-banana 将 Google Gemini Nano Banana 图像生成能力提供给编码助手和其他 MCP 客户端。它支持文本生成、图像编辑与合成,并可控制分辨率、比例和输出格式。

主要功能

  1. 01根据文本生成图像
  2. 02按指令编辑现有图像
  3. 03合成最多 14 张参考图
  4. 04选择分辨率、宽高比和格式
  5. 05生成完整网站图标包
  6. 06限流时自动切换 Flash 模型

适用场景

  1. 01为项目生成插画或壁纸
  2. 02修改照片背景或内容
  3. 03组合人物与产品参考图
  4. 04为网站生成 favicon 文件包

MCP 相关

它作为 MCP 服务,通过 MCP 工具向客户端提供图像生成、编辑、合成和 favicon 生成能力。调用会使用 Google Gemini API。

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

mcp.json · 通用配置
{
"mcpServers": {
"codefi-mcp-nano-banana": {
"command": "npx",
"args": [
"-y",
"mcp-nano-banana"
],
"env": {
"GEMINI_API_KEY": "<GEMINI_API_KEY>"
}
}
}
}
启动命令npx -y mcp-nano-banana
需要配置的环境变量
GEMINI_API_KEY密钥Google Gemini API key used for image generation requests.

本地服务需要在你的电脑上安装运行环境(如 Node.js 18+)。各客户端的配置文件位置不同,请参考客户端文档。

安装包
npmmcp-nano-banana1.2.2

工具

2

收录的工具列表 · 更新于 2 周前

参数类型必填说明
modelenum否使用的模型:gemini-2.5-flash-image(快速)或 gemini-3-pro-image-preview(高质量,默认)gemini-2.5-flash-image | gemini-3-pro-image-preview
promptstring是要生成的图像的文本描述,或用于编辑/组合参考图像的说明
imagePathsarray否可选的参考图像文件路径数组(最多 14 个)。支持 png、jpg、jpeg、webp、gif。
outputPathstring否用于保存生成图像的文件路径。如果未提供,则以内联形式返回图像数据。
resolutionenum否生成图像的分辨率。仅 gemini-3.1-flash-image-preview 支持 512。Nano Banana Pro 支持 1K、2K、4K。512 | 1K | 2K | 4K
aspectRatioenum否生成图像的宽高比。gemini-3.1-flash-image-preview 还支持其他比例(1:4、4:1、1:8、8:1)。1:1 | 16:9 | 9:16 | 4:3 | 3:4 | 2:3 | 3:2 | 4:5 | 5:4 | 21:9 | 1:4 | 4:1 | 1:8 | 8:1
outputFormatenum否输出图像格式png | jpeg | webp

详细介绍

mcp-nano-banana

用于通过 Google Gemini Nano Banana 模型生成 AI 图像的 MCP 服务。直接通过 AI 编码助手,根据文本提示词生成、编辑和组合图像。

npm 版本 许可证

功能

  • 文本生成图像 — 根据自然语言描述创建图像
  • 图像编辑 — 上传图像并通过文本指令进行修改
  • 多图组合 — 将最多 14 张参考图像合成为一张图像
  • 分辨率控制 — 以 512px、1K、2K 或 4K 分辨率生成
  • 13 种以上宽高比 — 从正方形(1:1)到超宽(21:9)和高图(1:8)
  • 自动回退 — Pro 模型在遇到速率限制(429/403/402)时回退到 Flash
  • 文件输出 — 保存到指定路径或返回内嵌的 base64
  • 网站图标生成 — 通过一条命令生成完整的网站图标包
  • 多格式输出 — 支持 PNG、JPEG 和 WebP

快速开始

前置条件
  1. 获取 Gemini API 密钥,请访问 Google AI Studio
  2. 在 Google Cloud 项目中启用结算 — 图像生成需要付费套餐(NB2 标准分辨率下约为每张图像 $0.04-0.05)
安装
npm install -g mcp-nano-banana

设置 API 密钥:

export GEMINI_API_KEY=your-api-key

对于 MCP Registry 发布元数据,注册表名称为 io.github.codeFi/mcp-nano-banana。

MCP 配置

Codex
codex mcp add nano-banana --env GEMINI_API_KEY=your-api-key -- npx -y mcp-nano-banana@latest

或手动添加到 ~/.codex/config.toml:

[mcp_servers.nano-banana]
command = "npx"
args = ["-y", "mcp-nano-banana@latest"]

[mcp_servers.nano-banana.env]
GEMINI_API_KEY = "your-api-key"
Qwen Code

添加到 ~/.qwen/settings.json:

{
  "mcpServers": {
    "nano-banana": {
      "command": "npx",
      "args": ["-y", "mcp-nano-banana@latest"],
      "env": {
        "GEMINI_API_KEY": "your-api-key"
      }
    }
  }
}
Claude Code
claude mcp add nano-banana -e GEMINI_API_KEY=your-api-key -- npx -y mcp-nano-banana@latest

或手动添加到 ~/.claude/claude_desktop_config.json:

{
  "mcpServers": {
    "nano-banana": {
      "command": "npx",
      "args": ["-y", "mcp-nano-banana@latest"],
      "env": {
        "GEMINI_API_KEY": "your-api-key"
      }
    }
  }
}
其他 MCP 客户端

对于使用标准 mcpServers JSON 格式的 CLI 和桌面客户端,请注册:

{
  "mcpServers": {
    "nano-banana": {
      "command": "npx",
      "args": ["-y", "mcp-nano-banana@latest"],
      "env": {
        "GEMINI_API_KEY": "your-api-key"
      }
    }
  }
}
本地 / 开发构建
git clone https://github.com/codeFi/mcp-nano-banana.git
cd mcp-nano-banana
npm install
npm run build

然后在 MCP 客户端中注册:

{
  "mcpServers": {
    "nano-banana": {
      "command": "node",
      "args": ["/path/to/mcp-nano-banana/dist/index.js"],
      "env": {
        "GEMINI_API_KEY": "your-api-key"
      }
    }
  }
}

模型

模型MCP 名称描述最大参考图像数
gemini-3-pro-image-previewNano Banana Pro高品质,思考模式,专业素材6 张物体 + 5 张角色
gemini-3.1-flash-image-previewNano Banana 2快速、高效,支持 1:4/4:1/1:8/8:1 宽高比10 张物体 + 4 张角色
gemini-2.5-flash-imageNano Banana速度最快,针对高用量任务进行了优化-

服务默认使用 Nano Banana Pro 以获得最佳品质,并会在遇到速率限制时自动回退到 Flash。

可用参数

分辨率
值约像素数支持的模型
"512"~512px仅 Nano Banana 2
"1K"~1024px所有模型
"2K"~2048px所有模型
"4K"~4096px所有模型

默认值:"1K"

宽高比
值1K 下的尺寸常见用途
1:11024×1024社交媒体帖子、图标
16:91344×768页眉、演示文稿
9:16768×1344快拍、移动设备
4:31152×896桌面、照片
3:4896×1152肖像
2:3~896×1344印刷品、杂志
3:2~1344×896照片
4:5~896×1120Instagram 帖子
5:4~1120×896Instagram 横向图片
21:9~2048×878超宽横幅
1:4~512×2048仅 Nano Banana 2 — 高长条图
4:1~2048×512仅 Nano Banana 2 — 宽长条图
1:8~512×4096仅 Nano Banana 2 — 超高图
8:1~4096×512仅 Nano Banana 2 — 超宽图

工具

generate_image

根据文本提示词生成或编辑图像。

ParameterTypeRequiredDefaultDescription
promptstring✅ Yes—文本描述或编辑说明
imagePathsstring[]No—磁盘上的参考图像路径(最多 14 张)
modelstringNogemini-3-pro-image-preview使用的模型
aspectRatiostringNo1:1所有可选项请参见上表
resolutionstringNo1K512、1K、2K 或 4K
outputFormatstringNopngpng、jpeg、webp
outputPathstringNo—将图像保存到此文件路径
示例

根据文本生成:

{
  "prompt": "A sunset over mountains with dramatic lighting",
  "aspectRatio": "16:9",
  "resolution": "2K",
  "outputPath": "/Users/currentUser/Desktop/sunset.png"
}

编辑现有图像:

{
  "prompt": "Change the background to a coffee shop interior",
  "imagePaths": ["/Users/currentUser/photo.jpg"],
  "outputPath": "/Users/currentUser/edited.png"
}

组合多张图像:

{
  "prompt": "Put these glasses on this person's face",
  "imagePaths": ["/path/to/face.jpg", "/path/to/glasses.jpg"],
  "outputPath": "/path/to/result.png"
}

高清壁纸:

{
  "prompt": "A futuristic cityscape at night with neon lights and rain",
  "aspectRatio": "16:9",
  "resolution": "4K",
  "outputPath": "/path/to/wallpaper.png"
}
generate_favicons

根据提示词或现有图像生成完整的 favicon 套件。

ParameterTypeRequiredDefaultDescription
promptstringNo*—图标描述(未设置 imagePath 时必填)
imagePathstringNo*—现有主图标图像的路径
modelstringNogemini-3-pro-image-preview用于生成提示词的模型
outputDirstringNo—单个 favicon 文件的目录
outputPathstringNo—将 ZIP 套件保存到此路径
returnZipBase64booleanNofalse以 base64 文本形式返回 ZIP
appNamestringNoMy App清单中的 name
shortNamestringNoApp清单中的 short_name
themeColorstringNo#ffffff清单主题颜色
backgroundColorstringNo#ffffff清单背景颜色
includeReadmebooleanNotrue在套件中包含 README.md
示例
{
  "prompt": "A minimalist banana icon with a soft gradient",
  "outputDir": "/path/to/favicon",
  "outputPath": "/path/to/favicon.zip",
  "appName": "MyBrand",
  "shortName": "Brand",
  "themeColor": "#1a1a2e",
  "backgroundColor": "#ffffff"
}

生成的文件:

  • favicon.ico — 多尺寸图标(16/32/48px)
  • favicon-16x16.png — 浏览器标签页
  • favicon-32x32.png — 更高清晰度的标签页
  • apple-touch-icon.png — iOS 主屏幕
  • android-chrome-192x192.png — Android
  • android-chrome-512x512.png — Android 高清版
  • site.webmanifest — PWA 清单

HTML 代码片段(包含在响应中):

<link rel="icon" href="/favicon.ico" sizes="any">
<link rel="apple-touch-icon" sizes="180x180" href="/apple-touch-icon.png">
<link rel="icon" type="image/png" sizes="32x32" href="/favicon-32x32.png">
<link rel="icon" type="image/png" sizes="16x16" href="/favicon-16x16.png">
<link rel="manifest" href="/site.webmanifest">

定价

图像生成需要付费的 Google AI Studio 账户。大致费用如下:

Model1K2K4K
Nano Banana 2~$0.04~$0.08~$0.15
Nano Banana Pro~$0.06~$0.13~$0.24

只需为生成的内容付费——没有月度最低消费。

支持的图像格式

输入(参考图像): png、jpg、jpeg、webp、gif 输出: png、jpeg、webp

开发

# Build TypeScript
npm run build

# Watch mode
npm run dev

# Run tests
npm test

# Run the server directly
node dist/index.js

故障排除

IssueSolution
GEMINI_API_KEY is not set导出该环境变量,或将其添加到 MCP 配置中
429 Too Many Requests服务会自动回退到 Flash 模型。请为账户添加结算信息。
403/402 Quota exceeded在 Google Cloud Console 中启用结算功能
503 Unavailable请求量较大,请稍后重试。4K 请求中较为常见。
编辑后图像未更新确保已重新构建 TypeScript(npm run build)
未找到 imagePaths请使用绝对路径。相对路径可能无法正确解析。

架构

AI Assistant (MCP Client)
       │  (MCP Protocol over stdio)
       ▼
mcp-nano-banana Server
       │  (HTTPS POST)
       ▼
Google Gemini API
       │
       ▼
Generated Image → saved to outputPath (or returned inline base64)

许可证

MIT

作者

codeFi

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。