Nano Banana Pro MCP Server
An MCP (Model Context Protocol) server that brings Google Gemini 2.0 Flash native image generation capabilities directly into Claude Code and other MCP-compatible AI assistants.
Generate, edit, and compose images using natural language - all without leaving your coding environment.
Features
- Generate Images: Create high-quality images from text prompts (up to 4K resolution)
- Edit Images: Modify existing images with text instructions
- Continue Editing: Iteratively refine the last generated image
- Compose Images: Combine up to 14 reference images into new compositions
- Google Search Grounding: Generate images based on real-time information
- Multiple Aspect Ratios: Support for 1:1, 16:9, 9:16, 4:3, 3:4, and more
- High Resolution: Output at 1K, 2K, or 4K resolution
Prerequisites
- Docker Desktop installed and running
- Gemini API key from Google AI Studio
Quick Start
1. Build the Docker Image
cd nano-banana-pro-mcp
docker build -t nano-banana-pro-mcp .
2. Create Output Directory
mkdir -p output input
3. Add to Claude Code
Add the MCP server to Claude Code using one of these methods:
Option A: Using claude mcp add (Recommended)
claude mcp add nano-banana-pro \
--transport stdio \
-- docker run -i --rm \
-e GEMINI_API_KEY=$GEMINI_API_KEY \
-v $(pwd)/output:/output \
-v $(pwd)/input:/input:ro \
nano-banana-pro-mcp
Option B: Manual Configuration
Add to your Claude Code MCP configuration file (~/.claude/claude_desktop_config.json or similar):
{
"mcpServers": {
"nano-banana-pro": {
"command": "docker",
"args": [
"run", "-i", "--rm",
"-e", "GEMINI_API_KEY",
"-v", "/path/to/output:/output",
"-v", "/path/to/input:/input:ro",
"nano-banana-pro-mcp"
],
"env": {
"GEMINI_API_KEY": "your-api-key-here"
}
}
}
}
Available Tools
generate_image
Generate a new image from a text prompt.
Parameters:
prompt(required): Text description of the image to createaspectRatio(optional): 1:1, 2:3, 3:2, 3:4, 4:3, 4:5, 5:4, 9:16, 16:9, 21:9resolution(optional): 1K, 2K, or 4KuseGoogleSearch(optional): Enable real-time information grounding
Example:
Generate a professional hero image for a tech startup website, showing a
modern office with developers collaborating, 16:9 aspect ratio, 2K resolution
edit_image
Edit an existing image with text instructions.
Parameters:
imagePath(required): Path to the image fileprompt(required): Description of the modificationsreferenceImages(optional): Array of reference image pathsaspectRatio(optional): Output aspect ratioresolution(optional): Output resolution
Example:
Edit /input/logo.png - Change the background color to gradient blue and
add a subtle glow effect around the text
continue_editing
Continue editing the last generated/edited image.
Parameters:
prompt(required): Description of additional modificationsreferenceImages(optional): Reference images for style transfer, etc.aspectRatio(optional): Output aspect ratioresolution(optional): Output resolution
Example:
Make the colors more vibrant and add a subtle drop shadow
compose_images
Combine multiple images into a new composition.
Parameters:
images(required): Array of image paths (up to 14)prompt(required): How to combine the imagesaspectRatio(optional): Output aspect ratioresolution(optional): Output resolution
Example:
Compose these product photos into a professional catalog layout
with consistent lighting and white background
get_last_image_info
Get information about the last generated image.
get_configuration_status
Check if the API key is configured.
Tips for Best Results
- Be Descriptive: The more detail in your prompt, the better the result
- Use Photography Terms: For realistic images, mention camera angles, lens types, lighting
- Iterate: Use
continue_editingto refine images step by step - Reference Images: Use up to 14 reference images for character consistency or style transfer
- Google Search: Enable for real-time data like weather, news, or current events
Output Location
Generated images are saved to the /output directory (mounted from ./output on your host).
Troubleshooting
"GEMINI_API_KEY not set"
Make sure your API key is set in your environment:
export GEMINI_API_KEY="your-key-here"
Images not appearing
Check the ./output directory on your host machine. Ensure the volume mount is correct.
Docker permission issues
On Linux, you may need to run:
sudo chown -R $USER:$USER output
Development
To run locally without Docker:
npm install
npm run build
GEMINI_API_KEY=your-key OUTPUT_DIR=./output npm start
Contributing
Contributions are welcome! Please feel free to submit a Pull Request.
License
MIT
Acknowledgments
- Google Gemini for the image generation API
- Model Context Protocol by Anthropic
- Claude Code for the amazing AI coding assistant