A side-by-side look at the Nanobanana MCP Server and Ultimate Gemini MCP MCP servers: transport, auth, tools, quality signals, and the config to install either one in Claude, Cursor, Windsurf or VS Code.
Verdict: choose Nanobanana MCP Server for multimedia process work as a local process; choose Ultimate Gemini MCP for multimedia process as a local process. You can also run both side by side in one mcpServers block.
GEMINI_API_KEY, NANOBANANA_AUTH_METHOD, GCP_PROJECT_ID, GCP_REGION.generate_image, upload_file, show_output_stats.GEMINI_API_KEY, OUTPUT_DIR.generate_image, generate_app_icon, batch_generate.Rows where the two servers differ are marked.
| Spec | ||
|---|---|---|
| Category | Multimedia Process | Multimedia Process |
| Quality signal | 63/100 · Good | 53/100 · Good |
| Install command | Confirmed | Confirmed |
| Transport | Local subprocess (stdio) | Local subprocess (stdio) |
| Auth | Not declared | Not declared |
| Pricing | Not declared | Not declared |
| Required env vars | GEMINI_API_KEYNANOBANANA_AUTH_METHODGCP_PROJECT_IDGCP_REGION | GEMINI_API_KEYOUTPUT_DIR |
| Verified owner | Community listing | Community listing |
| GitHub stars | 400 | 14 |
| Directory activity | 1 views 0 installs 0 upvotes | 0 views 0 installs 0 upvotes |
| Tools | 4 | 3 |
| Full listing | View Nanobanana MCP Server | View Ultimate Gemini MCP |
generate_imageGenerate new images or edit existing images using natural language instructions.
Supports multiple input modes:
1. Pure generation: Just provide a prompt to create new images
2. Multi-image conditioning: Provide up to 3 input images using input_image_path_1/2/3 parameters
3. File ID editing: Edit previously uploaded images using Files API ID
4. File path editing: Edit local images by providing single input image path
Automatically detects mode based on parameters or can be explicitly controlled.
Input images are read from the local filesystem to avoid massive token usage.
Returns both MCP image content blocks and structured JSON with metadata.upload_fileUpload a local file through the Gemini Files API and return its URI & metadata.
Useful when the image is larger than 20MB or reused across prompts.show_output_statsShow statistics about the output directory and recently generated images.maintenancePerform maintenance operations following workflows.md patterns.
Available operations:
- cleanup_expired: Remove expired Files API entries from database
- cleanup_local: Clean old local files based on age/LRU
- check_quota: Check Files API storage usage vs. ~20GB budget
- database_hygiene: Clean up database inconsistencies
- full_cleanup: Run all cleanup operations in sequencegenerate_imageGenerate an image with Gemini 3.1 Flash Image.generate_app_iconPurpose-built for **app icons and logos**. Square, transparent, and 1024px are **forced** — there is no `aspect_ratio`, `image_size`, `output_format`, or `transparent_background` knob to get wrong. Every result is a real alpha-channel PNG at `transparent_path`, ready to drop into a `.iconset` direc…batch_generateGenerate multiple images in parallel.Paste either block (or both) into your client config, e.g. claude_desktop_config.json or ~/.cursor/mcp.json. We only show a config when the install command is confirmed.
{
"mcpServers": {
"nanobanana-mcp-server": {
"command": "uvx",
"args": [
"nanobanana-mcp-server@latest"
],
"env": {
"GEMINI_API_KEY": "YOUR_GEMINI_API_KEY_HERE",
"NANOBANANA_AUTH_METHOD": "YOUR_NANOBANANA_AUTH_METHOD_HERE",
"GCP_PROJECT_ID": "YOUR_GCP_PROJECT_ID_HERE",
"GCP_REGION": "YOUR_GCP_REGION_HERE"
}
}
}
}
{
"mcpServers": {
"ultimate-gemini-mcp": {
"command": "uvx",
"args": [
"ultimate-gemini-mcp@latest"
],
"env": {
"GEMINI_API_KEY": "YOUR_GEMINI_API_KEY_HERE",
"OUTPUT_DIR": "YOUR_OUTPUT_DIR_HERE"
}
}
}
}