Nano Banana

io.github.mindstonePublished by GitHub account mindstonev0.5.0Updated Nov 3, 2026

Nano Banana MCP server — Google Gemini image generation and editing via Model Context Protocol

VerifiedSTDIODesktop onlyMedia & DesignAI & ML

Overview

AI-generated overview

Local MCP server that lets an assistant generate and edit images with Google Gemini models and save them to a workspace folder.

What you can do
  • Generate images from text descriptions with a choice of Gemini image models and output sizes.
  • Edit or compose existing images, taking up to 14 reference images from workspace paths or HTTPS URLs.
  • Save results into the workspace at a chosen path, with owner-only file permissions and no overwriting.
  • Store the Gemini API key through a configuration tool instead of editing config files.
When to use it
Useful when you want an assistant to create illustrations, mockups or variations from prompts, or to edit, combine and upscale existing images, without leaving the chat host.
Requirements
Runs locally via npx with Node.js 20+ and npm. Requires a Google Gemini API key in GEMINI_API_KEY. Optional settings: MCP_WORKSPACE_PATH for where images are saved, and timeout overrides NANO_BANANA_GEMINI_TIMEOUT_MS and NANO_BANANA_BRIDGE_TIMEOUT_MS. Network access to Google's Gemini API is needed.
Before you install
The Gemini API key is a billable credential; generation, and especially the Nano Banana 2.1 model's default thinking level, incur Google charges. Prompts and any reference images, including remote URLs, are sent to Google. The server writes files into the workspace, so point MCP_WORKSPACE_PATH at a folder you are comfortable having images saved in.

Installation

In SourceWeft

  1. Open Nano Banana in the dashboard and add it to a workspace.
  2. Enable the server for the chats that should use its tools.

Desktop only via STDIO. STDIO servers start a local process, so they need the SourceWeft desktop host.

Other MCP clients

Follow the launch instructions in the repository.

README

@mindstone/mcp-server-nano-banana

[npm version] [License: FSL-1.1-MIT]

Nano Banana MCP server — Google Gemini image generation and editing via Model Context Protocol. Generate images from text descriptions and edit existing images using Google Gemini's AI capabilities.

Status

Requirements

  • Node.js 20+
  • npm

One-click install

[Add to Cursor] [Add to VS Code] [Add to VS Code Insiders]

After clicking the button, your host will prompt you to fill: GEMINI_API_KEY, NANO_BANANA_GEMINI_TIMEOUT_MS, NANO_BANANA_BRIDGE_TIMEOUT_MS.

Manual config for Claude Desktop / Claude Code / Goose / Continue.dev (Nano Banana)
json
{  "mcpServers": {    "Nano Banana": {      "command": "npx",      "args": [        "-y",        "@mindstone/mcp-server-nano-banana"      ],      "env": {        "GEMINI_API_KEY": "",        "NANO_BANANA_GEMINI_TIMEOUT_MS": "180000",        "NANO_BANANA_BRIDGE_TIMEOUT_MS": "30000"      }    }  }}

Quick Start

Install & build

bash
cd <path-to-repo>/connectors/nano-banananpm installnpm run build

npx (once published)

bash
npx -y @mindstone/mcp-server-nano-banana

Local

bash
node dist/index.js

Configuration

Environment variables

  • GEMINI_API_KEY — Google Gemini API key
  • MCP_WORKSPACE_PATH — optional workspace path for saving generated images
  • MCP_HOST_BRIDGE_STATE — optional path to a host bridge state file used for credential management
  • MINDSTONE_REBEL_BRIDGE_STATE — backwards-compatible alias for MCP_HOST_BRIDGE_STATE
  • NANO_BANANA_GEMINI_TIMEOUT_MS — optional override (positive integer ms) for the outbound Gemini request timeout. Default: 180000 (3 min). Increase this if you use gemini-3-pro-image and see TIMEOUT errors on slow generations; decrease it if you want tighter bounds.
  • NANO_BANANA_BRIDGE_TIMEOUT_MS — optional override (positive integer ms) for requests to the host bridge. Default: 30000.

Host configuration examples

Claude Desktop / Cursor

json
{  "mcpServers": {    "NanoBanana": {      "command": "npx",      "args": ["-y", "@mindstone/mcp-server-nano-banana"],      "env": {        "GEMINI_API_KEY": "your-gemini-api-key"      }    }  }}

Local development (no npm publish needed)

json
{  "mcpServers": {    "NanoBanana": {      "command": "node",      "args": ["<path-to-repo>/connectors/nano-banana/dist/index.js"],      "env": {        "GEMINI_API_KEY": "your-gemini-api-key"      }    }  }}

Tools (3)

Configuration

  • configure_nano_banana_api_key — Save your Gemini API key for image generation

Image generation

  • nano_banana_generate — Generate images from text descriptions
  • nano_banana_edit — Edit existing images using AI; accepts up to 14 reference images (source_image_paths) for multi-image composition/fusion. Each source may be a workspace file path or an https:// URL — every source is capped at 20MB per image (local files included) with a combined-size cap across sources, and remote fetches are SSRF-guarded (HTTPS only, no userinfo, private/loopback/link-local hosts refused with DNS re-validation, redirects re-validated per hop, PNG/JPEG/WebP only)

Both image tools accept an optional save_path inside the workspace. Saves never overwrite: if a file (or symlink) already exists at save_path, the tool returns a SAVE_EXISTS error (with the image still included inline) — choose a different path or delete the existing file. Saved files are written owner-only (0600).

Generated and edited output is identified from its bytes before it is returned or saved. PNG, JPEG, and WebP are supported; other or unrecognised formats (including GIF) return a structured UNSUPPORTED_IMAGE_FORMAT error instead of being relabelled.

Output resolution

Both image tools accept an optional image_size parameter ("1K", "2K", or "4K"; default "1K" ≈ 1024px). Higher resolutions are only honoured by the Gemini 3 image models (gemini-3.1-flash-image, the default, gemini-3-pro-image and gemini-nano-banana-2.1); the legacy gemini-2.5-flash-image always produces ~1K output and rejects an explicit image_size.

gemini-nano-banana-2.1 (Nano Banana 2.1) can be chosen with model; it is not the default. Google enables thinking on it by default (level medium, billed), so it is slower than gemini-3.1-flash-image. It takes 1K, 2K or 4K.

The model parameter also accepts the retired preview ids gemini-3.1-flash-image-preview and gemini-3-pro-image-preview, which Google shut down on 2026-06-25; a request naming one is sent as its generally available id (gemini-3.1-flash-image, gemini-3-pro-image).

Licence

FSL-1.1-MIT — Functional Source License, Version 1.1, with MIT future licence. The software converts to MIT licence on 2030-04-08.

Source: connectors/nano-banana/README.md at commit 9b9aa57

Tools

0
SourceWeft has not started this package in its sandbox yet, so its tools are not known.

Version history

2
  1. v0.5.0LatestNov 3, 2026
  2. v0.4.1Sep 16, 2026

Score

40% of the applicable checks met

How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.

  • Reached in the last 30 days25 pts

    Keep the endpoint answering the MCP handshake; SourceWeft probes it every 30 days.

  • Auth declared10 pts

    Declare the credential headers in the registry entry, or keep the endpoint answering the probe so its auth can be classified.

  • Tools listed15 pts

    Answer tools/list without a credential, or ship a package that starts in a sandbox without one.

  • DescriptionRequired15 pts
  • Logo10 pts
  • Documentation15 pts
  • License10 pts

    Declare a license in the repository or the registry entry.