Nano Banana MCP Server

Nano Banana MCP Server

Enables AI image generation, editing, and composition using Google's Gemini image models (Nano Banana Pro and Nano Banana). Supports text-to-image generation, multi-image composition, flexible aspect ratios, high-resolution output up to 4K, and real-time information grounding.

Category
Visit Server

README

Nano Banana MCP Server

An MCP (Model Context Protocol) server for Google's Nano Banana Pro (Gemini 3 Pro Image) and Nano Banana (Gemini 2.5 Flash Image) AI image generation models.

Features

  • 🎨 Text-to-Image Generation - Create images from natural language descriptions
  • ✏️ Image Editing - Modify existing images with text prompts
  • 🖼️ Multi-Image Composition - Combine up to 14 reference images
  • 📐 Flexible Aspect Ratios - 10 aspect ratio options (1:1, 16:9, 9:16, etc.)
  • 🔍 High Resolution - Up to 4K output with Nano Banana Pro
  • 🔤 Text Rendering - Generate images with accurate, legible text
  • 🌐 Google Search Grounding - Real-time information for current events/weather

Prerequisites

Installation

From Source

# Clone or download this directory
cd nanobanana-mcp-server

# Install dependencies
npm install

# Build the TypeScript
npm run build

Configuration

Set your API key as an environment variable:

# Linux/macOS
export GEMINI_API_KEY="your-api-key-here"

# Windows (PowerShell)
$env:GEMINI_API_KEY="your-api-key-here"

# Windows (CMD)
set GEMINI_API_KEY=your-api-key-here

Usage

As stdio Server (for Claude Desktop, etc.)

npm start

Or directly:

node dist/index.js

As HTTP Server

TRANSPORT=http PORT=3000 npm start

The server will listen at http://localhost:3000/mcp.

Claude Desktop Configuration

Add to your Claude Desktop config (~/Library/Application Support/Claude/claude_desktop_config.json on macOS):

{
  "mcpServers": {
    "nanobanana": {
      "command": "node",
      "args": ["/path/to/nanobanana-mcp-server/dist/index.js"],
      "env": {
        "GEMINI_API_KEY": "your-api-key-here"
      }
    }
  }
}

Available Tools

nanobanana_generate_image

Generate images from text descriptions.

Parameters:

Name Type Required Description
prompt string Yes Text description of the image
model string No Model ID (default: gemini-3-pro-image-preview)
aspect_ratio string No Aspect ratio (e.g., 1:1, 16:9)
resolution string No Resolution: 1K, 2K, 4K (Pro only)
use_google_search boolean No Enable real-time info grounding (Pro only)

Example:

{
  "prompt": "A photorealistic portrait of an astronaut on Mars at sunset, dramatic lighting, 85mm lens",
  "model": "gemini-3-pro-image-preview",
  "aspect_ratio": "16:9",
  "resolution": "4K"
}

nanobanana_edit_image

Edit an existing image using text prompts.

Parameters:

Name Type Required Description
prompt string Yes Description of the edit
image_base64 string Yes Base64-encoded image data
image_mime_type string Yes MIME type (e.g., image/png)
model string No Model ID
aspect_ratio string No Output aspect ratio
resolution string No Output resolution (Pro only)

Example:

{
  "prompt": "Add a wizard hat to the cat",
  "image_base64": "<base64-image-data>",
  "image_mime_type": "image/png"
}

nanobanana_compose_images

Compose images using multiple reference images (Nano Banana Pro only).

Parameters:

Name Type Required Description
prompt string Yes Description of composition
images array Yes Array of {base64, mime_type} objects (max 14)
aspect_ratio string No Output aspect ratio
resolution string No Output resolution

Example:

{
  "prompt": "Create a group photo of these 5 people at a beach party",
  "images": [
    {"base64": "<image1>", "mime_type": "image/jpeg"},
    {"base64": "<image2>", "mime_type": "image/jpeg"}
  ],
  "aspect_ratio": "16:9",
  "resolution": "2K"
}

nanobanana_list_models

List available models and their capabilities.

Parameters:

Name Type Required Description
response_format string No markdown (default) or json

Models

Nano Banana Pro (gemini-3-pro-image-preview)

Google's most advanced image generation model. Best for:

  • Professional asset production
  • Images with accurate text rendering
  • Complex compositions
  • High-resolution output (up to 4K)
  • Real-time information grounding

Nano Banana (gemini-2.5-flash-image)

Fast, low-latency image generation. Best for:

  • Quick experimentation
  • Batch processing
  • Iterative design
  • Cost-effective generation

Aspect Ratios

Ratio Use Case
1:1 Square, social media posts
16:9 Landscape, presentations, YouTube thumbnails
9:16 Portrait, mobile screens, Stories
4:3 Classic photo format
3:2 DSLR photo format
21:9 Ultra-wide, cinematic

Tips for Best Results

Prompting

  1. Be Descriptive: Include details about style, lighting, composition, colors, and mood
  2. Use Photography Terms: For photorealistic images, mention camera angles, lens types, lighting setups
  3. Specify Style: "Oil painting", "3D render", "watercolor", "photorealistic", etc.
  4. Include Context: Describe the environment, atmosphere, and mood

Example Prompts

Photorealistic:

A photorealistic close-up portrait of an elderly Japanese ceramicist with 
deep wrinkles and a warm smile, inspecting a glazed tea bowl. Soft golden 
hour light from a window. Shot with 85mm portrait lens, bokeh background.

Stylized:

A kawaii-style sticker of a happy red panda wearing a bamboo hat, munching 
on a leaf. Bold outlines, cel-shading, vibrant colors. White background.

Logo:

Create a modern, minimalist logo for a coffee shop called 'The Daily Grind'. 
Clean, bold sans-serif font. Black and white. Circular design with a clever 
coffee bean element.

Error Handling

Common errors and solutions:

Error Solution
"GEMINI_API_KEY is required" Set the environment variable
Rate limit exceeded Wait and retry, or reduce request frequency
Content policy violation Modify prompt to comply with Google's policies
Invalid image format Use supported formats: PNG, JPEG, GIF, WebP

Development

# Install dependencies
npm install

# Build TypeScript
npm run build

# Watch mode for development
npm run dev

License

MIT

Links

Recommended Servers

playwright-mcp

playwright-mcp

A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.

Official
Featured
TypeScript
Magic Component Platform (MCP)

Magic Component Platform (MCP)

An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.

Official
Featured
Local
TypeScript
Audiense Insights MCP Server

Audiense Insights MCP Server

Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.

Official
Featured
Local
TypeScript
VeyraX MCP

VeyraX MCP

Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.

Official
Featured
Local
Kagi MCP Server

Kagi MCP Server

An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.

Official
Featured
Python
graphlit-mcp-server

graphlit-mcp-server

The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.

Official
Featured
TypeScript
Qdrant Server

Qdrant Server

This repository is an example of how to create a MCP server for Qdrant, a vector search engine.

Official
Featured
Neon Database

Neon Database

MCP server for interacting with Neon Management API and databases

Official
Featured
Exa Search

Exa Search

A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.

Official
Featured
E2B

E2B

Using MCP to run code via e2b.

Official
Featured