Nano Banana
Integrates with Google's AI services to provide image generation capabilities through Gemini and Imagen models, featuring support for custom aspect ratios and negative prompts.
Enables image generation using Google Gemini and Imagen models, allowing users to specify prompts, aspect ratios, and quality modes (Flash or Pro) while managing generated output.
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@Nano Bananagenerate a cinematic 16:9 landscape of a futuristic city using the pro model"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
@saroby/nanobanana-mcp
Google Gemini image generation MCP server (Nano Banana).
Features
generate_image - Generate images using Google Gemini models
flashmode: gemini-2.5-flash-image (fast, ~2-3s)promode: gemini-3-pro-image-preview (high quality, ~5-8s)
list_images - List generated images in a directory
Related MCP server: Nano Banana MCP Server
Setup
Get API Key
Go to Google AI Studio
Create an API key
Install in Claude Code
claude mcp add nanobanana -e GEMINI_API_KEY=your-key-here -- npx -y @saroby/nanobanana-mcpManual Usage
GEMINI_API_KEY=your-key-here npx @saroby/nanobanana-mcpTools
generate_image
Parameter | Type | Required | Description |
| string | Yes | Image description (1-8192 chars) |
|
| No | Model selection (default: flash) |
| enum | No |
|
| string | No | Elements to exclude |
| string | No | Save directory (default: ./nanobanana-images) |
| number | No | Number of images 1-4 (default: 1) |
list_images
Parameter | Type | Required | Description |
| string | No | Directory to search (default: ./nanobanana-images) |
Development
npm install
npm run build
npm run dev # watch modeLicense
MIT
Available Tools
2 toolsgenerate_imageB
Generate images using Google Gemini models. Supports 'flash' (fast, gemini-2.0-flash-exp) and 'pro' (high quality, imagen-3.0) models.
| Name | Required | Description | Default |
|---|---|---|---|
| prompt | Yes | Image description prompt (1-8192 characters) | |
| model | No | Model to use: 'flash' (fast, gemini-2.0-flash-exp) or 'pro' (high quality, imagen-3.0) | flash |
| aspect_ratio | No | Image aspect ratio | 1:1 |
| negative_prompt | No | Elements to exclude from the image | |
| output_dir | No | Output directory path (default: ./nanobanana-images) | |
| count | No | Number of images to generate (1-4) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden of behavioral disclosure. While it mentions model characteristics (fast vs. high quality), it doesn't cover critical behavioral aspects like authentication requirements, rate limits, cost implications, file output behavior, or error handling. For a generative AI tool with no annotation coverage, this is insufficient.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely concise (two sentences) and front-loaded with the core purpose. Every sentence adds value: the first establishes the tool's function, and the second provides model differentiation. There's zero wasted text or redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the complexity of an image generation tool with 6 parameters and no annotations or output schema, the description is incomplete. It covers the basic purpose and model options but lacks information about output format, file handling, error cases, or integration context. The schema handles parameter documentation, but the description should provide more operational context.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already fully documents all 6 parameters. The description adds minimal value by briefly explaining the model options ('flash' for fast, 'pro' for high quality), but doesn't provide additional semantic context beyond what's in the schema. This meets the baseline of 3 when schema coverage is high.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose: 'Generate images using Google Gemini models.' It specifies the action (generate) and resource (images) with the technology context (Google Gemini models). However, it doesn't explicitly differentiate from the sibling 'list_images' tool, which would require a 5.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides some usage context by explaining the two model options ('flash' for fast, 'pro' for high quality), which implies when to choose each. However, it doesn't explicitly state when to use this tool versus the sibling 'list_images' or provide any exclusion criteria or alternative scenarios.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_imagesB
List generated images in the specified directory.
| Name | Required | Description | Default |
|---|---|---|---|
| directory | No | Directory to search for images (default: ./nanobanana-images) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries full burden. It mentions the directory parameter but doesn't disclose behavioral traits like what 'List' returns (e.g., file paths, metadata, pagination), error handling, or performance characteristics. For a tool with no annotation coverage, this leaves key operational details unspecified.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, efficient sentence that directly states the tool's purpose without unnecessary words. It's appropriately sized for a simple tool and front-loaded with the core action, making it easy to parse quickly.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's low complexity (1 parameter, no output schema, no annotations), the description is minimally adequate but incomplete. It covers the basic purpose but lacks details on usage guidelines, behavioral transparency, and output expectations, which are needed for effective agent operation despite the simple context.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, with the parameter 'directory' fully documented in the schema. The description adds no additional meaning beyond implying the directory contains 'generated images', which is already suggested by the tool name. Baseline 3 is appropriate as the schema does the heavy lifting, but the description doesn't compensate or enhance understanding.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('List') and resource ('generated images'), specifying the scope as 'in the specified directory'. It distinguishes from the sibling tool 'generate_image' by focusing on retrieval rather than creation. However, it doesn't explicitly contrast with the sibling beyond the different verb, missing a direct comparison statement.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides minimal guidance, stating only the basic context ('in the specified directory'). It doesn't explain when to use this tool versus alternatives, mention prerequisites, or provide any exclusions. With a sibling tool available, this lack of comparative guidance is a significant gap.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections. Dates show when Glama detected each change.
2 tool updates
v1.0.0- First observed
generate_image - First observed
list_images
TDQS
The two tools have completely distinct purposes: generate_image creates new images, while list_images retrieves existing ones. There is no overlap in functionality, making it impossible for an agent to confuse them.
Both tools follow a consistent verb_noun pattern (generate_image, list_images) with clear, descriptive names. The naming convention is uniform and predictable throughout the set.
With only two tools, the server feels severely under-scoped for an image generation domain. There are obvious gaps like deleting, updating, or managing images beyond listing, making it difficult for agents to perform complete workflows.
The tool surface is highly incomplete for image generation and management. While it covers creation and listing, it lacks essential operations such as deleting images, updating metadata, or viewing detailed image properties, which will cause agent failures in many scenarios.
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Connectors
Create images and videos from prompts, with options for image mixing, reference images, and start/…
Generate and edit images and videos with imageat.
Generate images, videos, voiceovers, and captions from a chat prompt.
Related MCP Servers
- FlicenseAqualityDmaintenanceEnables text-to-image generation, image editing, and multi-image composition using Google's Gemini 2.5 Flash Image API. Supports flexible aspect ratios and character consistency across generations.1-
- AlicenseNot gradedqualityDmaintenanceEnables generating, editing, and manipulating images using Google Gemini Flash 2.5 through natural language prompts. Supports text-to-image generation, image editing, multi-image composition, and batch processing with direct file management.1044MIT
- FlicenseNot gradedqualityCmaintenanceEnables image generation and editing using Google's Gemini models with support for model selection and custom aspect ratios. Users can generate high-quality images or modify existing ones through natural language prompts while controlling specific parameters like quality and dimensions.-
- FlicenseNot gradedqualityDmaintenanceEnables image generation, editing, and refinement using Google's Gemini 2.5 Flash Image model with support for multi-image composition and style transfer.-
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/saroby/nanobanana-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server