Nano Banana MCP Server
Provides advanced image generation, editing, and analysis capabilities using Google's Gemini models.
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 Banana MCP ServerGenerate a 4K image of a cyberpunk city at night using Gemini 3 Pro"
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.
šØ Nano Banana MCP Server
A powerful Model Context Protocol (MCP) server for advanced image generation, editing, and analysis using Google's Gemini 2.5 Flash Image Preview (aka "nano-banana") and Gemini 3 Pro Image Preview (aka "nano-banana pro") models.
English | ę„ę¬čŖ
⨠Features
Core Capabilities
š¼ļø Image Generation - Create images from text prompts with advanced customization
āļø Image Editing - Edit existing images using natural language (supports file paths or base64)
š Image Analysis - Analyze and answer questions about images using Gemini
š Multi-Image Processing - Combine, style transfer, or edit multiple images at once
š¦ Batch Generation - Generate multiple images from an array of prompts
šØ Style Templates - Use pre-defined templates for consistent styling
š Variations - Generate variations of existing images with controlled randomness
š¬ Image Comparison - Compare and analyze differences between images
Advanced Features
Dual Model Support - Choose between Gemini 2.5 Flash Image Preview or Gemini 3 Pro Image Preview
High Resolution Output - Generate up to 4K images (4096x4096) with Gemini 3 Pro
Generation Control - Fine-tune with temperature, topP, topK parameters
Parallel Processing - Batch operations with optional parallel execution
Smart Templates - 10+ professional style presets
Flexible Input - Accept both file paths and base64 encoded images
Auto-save - Automatically saves generated images with timestamps
Model Comparison
Feature | Gemini 2.5 Flash Image | Gemini 3 Pro Image |
Max Resolution | 1K (1024px) | 1K / 2K / 4K |
Aspect Ratios | All supported | All supported |
Text Rendering | Good | Excellent |
Speed | Fast | Moderate |
Quality | High | Premium |
Best For | Quick iterations | Final production |
Supported Aspect Ratios: 1:1, 2:3, 3:2, 3:4, 4:3, 4:5, 5:4, 9:16, 16:9, 21:9
Related MCP server: Nano Banana MCP Server
š Quick Start
Prerequisites
Node.js 18.0.0 or higher
Valid Gemini API key
MCP-compatible client (like Claude Code)
Installation
Clone the repository:
git clone https://github.com/Riti0208/nano-banana-mcp.git
cd nano-banana-mcpInstall dependencies:
npm installBuild the project:
npm run buildConfiguration
Add to your Claude Code MCP settings (claude_code_config.json):
{
"mcpServers": {
"nano-banana": {
"command": "node",
"args": ["./dist/index.js"],
"cwd": "/path/to/nano-banana-mcp",
"env": {
"GEMINI_API_KEY": "your-api-key-here"
}
}
}
}š Usage Examples
Generate an Image (Standard)
generate_image({
prompt: "A serene mountain landscape at sunset",
config: {
temperature: 0.8,
topP: 0.95
}
})Generate a High-Resolution Image (4K with Gemini 3 Pro)
generate_image({
prompt: "Ultra detailed cyberpunk city at night with neon signs",
model: "gemini-3-pro-image-preview",
resolution: "4K",
aspectRatio: "16:9",
config: {
temperature: 0.9
}
})Edit an Image
edit_image({
prompt: "Add a rainbow in the sky",
imagePath: "./landscape.jpg",
model: "gemini-3-pro-image-preview",
resolution: "2K",
aspectRatio: "4:3",
config: {
temperature: 0.5
}
})Generate Multiple Variations
generate_variations({
imagePath: "./original.png",
count: 3,
variationStrength: "moderate"
})Batch Generation
batch_generate({
prompts: [
"A red apple",
"A green apple",
"A golden apple"
],
parallel: true
})Use Style Templates
generate_with_template({
template: "photorealistic",
customization: "A vintage coffee shop interior"
})Compare Images
compare_images({
image1Path: "./before.png",
image2Path: "./after.png",
compareType: "differences"
})š ļø Available Tools
Tool | Description |
| Generate images from text prompts |
| Edit existing images with natural language |
| Analyze images and answer questions |
| Process multiple images together |
| Generate multiple images at once |
| Create variations of an image |
| Use predefined style templates |
| Compare two images |
šØ Style Templates
photorealistic - Ultra-realistic photography
artistic - Artistic interpretation
logo - Clean logo design
portrait - Professional portraits
landscape - Breathtaking landscapes
product - Product photography
architectural - Architectural photography
fashion - Fashion photography
food - Food photography
abstract - Abstract art
āļø Configuration Parameters
Parameter | Range | Description |
| 0.0-2.0 | Controls randomness (lower = more focused) |
| 0.0-1.0 | Nucleus sampling threshold |
| 1-40 | Top-k sampling |
| - | Maximum response length |
š License
This project is licensed under the MIT License - see the LICENSE file for details.
š Acknowledgments
Google Gemini team for the amazing image generation API
Model Context Protocol team for the MCP framework
All contributors who help improve this project
š Links
Available Tools
8 toolsanalyze_imageA
Analyze an image and answer questions about it using Gemini
| Name | Required | Description | Default |
|---|---|---|---|
| prompt | Yes | Question or instruction about the image | |
| imageData | No | Base64 encoded image data to analyze (optional if imagePath is provided) | |
| imagePath | No | Path to the image file to analyze (optional if imageData is provided) |
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. It discloses the use of 'Gemini' but fails to mention what the output looks like, whether the operation is read-only, or any potential side effects. The description is too minimal to provide meaningful transparency.
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 sentence that conveys the essential purpose without any filler. It is appropriately sized for a simple tool and immediately front-loads the key action and target.
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 and complete schema, the description is mostly adequate. However, the absence of an output schema means the description should have indicated what the tool returns (e.g., a text answer) or any limitations. This missing information prevents it from being fully complete.
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 baseline is 3. The description adds no additional meaning beyond the schema's parameter descriptions. It does not clarify how 'prompt' relates to the image or any format expectations for imageData/imagePath, but the schema already documents these sufficiently.
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 primary function: 'Analyze an image and answer questions about it using Gemini.' The verb 'analyze' and resource 'image' are specific, and the mention of answering questions distinguishes it from sibling tools that generate or edit images.
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 clear context for when to use the tool (analyzing images, not creating/modifying them), though it does not explicitly name alternative tools or state exclusion criteria. The purpose alone is enough for an agent to infer appropriate usage given the sibling tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
batch_generateB
Generate multiple images from an array of prompts
| Name | Required | Description | Default |
|---|---|---|---|
| model | No | Model to use: gemini-3.1-flash-image-preview (Nano Banana 2, recommended) or gemini-3-pro-image-preview (Nano Banana Pro) | |
| config | No | Advanced generation configuration | |
| prompts | Yes | Array of prompts to generate images for | |
| parallel | No | Process prompts in parallel (default: false) | |
| outputDir | No | Directory to save the generated images | |
| resolution | No | Output resolution: 0.5K (512px, 3.1 Flash only), 1K (default), 2K, or 4K | |
| aspectRatio | No | Aspect ratio for the generated images (optional) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries full responsibility for behavioral disclosure. It only restates the basic purpose and does not mention side effects (e.g., saving images to outputDir), parallel execution behavior, or output format. This is a significant transparency gap.
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, focused sentence with no redundant wording. It is well-structured and front-loaded with the core function.
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?
Despite full schema coverage, the tool has 7 parameters including a nested config object, and no output schema. The description does not clarify expected return values, how config works, or default behaviors (e.g., resolution, parallelism). It is incomplete for a tool of this complexity.
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 all parameters have descriptive text in the schema. The description adds little beyond what the schema already provides, except reinforcing that images are generated from an array of prompts. Baseline 3 is appropriate.
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 ('Generate') and the resource ('multiple images from an array of prompts'), which distinguishes it from sibling tools like generate_image (single) and edit_image. It is specific and unambiguous.
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?
Usage is implied by the name and description: for batch generation when you have multiple prompts. However, there is no explicit mention of when to use this over alternatives, nor any exclusions or prerequisites. No sibling tool is referenced.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
compare_imagesB
Compare two images and analyze their differences or similarities
| Name | Required | Description | Default |
|---|---|---|---|
| image1Path | Yes | Path to the first image | |
| image2Path | Yes | Path to the second image | |
| compareType | No | Type of comparison | both |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure, but it only restates the high-level action. It does not disclose what the output looks like, whether the tool provides visual markers, confidence scores, or any limitations.
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, front-loaded sentence with all necessary high-level information and no filler 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?
The schema fully documents parameters, making invocation straightforward, but the absence of an output schema and annotations means the description should explain return values or comparison behavior. It only states the basic function, leaving some invocation context unspecified.
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?
The input schema already describes all three parameters with 100% coverage, so the baseline is 3. The description adds no extra meaning beyond mirroring the compareType enum values ('differences or similarities').
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 uses a specific verb ('compare'), identifies the target ('two images'), and clarifies the scope ('differences or similarities'), making the tool's purpose clear and distinguishing it from sibling generation/editing tools.
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?
There is no explicit guidance on when to use this tool versus alternatives like analyze_image or multi_image_edit, nor any mention of when not to use it or what prerequisites exist.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
edit_imageB
Edit an existing image using Gemini image models (Nano Banana 2 or Nano Banana Pro)
| Name | Required | Description | Default |
|---|---|---|---|
| model | No | Model to use: gemini-3.1-flash-image-preview (Nano Banana 2, recommended) or gemini-3-pro-image-preview (Nano Banana Pro) | |
| prompt | Yes | The text prompt describing how to edit the image | |
| imageData | No | Base64 encoded image data to edit (optional if imagePath is provided) | |
| imagePath | No | Path to the image file to edit (optional if imageData is provided) | |
| outputDir | No | Directory to save the edited image (optional, defaults to ~/Downloads/nano-banana-images) | |
| resolution | No | Output resolution: 0.5K (512px, 3.1 Flash only), 1K (default), 2K, or 4K | |
| aspectRatio | No | Aspect ratio for the generated image (optional) |
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. It only states the editing action and models, but does not disclose whether the original image is modified or preserved, where the output is saved, what the return format is, or any model-specific limitations. The presence of an outputDir parameter in the schema suggests file saving, but this is not mentioned in the description.
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, clear sentence with no wasted words. It is appropriately front-loaded with the essential purpose. However, it is arguably too sparse given the tool's complexity, but as a concise summary it remains effective.
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?
The tool has 7 parameters and no output schema or annotations, so the description should compensate. It does not explain return values, output file behavior, the mutual exclusivity of imageData and imagePath, or provide guidance on selecting between the two models. The description is incomplete for an agent to fully understand the tool's behavior without additional inference from the schema.
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 documents all 7 parameters. The description does not add additional meaning beyond naming the models; it does not clarify prerequisites like the requirement of either imageData or imagePath, nor does it explain the meaning of resolution or aspectRatio beyond the enums. Baseline of 3 is appropriate.
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 edits an existing image using specific Gemini models (Nano Banana 2 or Nano Banana Pro). It distinguishes itself from sibling tools like generate_image (which creates new images) and multi_image_edit (which suggests multiple images). The verb 'Edit' + resource 'existing image' is specific and unambiguous.
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 implies usage when you want to edit an existing image, but it does not provide explicit guidance on when to choose this tool over alternatives or mention any exclusions. It lacks context such as 'for single-image edits, use this; for multi-image, use multi_image_edit'.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
generate_imageC
Generate an image using Gemini image models (Nano Banana 2 or Nano Banana Pro)
| Name | Required | Description | Default |
|---|---|---|---|
| model | No | Model to use: gemini-3.1-flash-image-preview (Nano Banana 2, recommended) or gemini-3-pro-image-preview (Nano Banana Pro) | |
| prompt | Yes | The text prompt describing the image to generate | |
| outputDir | No | Directory to save the generated image (optional, defaults to ~/Downloads/nano-banana-images) | |
| resolution | No | Output resolution: 0.5K (512px, 3.1 Flash only), 1K (default), 2K, or 4K | |
| aspectRatio | No | Aspect ratio for the generated image (optional) | |
| returnBase64 | No | Return the image as base64 data URL instead of saving to file (useful for Claude Desktop) |
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. It only says 'generate an image' and does not disclose side effects like file saving (default output directory), the possibility of returning base64, model-specific restrictions (e.g., 0.5K only for Flash), or any failure modes. The schema mentions outputDir and returnBase64, but the description itself adds no behavioral transparency.
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, front-loaded sentence that immediately states the verb and resource. It contains no filler or redundant explanation, making it appropriately concise for the information it conveys.
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 lack of annotations and output schema, the description should clarify success outputs (e.g., saved file path vs. base64) and model selection guidance. It does neither, leaving the agent to rely entirely on schema descriptions. While the schema is rich, the tool-level context is incomplete for confident invocation.
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 descriptions cover all 6 parameters at 100% with meaningful details (model enum, resolution, aspect ratio, output options). The description merely repeats model names already present in the schema, adding no new parameter semantics beyond the structured fields.
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 a specific verb ('generate') and resource ('image') with relevant model context (Nano Banana 2 or Nano Banana Pro). It does not explicitly differentiate from sibling tools like batch_generate or generate_variations, but the core purpose is unambiguous.
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?
No guidance is provided on when to use this tool versus alternatives such as edit_image or generate_variations. The description gives no context for model selection or ideal use cases, leaving the agent to infer usage from sibling names and schema enums.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
generate_variationsC
Generate variations of an existing image
| Name | Required | Description | Default |
|---|---|---|---|
| count | No | Number of variations to generate (1-5) | |
| model | No | Model to use: gemini-3.1-flash-image-preview (Nano Banana 2, recommended) or gemini-3-pro-image-preview (Nano Banana Pro) | |
| config | No | Advanced generation configuration | |
| imageData | No | Base64 encoded reference image | |
| imagePath | No | Path to the reference image | |
| outputDir | No | Directory to save the variations | |
| resolution | No | Output resolution: 0.5K (512px, 3.1 Flash only), 1K (default), 2K, or 4K | |
| aspectRatio | No | Aspect ratio for the generated variations (optional) | |
| variationStrength | No | How different the variations should be | moderate |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries full responsibility for disclosing behavioral details. It only states the high-level purpose and does not mention input requirements, output format, or any constraints. It adds minimal value beyond the tool name.
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 concise sentence that is immediately understandable, with no wasted words.
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?
Despite having 9 parameters and no annotations, the description is extremely brief. It doesn't cover when to use the tool, what inputs are essential, or what the output looks like, leaving the agent with significant gaps.
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 coverage is 100%, so the description doesn't need to repeat parameter info. The description adds no extra semantic context beyond what the schema already documents, so a baseline score of 3 is appropriate.
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 function with a specific verb ('Generate') and resource ('variations of an existing image'), distinguishing it from sibling tools like edit_image. However, it doesn't explicitly contrast with generate_image or batch_generate, so there is minor ambiguity.
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 no guidance on when to use this tool versus alternatives. It simply states the purpose without any contextual cues, such as 'for creating similar images' or comparing with edit_image.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
generate_with_templateB
Generate an image using a pre-defined style template
| Name | Required | Description | Default |
|---|---|---|---|
| model | No | Model to use: gemini-3.1-flash-image-preview (Nano Banana 2, recommended) or gemini-3-pro-image-preview (Nano Banana Pro) | |
| config | No | Advanced generation configuration | |
| template | Yes | Pre-defined prompt template | |
| outputDir | No | Directory to save the generated image | |
| resolution | No | Output resolution: 0.5K (512px, 3.1 Flash only), 1K (default), 2K, or 4K | |
| aspectRatio | No | Aspect ratio for the generated image (optional) | |
| customization | Yes | Your specific requirements to customize the template |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries full burden for behavioral disclosure. It only states the core function, providing no details about template mechanics, file output, resolution constraints, or any side effects. This is insufficient for a generation tool with 7 parameters.
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 sentence with no unnecessary words, making it concise and front-loaded. However, it is under-specified, which slightly reduces the score, but it does not contain waste.
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 complexityā7 parameters, nested config, enums, no output schema, and no annotationsāthe description is far too minimal. It omits guidance on how templates work, how customization operates, and which model/resolution options are relevant, leaving the agent to infer crucial context from the schema alone.
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 baseline is 3. The tool description adds no parameter semantics beyond what the schema already provides; the mention of 'template' is redundant with the schema's template parameter definition.
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 ('Generate an image') and the specific method ('using a pre-defined style template'). This distinguishes it from edit_image or analyze_image, though it doesn't explicitly contrast with sibling generate_image, which may serve as the generic generation tool.
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 phrase 'pre-defined style template' implies this tool is for template-based generation, but there is no explicit guidance on when to use it over alternatives like generate_image or generate_variations. The use case is implied rather than stated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
multi_image_editA
Edit or combine multiple images using Gemini image models (e.g., transfer pose, style, combine elements)
| Name | Required | Description | Default |
|---|---|---|---|
| model | No | Model to use: gemini-3.1-flash-image-preview (Nano Banana 2, recommended) or gemini-3-pro-image-preview (Nano Banana Pro) | |
| images | Yes | Array of images to process | |
| prompt | Yes | The text prompt describing how to combine or edit the images | |
| outputDir | No | Directory to save the result (optional, defaults to current directory) | |
| resolution | No | Output resolution: 0.5K (512px, 3.1 Flash only), 1K (default), 2K, or 4K | |
| aspectRatio | No | Aspect ratio for the generated image (optional) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must disclose behavioral traits. It only states the high-level action without addressing permissions, image uploads, output handling, or potential side effects. This leaves significant behavioral uncertainty.
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?
Single sentence, front-loaded with the core purpose and illustrative examples. No wasted words.
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?
Despite the schema richness, the description omits important operational details such as how results are returned (e.g., file output), any constraints on image combinations, or the role of the optional parameters in practice. With no output schema or annotations, the description alone is insufficient for advanced use.
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?
The input schema covers all 6 parameters (100%) with detailed descriptions for each, so the tool description need not add parameter-level details. The description itself adds no extra meaning beyond the schema, meriting the baseline.
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 edits or combines multiple images using Gemini image models, with concrete examples (transfer pose, style, combine elements). This distinguishes it from siblings like generate_image (creation) and edit_image (likely single image).
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 examples imply when to use this tool (multi-image transformations like pose transfer or element combination), but it does not explicitly contrast with alternatives or state exclusions. The context is clear enough for basic selection.
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.
8 tool updates
v1.0.0- First observed
analyze_image - First observed
batch_generate - First observed
compare_images - First observed
edit_image - First observed
generate_image - First observed
generate_variations - First observed
generate_with_template - First observed
multi_image_edit
TDQS
Scored across 8 tools
Each tool targets a distinct operation (generate, edit, analyze, compare, batch, variations, template), so boundaries are clear. Minor overlap exists between generate_variations and edit_image, but the descriptions help differentiate the intended use cases.
Tool names follow a consistent snake_case verb-object pattern (generate_image, edit_image, analyze_image, compare_images). A few names like multi_image_edit and batch_generate add modifiers but still fit the overall predictable style.
With 8 tools, the server is well-scoped for an image generation and manipulation domain, covering all major workflows without excessive redundancy or a thin feature set.
The set covers generation, editing, analysis, comparison, batch, variations, and template-based creation, providing comprehensive lifecycle coverage for image tasks. Minor gaps like model management or file export are not essential to the core purpose.
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
LLM chat, text tools, image generation, editing and batch image jobs
AI image generation across 5 quality tiers (SDXL to Gemini 3 Pro), 50 free credits on signup.
Create images and videos from prompts, with options for image mixing, reference images, and start/ā¦
Analyze images and videos with Gemini to get fast, reliable visual insights. Handle content from Uā¦
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.724MIT
- AlicenseAqualityAmaintenanceEnables AI image generation and editing using Google's Gemini Multimodal Image APIs.61MIT
- AlicenseAqualityDmaintenanceEnables AI image generation and editing using Google's Gemini models via natural language, supporting multi-turn editing, search grounding, storyboards, icon sets, and video-to-image.5121MIT
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/Riti0208/nano-banana-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server