MCP server that brings Gemini's image generation and editing capabilities to Claude Desktop, Claude Code, and Cursor. Supports Nano Banana 2 (Flash) and Nano Banana Pro models.
- Image Generation - Create 2K images from text prompts
- Image Editing - Transform images with natural language instructions
- Session Consistency - Maintain style/character across generations
- Runtime Model Switching - Switch between Flash and Pro models without restart
- Multi-turn Chat - Conversational context with image support
- Node.js 18+
- Google AI API Key (Get one here)
claude mcp add nanobanana-mcp -- npx -y @ycse/nanobanana-mcp \
-e "GOOGLE_AI_API_KEY=your_api_key"Edit ~/Library/Application Support/Claude/claude_desktop_config.json (macOS) or %APPDATA%\Claude\claude_desktop_config.json (Windows):
{
"mcpServers": {
"nanobanana-mcp": {
"command": "npx",
"args": ["-y", "@ycse/nanobanana-mcp"],
"env": {
"GOOGLE_AI_API_KEY": "your_api_key"
}
}
}
}Create or edit .cursor/mcp.json (project-level) or ~/.cursor/mcp.json (global):
{
"mcpServers": {
"nanobanana-mcp": {
"command": "npx",
"args": ["-y", "@ycse/nanobanana-mcp"],
"env": {
"GOOGLE_AI_API_KEY": "your_api_key"
}
}
}
}See Cursor MCP Documentation for more details.
| Tool | Purpose |
|---|---|
set_aspect_ratio |
Required. Set aspect ratio before image generation |
set_model |
Switch between flash/pro models at runtime |
gemini_generate_image |
Generate images from text prompts |
gemini_edit_image |
Edit images with natural language |
gemini_chat |
Multi-turn conversation with images |
get_image_history |
View session image history |
clear_conversation |
Reset session context |
Must be called before generating or editing images.
Valid ratios: 1:1, 9:16, 16:9, 3:4, 4:3, 3:2, 2:3, 5:4, 4:5, 21:9
Switch models per-session without restarting:
| Value | Model | Description |
|---|---|---|
flash |
gemini-3.1-flash-image-preview | Nano Banana 2 - Faster (default) |
pro |
gemini-3-pro-image-preview | Nano Banana Pro - Higher quality |
{
prompt: string; // Image description
aspect_ratio?: string; // Override session ratio
output_path?: string; // Save path (default: ~/Documents/nanobanana_generated/)
conversation_id?: string; // Session ID
use_image_history?: boolean; // Use previous images for consistency
reference_images?: string[]; // Reference images for style
}{
image_path: string; // File path, "last", or "history:N"
edit_prompt: string; // Edit instructions
aspect_ratio?: string; // Override session ratio
output_path?: string; // Save path
conversation_id?: string; // Session ID
reference_images?: string[]; // Style references
}npx @ycse/nanobanana-mcp --install-commands claude-code
# Or manually:
# mkdir -p ~/.claude/commands
# cp commands/claude-code/*.md ~/.claude/commands/npx @ycse/nanobanana-mcp --install-commands cursor
# Or manually:
# mkdir -p .cursor/commands
# cp commands/cursor/*.md .cursor/commands/See Cursor Slash Commands for more details.
/nb-flash - Switch to Flash model (faster)
/nb-pro - Switch to Pro model (higher quality)
1. Set aspect ratio: set_aspect_ratio("16:9")
2. Generate: "A cyberpunk cityscape at sunset"
// First image
{ prompt: "A red-hat cat", conversation_id: "cat" }
// Second image - same character
{ prompt: "The cat taking a nap", conversation_id: "cat", use_image_history: true }// Edit the last generated image
{ image_path: "last", edit_prompt: "Change hat to blue" }
// Edit specific image from history
{ image_path: "history:0", edit_prompt: "Add sunglasses" }// Start with Flash for quick iterations
set_model({ model: "flash" })
{ prompt: "Draft concept art" }
// Switch to Pro for final render
set_model({ model: "pro" })
{ prompt: "Final polished version", use_image_history: true }| Variable | Required | Description |
|---|---|---|
GOOGLE_AI_API_KEY |
Yes | Google AI API key |
NANOBANANA_MODEL |
No | Default model (gemini-3.1-flash-image-preview or gemini-3-pro-image-preview) |
Generated images save to ~/Documents/nanobanana_generated/:
- Generated:
generated_[timestamp].png - Edited:
[original]_edited_[timestamp].png
git clone https://github.com/YCSE/nanobanana-mcp.git
cd nanobanana-mcp
npm install
npm run dev # Development mode with hot reload
npm run build # Production build
npm run start # Run compiled serverImage generation fails:
- Verify API key is valid
- Check quota at Google AI Studio
- Ensure
set_aspect_ratiowas called first
Tools not showing:
- Restart Claude Desktop/Code
- Check config file syntax
- Verify
npx -y @ycse/nanobanana-mcpruns without errors
MIT