@mindstone/mcp-server-nano-banana

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
One-click install

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)
{
"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
cd <path-to-repo>/connectors/nano-banana
npm install
npm run build
npx (once published)
npx -y @mindstone/mcp-server-nano-banana
Local
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-preview 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
{
"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)
{
"mcpServers": {
"NanoBanana": {
"command": "node",
"args": ["<path-to-repo>/connectors/nano-banana/dist/index.js"],
"env": {
"GEMINI_API_KEY": "your-gemini-api-key"
}
}
}
}
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-preview, gemini-3-pro-image-preview); the legacy gemini-2.5-flash-image always produces ~1K output and rejects an explicit image_size.
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.