Skip to main content
Glama

@saroby/nanobanana-mcp

Google Gemini image generation MCP server (Nano Banana).

Features

  • generate_image - Generate images using Google Gemini models

    • flash mode: gemini-2.5-flash-image (fast, ~2-3s)

    • pro mode: 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

  1. Go to Google AI Studio

  2. Create an API key

Install in Claude Code

claude mcp add nanobanana -e GEMINI_API_KEY=your-key-here -- npx -y @saroby/nanobanana-mcp

Manual Usage

GEMINI_API_KEY=your-key-here npx @saroby/nanobanana-mcp

Tools

generate_image

Parameter

Type

Required

Description

prompt

string

Yes

Image description (1-8192 chars)

model

"flash" | "pro"

No

Model selection (default: flash)

aspect_ratio

enum

No

1:1, 16:9, 9:16, 4:3, 3:4

negative_prompt

string

No

Elements to exclude

output_dir

string

No

Save directory (default: ./nanobanana-images)

count

number

No

Number of images 1-4 (default: 1)

list_images

Parameter

Type

Required

Description

directory

string

No

Directory to search (default: ./nanobanana-images)

Development

npm install
npm run build
npm run dev  # watch mode

License

MIT

Available Tools

2 tools
generate_imageB

Generate images using Google Gemini models. Supports 'flash' (fast, gemini-2.0-flash-exp) and 'pro' (high quality, imagen-3.0) models.

ParametersJSON Schema
NameRequiredDescriptionDefault
promptYesImage description prompt (1-8192 characters)
modelNoModel to use: 'flash' (fast, gemini-2.0-flash-exp) or 'pro' (high quality, imagen-3.0)flash
aspect_ratioNoImage aspect ratio1:1
negative_promptNoElements to exclude from the image
output_dirNoOutput directory path (default: ./nanobanana-images)
countNoNumber of images to generate (1-4)

TDQS

B3.3/5.0
Behavior2/5

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.

Conciseness5/5

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.

Completeness3/5

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.

Parameters3/5

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.

Purpose4/5

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.

Usage Guidelines3/5

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
directoryNoDirectory to search for images (default: ./nanobanana-images)

TDQS

B3.1/5.0
Behavior2/5

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.

Conciseness5/5

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.

Completeness3/5

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.

Parameters3/5

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.

Purpose4/5

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.

Usage Guidelines2/5

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.

  1. 2 tool updatesv1.0.0
    • First observedgenerate_image
    • First observedlist_images

TDQS

B3.3/5.0
Disambiguation5/5

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.

Naming Consistency5/5

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.

Tool Count2/5

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.

Completeness2/5

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

ActivityInactive
ResponsivenessNo issues

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

Related MCP Servers

Latest Blog Posts

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