Nanobanana MCP logo

Nanobanana MCP

Generates and edits images, creates Veo videos, and returns local file paths through MCP.

Install Nanobanana MCP

Pick your client, then add it in one click or paste the config.

STDIONode.js
~/Library/Application Support/Claude/claude_desktop_config.json
claude_desktop_config.json
{
  "mcpServers": {
    "nanobanana-mcp": {
      "command": "npx",
      "args": [
        "-y",
        "@nanobanana/mcp"
      ],
      "env": {
        "GEMINI_API_KEY": "YOUR_VALUE_HERE",
        "GOOGLE_API_KEY": "YOUR_VALUE_HERE",
        "NANOBANANA_MODEL": "YOUR_VALUE_HERE",
        "NANOBANANA_VIDEO_MODEL": "YOUR_VALUE_HERE",
        "NANOBANANA_OUTPUT_DIR": "YOUR_VALUE_HERE"
      }
    }
  }
}

Settings → Developer → Edit Config, merge this into mcpServers, then fully quit and reopen Claude Desktop.

Values are written into the snippet above so you can paste it as is. They never leave your browser.

Install not yet sandbox-tested— we haven't run this command through our automated sandbox yet. Not a red flag; we're working through the catalog.

Overview

The nanobanana-mcp MCP server connects MCP clients to Google's Nano Banana image models and Veo video models. It provides tools for image generation, multi-image editing, video jobs, video extension, result polling, and model discovery, returning saved file paths instead of base64 data. Use it when an agent needs to create visual assets through Claude Code, Claude Desktop, or Cursor while keeping binary content out of its context. Authentication is supplied through environment variables, with Gemini API access required and billing needed for Veo generation.

Use cases

  • Generate images from prompts in an MCP client
  • Edit images with character, style, or compositing references
  • Create short Veo videos from text or starting images
  • Extend completed Veo clips using their server-side URI
  • Check available Gemini and Veo model IDs

Key features

  • Prompt-based image generation
  • Multi-image editing with reference files
  • Asynchronous Veo video generation
  • Video polling and local MP4 output
  • Configurable models and output directory
  • Google Search grounding for image generation

Tools3

What Nanobanana MCP lets your agent do. Expand a tool for its parameters.

Self-reported~34 tokens of context

Security & health

What it can reach and how reliably it runs — from our own checks, not the maintainer’s claims.

ActiveLast checked 3d ago

Recent health check succeeded.

6/6 checks healthy over the last 41d

Supply-chain signal

No high-severity advisories surfaced by our automated scan.

Critical 0High 0Medium 0Low 0

Scanned 15d ago via OSV.dev · @nanobanana/mcp (npm)

Adoption & maintenance

Factual signals from GitHub, npm, and our automated checks — not a rating.

GitHub stars1Stargazers on the source repository.
npm downloads188Package downloads in the last 30 days.
Last commit2mo agoMost recent push to the default branch.
Tools exposed3Callable tools this server registers over MCP.

How Nanobanana MCP works

What nanobanana-mcp does

The nanobanana-mcp MCP server exposes Google's Nano Banana image models and Veo video models to MCP-compatible clients. It can generate images from prompts, edit existing images with one or more reference files, create video jobs, extend generated Veo clips, check video job status, and list model IDs available to the configured API key.

Image operations save results to disk and return file paths rather than embedding base64 data in the tool response. The image tools support prompt-based creation, selectable aspect ratios, output sizes, optional Google Search grounding, and model selection. Editing accepts PNG, JPG, WebP, HEIC, or PDF inputs; the first image is the base input and additional files can act as references.

How it works

The nanobanana-mcp MCP server runs as a local stdio process, commonly started with npx -y @nanobanana/mcp. An MCP client sends tool calls, while the server uses the Gemini API key from the process environment. Generated images and completed videos are written to an output directory, which defaults to ./nano-banana and can be changed through configuration.

Video creation is asynchronous because Veo jobs can take one to six minutes. generate_video or extend_video returns a job ID; get_video_result waits for up to 45 seconds per call and reports whether processing is complete. A completed result includes a local MP4 path and a Veo URI. The URI is required for later extensions and expires with Google's server-side copy, generally after about two days.

Setup and configuration

Create a Gemini API key and provide it as GEMINI_API_KEY; GOOGLE_API_KEY is also supported. Claude Code can register the server with an environment variable and the npx command. Claude Desktop and Cursor use an MCP configuration entry with npx as the command and the API key in the environment section.

The default image model is gemini-3.1-flash-image, and the default video model is veo-3.1-fast-generate-preview. NANOBANANA_MODEL, NANOBANANA_VIDEO_MODEL, and NANOBANANA_OUTPUT_DIR override those defaults. The server also avoids writing to the filesystem root when a desktop client starts it from /.

Tools and capabilities

The nanobanana-mcp MCP server includes six tools:

  • generate_image creates an image from a prompt.
  • edit_image modifies an input image and can use multiple references.
  • generate_video starts a text-to-video or image-to-video job with optional audio, references, and negative prompts.
  • extend_video continues a Veo clip by about seven seconds using its Veo URI.
  • get_video_result polls a job and saves a completed MP4.
  • list_models reports image and video model IDs usable by the API key.

Image output sizes include 512, 1K, 2K, and 4K. Image aspect ratios range from portrait and square formats to wide formats, while Veo supports 16:9 and 9:16. Veo clips can be four, six, or eight seconds. Higher video resolutions require an eight-second duration, and reference images require eight seconds. Veo Lite does not support extensions or reference images.

Limitations and notes

Veo has no free tier and requires a billing-enabled API key. Video generation, extension, reference-image support, and resolution options vary by Veo model. Image-based video inputs must be PNG or JPG, and an input image is cropped to the selected video aspect ratio.

Download completed videos promptly because Google's server-side copies are temporary. Keep the returned Veo URI if the clip may be extended. A pinned model ID can become unavailable; use list_models to inspect the IDs currently allowed for the API key. The project is licensed under MIT.

Reviews

No reviews yet — be the first to share how it worked for you.

Frequently Asked Questions about Nanobanana MCP

nanobanana-mcp is an MCP server that connects MCP clients to Google's Nano Banana image models and Veo video models. Its main tools generate and edit images, start and extend videos, poll video jobs, and list available model IDs. Image and video results are saved locally, with file paths returned instead of base64 data.

Install it by running the package with `npx -y @nanobanana/mcp` from an MCP client configuration. Provide a Gemini API key through `GEMINI_API_KEY`; Claude Code, Claude Desktop, and Cursor configurations are documented in the project README.

Yes, nanobanana-mcp works with Cursor through its `.cursor/mcp.json` configuration. Add an MCP server entry that runs `npx` with `-y @nanobanana/mcp`, then place the Gemini API key in the entry's environment settings.

nanobanana-mcp saves generated and edited images to disk and returns their file paths. The default directory is `./nano-banana`, and `outputDir`, `filename`, or `NANOBANANA_OUTPUT_DIR` can control where files are written.

Use `extend_video` with the Veo URI returned by `get_video_result`, not the local MP4 path. The operation continues the final part of a Veo clip by about seven seconds, and the URI is temporary because Google's server-side video copy expires after roughly two days.

Related MCP servers

Add a badge to your READMEShow it’s listed — live SVG, Markdown or HTML.

AllMCPs Directory Badge

Full Badge Customizer

Showcase your server listing on GitHub or your project documentation. Embed this dynamic SVG badge to highlight official listing status and live engagement.

Badge Style:
Live Dynamic SVG PreviewNanobanana MCP AllMCPs Directory Badge
Markdown (GitHub README)
[![AllMCPs](https://allmcps.com/api/badge/nanobanana-mcp?style=directory)](https://allmcps.com/mcp/nanobanana-mcp)
HTML Embed
<a href="https://allmcps.com/mcp/nanobanana-mcp"><img src="https://allmcps.com/api/badge/nanobanana-mcp?style=directory" alt="Nanobanana MCP on AllMCPs" /></a>