
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
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.
Installation
In SourceWeft
- Open Nano Banana in the dashboard and add it to a workspace.
- 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
- Version: 0.5.0 · npm
- Auth: API key (
GEMINI_API_KEY) - Tools: 3 (image-generation, image-editing)
- Surface: cloud-api
- Machine-readable:
STATUS.json
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)
Quick Start
Install & build
npx (once published)
Local
Configuration
Environment variables
GEMINI_API_KEY— Google Gemini API keyMCP_WORKSPACE_PATH— optional workspace path for saving generated imagesMCP_HOST_BRIDGE_STATE— optional path to a host bridge state file used for credential managementMINDSTONE_REBEL_BRIDGE_STATE— backwards-compatible alias forMCP_HOST_BRIDGE_STATENANO_BANANA_GEMINI_TIMEOUT_MS— optional override (positive integer ms) for the outbound Gemini request timeout. Default:180000(3 min). Increase this if you usegemini-3-pro-imageand seeTIMEOUTerrors 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
Local development (no npm publish needed)
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 descriptionsnano_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 anhttps://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
0Version history
2- v0.5.0LatestNov 3, 2026
- 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.