Skip to main content
Glama
brunoqgalvao

Gemini Flash Image MCP Server

by brunoqgalvao

Gemini Flash Image 2.5 Tool (Nano Banana)

A tool for generating and editing images using Google's Gemini 2.5 Flash Image API (affectionately known as "Nano Banana").

Includes both a Python CLI tool and a Model Context Protocol (MCP) server for integration with AI assistants like Claude Code.

Features

  • Text-to-Image Generation: Create images from text prompts

  • Image Editing: Modify existing images with natural language instructions

  • Multi-Image Composition: Combine multiple images into one

  • Flexible Aspect Ratios: Support for 10 different aspect ratios

  • Character Consistency: Maintain character appearance across multiple generations

  • MCP Server: Integrate with Claude Code and other MCP clients

  • Command-Line Interface: Easy-to-use CLI for quick operations

  • Python API: Use as a library in your own projects

Related MCP server: OpenRouter Image MCP Server

Installation

Simplest Install (using npx)

For Claude Code MCP configuration, you can reference the package directly via GitHub:

Add to your MCP settings (~/.config/claude/claude_desktop_config.json):

{
  "mcpServers": {
    "gemini-image": {
      "command": "npx",
      "args": ["-y", "github:brunoqgalvao/gemini-image-mcp-server"],
      "env": {
        "GEMINI_API_KEY": "your_api_key_here"
      }
    }
  }
}

Then restart Claude Code! The generate_image tool will be available instantly.

Local Install

# Clone the repository
git clone https://github.com/brunoqgalvao/gemini-image-mcp-server.git
cd gemini-image-mcp-server

# Run the installer
./install.sh

The installer will:

  • Install Node.js dependencies

  • Create a .env file from template

  • Run validation tests

  • Show you the MCP configuration to add to Claude Code

Manual Install

  1. Clone or download this repository

  2. Install Node.js dependencies:

npm install
  1. Get your API key from Google AI Studio

  2. Create a .env file in the project directory:

GEMINI_API_KEY=your_api_key_here
  1. Configure your MCP client (e.g., Claude Code):

For macOS/Linux - Add to ~/.config/claude/claude_desktop_config.json:

{
  "mcpServers": {
    "gemini-image": {
      "command": "node",
      "args": ["/absolute/path/to/agent-dispatcher/index.js"],
      "env": {
        "GEMINI_API_KEY": "your_api_key_here"
      }
    }
  }
}

For Windows - Add to %APPDATA%\Claude\claude_desktop_config.json:

{
  "mcpServers": {
    "gemini-image": {
      "command": "node",
      "args": ["C:\\absolute\\path\\to\\agent-dispatcher\\index.js"],
      "env": {
        "GEMINI_API_KEY": "your_api_key_here"
      }
    }
  }
}
  1. Restart Claude Code or your MCP client

Installing on Another Computer

Easiest way - Just use npx! On any computer with Node.js:

Add to Claude Code MCP settings:

{
  "mcpServers": {
    "gemini-image": {
      "command": "npx",
      "args": ["-y", "github:brunoqgalvao/gemini-image-mcp-server"],
      "env": {
        "GEMINI_API_KEY": "your_api_key_here"
      }
    }
  }
}

No cloning needed! npx will fetch and run it automatically.

Alternative: Local installation

# Clone and install
git clone https://github.com/brunoqgalvao/gemini-image-mcp-server.git
cd gemini-image-mcp-server
./install.sh

Option 2: Python CLI Tool

  1. Clone or download this repository

  2. Install Python dependencies:

pip install -r requirements.txt
  1. Get your API key from Google AI Studio

  2. Create a .env file in the project directory:

GEMINI_API_KEY=your_api_key_here

Usage

MCP Server

Once configured, the generate_image tool will be available in your MCP client:

Parameters:

  • prompt (required): Text description of the image to generate or edits to make

  • output_path (required): Path where the image will be saved (must end in .png)

  • input_images (optional): Array of paths to input images for editing/composition

  • aspect_ratio (optional): One of: 1:1, 2:3, 3:2, 3:4, 4:3, 4:5, 5:4, 9:16, 16:9, 21:9

  • image_only (optional): Set to true for image-only output without text

Example usage in Claude Code:

"Generate a sunset over mountains and save it to sunset.png"

The MCP server will handle the API call and save the image automatically.

Command Line

Basic text-to-image generation:

python gemini_image_tool.py "A cat eating a banana in space" -o cat_banana.png

Edit an existing image:

python gemini_image_tool.py "Remove the background" -i photo.jpg -o edited.png

Compose multiple images:

python gemini_image_tool.py "Combine these into a collage" -i img1.jpg -i img2.jpg -o collage.png

Specify aspect ratio:

python gemini_image_tool.py "A cinematic landscape" -o wide.png --aspect-ratio 21:9

Image-only output (no text response):

python gemini_image_tool.py "A red apple" -o apple.png --image-only

Save full API response:

python gemini_image_tool.py "A sunset" -o sunset.png --save-json response.json

Python API

from gemini_image_tool import GeminiImageTool

# Initialize the tool
tool = GeminiImageTool(api_key="your_api_key_here")

# Generate an image
result = tool.generate_content(
    prompt="A futuristic city at night",
    aspect_ratio="16:9",
    output_path="city.png"
)

# Edit an image
result = tool.generate_content(
    prompt="Make the sky purple",
    input_images=["city.png"],
    output_path="city_purple.png"
)

# Combine multiple images
result = tool.generate_content(
    prompt="Create a before/after comparison",
    input_images=["before.jpg", "after.jpg"],
    aspect_ratio="2:1",
    output_path="comparison.png"
)

Available Aspect Ratios

  • 1:1 - Square (default)

  • 2:3 - Portrait

  • 3:2 - Landscape

  • 3:4 - Portrait

  • 4:3 - Landscape

  • 4:5 - Portrait

  • 5:4 - Landscape

  • 9:16 - Vertical (social media)

  • 16:9 - Widescreen

  • 21:9 - Cinematic

Supported Image Formats

Input: JPG, JPEG, PNG, WebP, GIF Output: PNG

Pricing

As of 2025, Gemini 2.5 Flash Image is priced at:

  • $30.00 per 1 million output tokens

  • Each image = 1290 output tokens

  • Cost per image: ~$0.039

Use Cases

  • E-commerce: Product photography and variations

  • Content Creation: Social media graphics, blog images

  • Marketing: Ad creatives, promotional materials

  • Storytelling: Consistent character illustrations

  • Photo Editing: Background removal, color correction, object removal

  • Design: Logo variations, mockups, concept art

Command-Line Arguments

positional arguments:
  prompt                Text prompt for image generation/editing

optional arguments:
  -h, --help            Show help message
  -i INPUT, --input INPUT
                        Input image file path (can be specified multiple times)
  -o OUTPUT, --output OUTPUT
                        Output image file path (default: output.png)
  -a ASPECT_RATIO, --aspect-ratio ASPECT_RATIO
                        Output aspect ratio (default: 1:1)
  --image-only          Request image-only output (no text response)
  --api-key API_KEY     Google AI API key (or set GEMINI_API_KEY env variable)
  --save-json SAVE_JSON
                        Save full API response to JSON file

Error Handling

The tool includes comprehensive error handling for:

  • Missing API keys

  • Invalid image paths

  • Unsupported image formats

  • Invalid aspect ratios

  • API request failures

  • Network errors

Notes

  • All generated images include a SynthID watermark (added by Google)

  • The model benefits from Gemini's world knowledge for enhanced generation

  • Character consistency works best with clear, descriptive prompts

  • For best results, be specific in your prompts

Documentation

For more information about Gemini 2.5 Flash Image:

License

This tool is provided as-is for use with the Gemini API. See Google's terms of service for API usage restrictions.

Available Tools

1 tool
generate_imageA

Generate or edit images using Gemini 2.5 Flash Image (Nano Banana). Supports text-to-image generation, image editing with natural language prompts, and multi-image composition. All generated images include a SynthID watermark.

ParametersJSON Schema
NameRequiredDescriptionDefault
promptYesText prompt describing the image to generate or edits to make
input_imagesNoOptional array of file paths to input images for editing or composition
aspect_ratioNoOutput aspect ratio. Options: 1:1, 2:3, 3:2, 3:4, 4:3, 4:5, 5:4, 9:16, 16:9, 21:91:1
output_pathYesPath where the generated image will be saved (must end in .png)output.png
image_onlyNoIf true, requests image-only output without text response

TDQS

A4/5.0
Behavior4/5

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. It effectively describes key traits: the tool can generate or edit images, supports multiple input types (text prompts, input images), and includes a SynthID watermark on outputs. However, it lacks details on rate limits, error conditions, or performance characteristics, leaving some behavioral aspects 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 front-loaded with the core purpose in the first sentence, followed by specific capabilities and a critical behavioral note (watermark). It uses two concise sentences with no redundant or extraneous information, making it highly efficient and well-structured.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's complexity (image generation/editing with 5 parameters) and lack of annotations or output schema, the description provides a solid foundation by covering purpose, capabilities, and key behavior (watermark). However, it does not address output format details (e.g., image resolution, file size) or error handling, which could enhance completeness for an AI agent.

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?

The input schema has 100% description coverage, providing clear documentation for all parameters. The description adds minimal semantic value beyond the schema, as it mentions 'text prompts' and 'input images' but does not elaborate on parameter interactions or usage nuances. The baseline score of 3 is appropriate given the comprehensive schema coverage.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/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 with specific verbs ('generate or edit images') and resource ('images'), identifies the underlying technology ('Gemini 2.5 Flash Image (Nano Banana)'), and lists three distinct capabilities: text-to-image generation, image editing with natural language prompts, and multi-image composition. This is comprehensive and unambiguous.

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 implies usage contexts by listing capabilities (e.g., use for text-to-image, editing, or composition) but does not provide explicit guidance on when to choose this tool over alternatives or any prerequisites. Since there are no sibling tools, the lack of differentiation is not penalized, but it remains at an implied level without exclusions or best practices.

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.

  1. 1 tool update
    • First observedgenerate_image

TDQS

A3.9/5.0

Scored across 1 tool

Disambiguation5/5

With only one tool, there is no possibility of ambiguity or overlap between tools. The single tool 'generate_image' has a clear, distinct purpose focused on image generation and editing.

Naming Consistency5/5

A single tool inherently has perfect naming consistency, as there are no other tools to compare it against. The name 'generate_image' follows a clear verb_noun pattern and is descriptive.

Tool Count2/5

One tool is too few for a server with a broad purpose like image generation and editing. The description suggests capabilities for text-to-image, editing, and composition, which could reasonably be split into multiple specialized tools (e.g., generate, edit, compose) for better agent usability and clarity.

Completeness3/5

The single tool covers core functionalities (generation, editing, composition), but the surface feels thin. There are no tools for related operations like listing generated images, deleting images, or managing settings, which could limit agent workflows. However, the main purpose is addressed.

Maintenance

ActivityInactive
ResponsivenessNo issues

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    D
    maintenance
    Enables 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.
    42 npm
    4
    MIT
  • F
    license
    Not graded
    quality
    C
    maintenance
    Enables 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.
    -