返回博客
BananaBanana Teamtutorialmcpimages

在 Gemini CLI 中生成图像:MCP 服务器配置指南

将 Gemini CLI 连接到远程 MCP 服务器,从终端直接生成 Nano Banana 图像和 Veo 视频。真实配置,注意事项,每次生成 $0.03 起。

在 Gemini CLI 中生成图像:MCP 服务器配置指南

Gemini CLI 是 Google 推出的开源终端智能体,而 MCP 则是它用于调用外部工具的标准协议。只要将其指向远程 MCP 服务器,编辑代码的同一个终端会话就能直接生成图像、视频和语音,并将文件写入当前工作目录。

快速解答: 运行 gemini mcp add --transport http --scope user bananabanana https://bananabanana.pro/api/mcp -H "Authorization: Bearer $BB_KEY",在 CLI 提示时确认信任文件夹,然后执行 gemini mcp list 确认显示绿色的 Connected。图像生成按次计费,从账户余额中扣除,每次 $0.03 起。

办公桌上的终端窗口,从中飘出小巧的带框画作,社论插画风格

以下所有内容均于 2026 年 8 月 17 日在 Gemini CLI 0.55.1 环境下,使用有效的 bb_live_… 密钥实测验证。凡是官方文档与 CLI 实际表现不一致的地方,均已明确指出。

实际配置步骤

只需两条命令。第一条用于注册服务器:

export BB_KEY=bb_live_…   # create one at https://bananabanana.pro/profile
 
gemini mcp add --transport http --scope user \
  bananabanana https://bananabanana.pro/api/mcp \
  -H "Authorization: Bearer $BB_KEY"

第二条用于检查连接状态:

gemini mcp list
# ✓ bananabanana: https://bananabanana.pro/api/mcp (http) - Connected

如果状态显示为 Disabled 而非 Connected,在修改任何设置前请先阅读下一节。这个细节当初花了我整整五分钟才排查出来。

文档未提及的五个细节

文件夹未信任会静默禁用所有服务。 在 CLI 尚未信任的目录中运行 gemini mcp list,会看到如下提示:

Warning: MCP servers are configured but disabled because this folder is untrusted.
User-level servers are also suppressed in untrusted folders to prevent accidental side-effects.

○ bananabanana: https://bananabanana.pro/api/mcp (http) - Disabled

请注意第二行:即使是 --scope user 的服务器也会被禁用。CLI 在首次交互式启动时会询问是否信任;若通过脚本自动化,信任决策会保存在 ~/.gemini/trustedFolders.json 中,作为路径与 TRUST_FOLDER 的映射。这是合理的安全机制,但报错提示并不友好,因为 "Disabled" 让人很难联想到是文件夹权限问题。

gemini mcp add 输出的是 url 而非 httpUrl 文档中描述 Streamable HTTP 使用 httpUrl,但 CLI 0.55.1 实际生成的内容是:

{
  "mcpServers": {
    "bananabanana": {
      "url": "https://bananabanana.pro/api/mcp",
      "type": "http",
      "headers": { "Authorization": "Bearer $BB_KEY" }
    }
  }
}

两种格式都能成功连接。但如果拿官方文档配置与 CLI 生成的文件对比,可能会误以为配置有误。其实两者均可正常工作。

默认作用域是 project,密钥会被写入仓库。 如果省略 --scope user,密钥会被保存在项目内的 .gemini/settings.json 中。一旦执行 git add .,密钥就会进入提交历史。请务必使用 --scope user,或者像上面示例一样通过环境变量传递。

$BB_KEY 变量替换正常运作,但失效时静默失败。 当变量已导出时显示 Connected。如果打开新终端但未导出变量,相同配置会直接报告 Disconnected,而不会给出认证相关的明确报错。建议将导出命令写入 shell 配置文件。

Gemini CLI 会探测 SSE 并收到 405。 观察连接时的服务器日志,请求顺序为:POST initialize (200)、POST notification (202)、GET /api/mcp (405)、POST tools/list (200)。GET 请求是 CLI 尝试在无状态服务器上建立 Server-Sent Events 通道。虽然返回 405,但 CLI 会正常忽略并继续运行,一切功能完好。如果自建 MCP 服务器,无需纠结这个 405。

一堵紧闭小门的墙,其中有一扇半开并透出光亮,社论插画风格

提供的工具与费用说明

会话中会自动加载九个工具,与工具参考文档完全一致。其中四个可免费调用:list_modelsget_accountget_resultlist_generations。其余工具根据生成用量从账户余额中扣费。

项目模型价格
图像,1KNano Banana 2 Lite$0.03
图像,512 → 4KNano Banana 2$0.03 – $0.13
图像,1K → 4KNano Banana Pro$0.11 – $0.20
视频,3–10 秒带声音Gemini Omni Flash每秒 $0.10
视频,4–8 秒Veo 3.1 系列每段最高 $4.40
语音合成Gemini Flash TTS每 200 字符 $0.01

视频生成和多图生成会先返回精确报价。智能体获取价格后,只有在确认金额后才会正式扣费并启动任务。内容安全拦截和上游故障会自动退款,这在后台批量处理提示词时尤为关键。

充值享有赠金福利:满 $50 赠 5%,满 $100 赠 10%,使用有效优惠码可再加赠充值额的 10%。使用优惠码充值 $100 可到账 $120。

金币放在一堆小框画和胶卷旁呈阶梯状排列,社论插画风格

为什么通过 Gemini 调用 Nano Banana 很划算?

通往同一座发光大门的两条道路:一条笔直短捷,另一条穿过检查哨蜿蜒曲折,社论插画风格

让 Gemini CLI 通过第三方服务器调用 Gemini 图像模型看似绕了远路。当然也可以走传统流程:开通 Google Cloud 结算账户、开通模型 API 权限、配置认证凭据并处理各区域配额。如果你专门负责搭建云基础设施,这很合理。

而我们的方案面向另一种场景:一个令牌、预付费余额、无需云结算账户、无需申请配额、无需绑定区域。同时还可通过同一连接使用 Veo 和 Omni 视频模型及 TTS 语音合成,按生成次数计费而非按项目计费。如果你更专注于产出内容而非运维平台,这种方式通常更为高效。

在大规模高并发场景下,直接接入云基础设施成本更低。但我们的方案能让你在两分钟内快速上手,并且杜绝了因忘记关闭资源而产生意外账单的风险。

如果你在其他编辑器中工作,相同的服务器支持配置到 Claude CodeCursorCodex,使用相同的 API 密钥即可。

实用案例:为项目文档批量生成插图

一个非常适用的真实场景:仓库中的 docs/ 文件夹下有十二个页面,每个页面都需要一张风格统一的头部插图。

会话中的提示词:

Read every heading in docs/*.md. For each file, generate a 16:9 illustration matching the page topic, in this style: editorial illustration, pastel paper background, dark ink details, violet and amber accents, no text. Use nano-banana-pro. Save each as docs/img/.png and add the image reference under the page title.

智能体读取所有文件,针对每个页面调用 generate_image,通过 get_result 等待完成,下载图像并在 Markdown 中插入引用。十二张图像单价 $0.11,总计 $1.32,在你喝咖啡的几分钟内自动完成。本文中的所有插图均来自同一套流程,采用 Nano Banana Pro 和统一的风格提示词生成。

实操前的两条建议:先生成单张测试图确认视觉风格(一旦风格提示词有偏差,12 张图就会白白浪费 $1.32),并且不要开启 --trust,保持每个付费工具调用的确认提示能防止智能体陷入非预期的无限循环。

桌面上整齐排列成网格的一打同种风格的插画小卡片,社论插画风格

可以使用 OAuth 代替 API 密钥吗?

Gemini CLI 文档支持远程 MCP 服务器的 OAuth 2.0 协议,包含服务发现和 /mcp auth 命令。我们的服务器是完整的 OAuth 2.1 授权服务器(支持动态客户端注册、PKCE S256、RFC 9728 发现协议),像 Claude Code 和 claude.ai 均可通过该协议直接免密登录。

API 密钥的调用路径已完成端到端测试,运行稳定。Gemini CLI 的 OAuth 路径在本次会话中未做单独验证,建议暂视为可用但未经验证。生成 API 密钥只需十秒,且只要不手动撤销就永久有效。

常见问题

配置文件保存在哪里?

用户级配置位于 ~/.gemini/settings.json,项目级配置位于 .gemini/settings.json。执行 gemini mcp add --scope user 会写入用户级文件。

为什么服务器状态显示为 Disabled?

当前文件夹未被加入信任列表。在启动交互界面时确认信任,或在 ~/.gemini/trustedFolders.json 中将路径映射为 TRUST_FOLDER。未信任文件夹中用户级服务器同样会被禁用。

可以限制模型看到的工具列表吗?

可以。在 gemini mcp add 中使用 --include-tools--exclude-tools,或在配置文件中设置 includeTools / excludeTools。排除规则优先级高于包含规则。

可以在团队共享的项目中使用吗?

在项目作用域中配置服务器,并将密钥通过环境变量传入,切勿明文写入配置文件。团队成员各自执行 export BB_KEY=… 注入自身密钥,Git 仓库中的配置即可保持干净。

如果生成失败会怎样?

费用会自动退还至账户余额,包含被内容安全策略拦截的情况。若提示词处于边界情况,重新尝试是有意义的:安全检测是针对最终生成的像素进行的,重新生成会绘制出新的画面。

更习惯可视化操作?网页端生成器支持在相同余额下使用相同模型。终端连接成功后,可先调用免费的 list_models 查看最新价格,在不花一分钱的情况下验证整条链路是否畅通。

tutorialmcpimages