Supports authentication via Google Cloud Vertex AI Application Default Credentials for production deployments on Google Cloud infrastructure (Cloud Run, GKE, GCE).
Provides AI-powered image generation capabilities through Google's Gemini models (Gemini 2.5 Flash Image and Gemini 3 Pro Image), with support for intelligent model selection, aspect ratio control, Google Search grounding, and file management via the Gemini Files API.
Nano Banana MCP Server (CLIProxyAPI Edition) 🍌
A production-ready Model Context Protocol (MCP) server that provides AI-powered image generation capabilities through Google's Gemini models with intelligent model selection.
Downstream fork of
zhongweili/nanobanana-mcp-server: https://github.com/zhongweili/nanobanana-mcp-server
CLIProxyAPI docs: https://help.router-for.me/cn/introduction/what-is-cliproxyapi.html
Updates in this fork: CLIProxyAPI backend support (Gemini-compatible proxy), updated docs/config examples.
⭐ NEW: Gemini 3 Pro Image Support! 🚀
Now featuring Nano Banana Pro - Google's latest and most powerful image generation model:
🏆 Professional 4K Quality: Generate stunning images up to 3840px resolution
🌐 Google Search Grounding: Access real-world knowledge for factually accurate images
🧠 Advanced Reasoning: Configurable thinking levels for complex compositions
🎯 Superior Text Rendering: Crystal-clear text in images at high resolution
🎨 Enhanced Understanding: Better context comprehension for complex prompts
Upstream MCP registry listing:
✨ Features
🎨 Multi-Model AI Image Generation: Intelligent selection between Flash (speed) and Pro (quality) models
⚡ Gemini 2.5 Flash Image: Fast generation (1024px) for rapid prototyping
🏆 Gemini 3 Pro Image: High-quality up to 4K with Google Search grounding
🤖 Smart Model Selection: Automatically chooses optimal model based on your prompt
📐 Aspect Ratio Control ⭐ NEW: Specify output dimensions (1:1, 16:9, 9:16, 21:9, and more)
📋 Smart Templates: Pre-built prompt templates for photography, design, and editing
📁 File Management: Upload and manage files via Gemini Files API
🔍 Resource Discovery: Browse templates and file metadata through MCP resources
🛡️ Production Ready: Comprehensive error handling, logging, and validation
⚡ High Performance: Optimized architecture with intelligent caching
🚀 Quick Start
Prerequisites
One of the following:
Google Gemini API Key - Get one free here
CLIProxyAPI running locally (Gemini-compatible proxy)
Python 3.11+ (for development only)
Installation
Option 1: Upstream MCP Registry (Gemini direct only) The upstream package is listed in the Model Context Protocol Registry.
mcp-name: io.github.zhongweili/nanobanana-mcp-server
Option 2: From Source (this fork, recommended for CLIProxyAPI)
Option 3: Install from Git (this fork)
🔧 Configuration
Authentication Methods
Nano Banana supports these authentication options:
API Key (
api_key): UsesGEMINI_API_KEY. Best for local development and simple deployments.Vertex AI ADC (
vertex_ai): Uses Google Cloud Application Default Credentials. Best for production on Google Cloud (Cloud Run, GKE, GCE).Automatic (
auto): Defaults to API Key if present, otherwise tries Vertex AI.CLIProxyAPI: Set
CLIPROXY_BASE_URLto route requests through a local Gemini-compatible proxy (bypasses Google SDK auth).
1. API Key Authentication (Default)
Set GEMINI_API_KEY environment variable.
2. Vertex AI Authentication (Google Cloud)
Required environment variables:
NANOBANANA_AUTH_METHOD=vertex_ai(orauto)GCP_PROJECT_ID=your-project-idGCP_REGION=us-central1(default)
Prerequisites:
Enable Vertex AI API:
gcloud services enable aiplatform.googleapis.comGrant IAM Role:
roles/aiplatform.userto the service account.
Claude Desktop
Option 1: CLIProxyAPI (this fork)
Add to your claude_desktop_config.json:
If you are running from source, you can use
uv run python -m nanobanana_mcp_server.serverand setcwdto your local repository.
Option 2: Upstream PyPI (Gemini direct only)
Option 3: Using Vertex AI (ADC) (Upstream only)
To authenticate with Google Cloud Application Default Credentials (instead of an API Key):
Configuration file locations:
macOS:
~/Library/Application Support/Claude/claude_desktop_config.jsonWindows:
%APPDATA%\Claude\claude_desktop_config.json
Claude Code (VS Code Extension)
Install and configure in VS Code:
Install the Claude Code extension
Open Command Palette (
Cmd/Ctrl + Shift + P)Run "Claude Code: Add MCP Server"
Configure:
{ "name": "nanobanana", "command": "python3", "args": ["-m", "nanobanana_mcp_server.server"], "env": { "CLIPROXY_BASE_URL": "http://127.0.0.1:8318", "CLIPROXY_API_KEY": "sk-your-cli-proxy-key", "NANOBANANA_MODEL": "pro", "NO_PROXY": "127.0.0.1,localhost" } }Upstream PyPI (Gemini direct) uses
uvx nanobanana-mcp-server@latestandGEMINI_API_KEY.
Cursor
Add to Cursor's MCP configuration:
Upstream PyPI (Gemini direct) uses
uvx nanobanana-mcp-server@latestandGEMINI_API_KEY.
Continue.dev (VS Code/JetBrains)
Add to your config.json:
Upstream PyPI (Gemini direct) uses
uvx nanobanana-mcp-server@latestandGEMINI_API_KEY.
Open WebUI
Configure in Open WebUI settings:
Upstream PyPI (Gemini direct) uses
["uvx", "nanobanana-mcp-server@latest"]andGEMINI_API_KEY.
Gemini CLI / Generic MCP Client
CLIProxyAPI Mode (Gemini-Compatible Proxy) ⭐ NEW
Set the following environment variables and run as usual:
See the full guide in docs/CLIPROXYAPI.md.
🤖 Model Selection
Nano Banana supports two Gemini models with intelligent automatic selection:
🏆 Pro Model - Nano Banana Pro (Gemini 3 Pro Image) ⭐ NEW!
Google's latest and most advanced image generation model
Quality: Professional-grade, production-ready
Resolution: Up to 4K (3840px) - highest available
Speed: ~5-8 seconds per image
Special Features:
🌐 Google Search Grounding: Leverages real-world knowledge for accurate, contextual images
🧠 Advanced Reasoning: Configurable thinking levels (LOW/HIGH) for complex compositions
📐 Media Resolution Control: Fine-tune vision processing detail (LOW/MEDIUM/HIGH/AUTO)
📝 Superior Text Rendering: Exceptional clarity for text-in-image generation
🎨 Enhanced Context Understanding: Better interpretation of complex, narrative prompts
Best for: Production assets, marketing materials, professional photography, high-fidelity outputs, images requiring text, factual accuracy
Cost: Higher per image (premium quality)
⚡ Flash Model (Gemini 2.5 Flash Image)
Fast, reliable model for rapid iteration
Speed: Very fast (2-3 seconds)
Resolution: Up to 1024px
Quality: High quality for everyday use
Best for: Rapid prototyping, iterations, high-volume generation, drafts, sketches
Cost: Lower per image
🤖 Automatic Selection (Recommended)
By default, the server uses AUTO mode which intelligently analyzes your prompt and requirements:
Pro Model Selected When:
Quality keywords detected: "4K", "professional", "production", "high-res", "HD"
High resolution requested:
resolution="4k"orresolution="high"Google Search grounding enabled:
enable_grounding=TrueHigh thinking level requested:
thinking_level="HIGH"Multi-image conditioning with multiple input images
Flash Model Selected When:
Speed keywords detected: "quick", "draft", "sketch", "rapid"
High-volume batch generation:
n > 2Standard or lower resolution requested
No special Pro features required
Usage Examples
📐 Aspect Ratio Control ⭐ NEW!
Control the output image dimensions with the aspect_ratio parameter:
Supported Aspect Ratios:
1:1- Square (Instagram, profile pictures)4:3- Classic photo format3:4- Portrait orientation16:9- Widescreen (YouTube thumbnails, presentations)9:16- Mobile portrait (phone wallpapers, stories)21:9- Ultra-wide cinematic2:3,3:2,4:5,5:4- Various photo formats
Note: Aspect ratio works with both Flash and Pro models. For best results with specific aspect ratios at high resolution, use the Pro model with resolution="4k".
⚙️ Environment Variables
Configuration options:
CLIProxyAPI mode notes
Uses CLIProxyAPI's Gemini-compatible
/v1beta/models/{model}:generateContent.Gemini Files API features are not available (file_id upload / retrieval disabled).
Local file editing (
input_image_path_*) still works.
🐛 Troubleshooting
Common Issues
"GEMINI_API_KEY not set"
Add your API key to the MCP server configuration in your client
Get a free API key at Google AI Studio
"Server failed to start"
Ensure you're using the latest version:
uvx nanobanana-mcp-server@latestCheck that your client supports MCP (Claude Desktop 0.10.0+)
"Permission denied" errors
The server creates images in
~/nanobanana-imagesby defaultEnsure write permissions to your home directory
Development Setup
For local development:
📄 License
MIT License - see LICENSE for details.
🆘 Support
Issues: GitHub Issues
Discussions: GitHub Discussions
Upstream: zhongweili/nanobanana-mcp-server