Skip to main content
Glama
README.md
# nano-banana-mcp

A minimal [MCP](https://modelcontextprotocol.io) server that wraps Google Gemini image generation ("Nano Banana") for use inside Claude Code or any other MCP-compatible host.

Built as part of an exploration of agentic workflows for K-12 teaching materials. The whole server is about 75 lines of Python — readable in one sitting.

## What it does

Exposes a single tool:

```
generate_image(prompt: str, output_path: str, model: str | None = None) -> str
```

- Writes a PNG to `output_path`
- Auto-suffixes on collision (`foo.png` → `foo-1.png`, `foo-2.png`, …) — never silently overwrites
- Returns the absolute path it actually wrote to

## Install on a new machine

You need:

- [Homebrew](https://brew.sh) (macOS)
- A Gemini API key from [Google AI Studio](https://aistudio.google.com/apikey)
- [Claude Code](https://claude.com/claude-code) (or another MCP host)

```sh
brew install pipx
pipx ensurepath
pipx install git+https://github.com/DenialGelon/nano-banana-mcp

claude mcp add nano-banana --scope user \
  --env GEMINI_API_KEY=<your-key> -- nano-banana-mcp
```

Verify with `claude mcp list` — you should see `nano-banana: ✓ Connected`.

## Use

Start a fresh Claude Code session and ask:

> Generate an image of a friendly cartoon banana mascot and save it to ~/Desktop/banana.png

Claude will pick up the tool and call it. The return value tells you the final path (with a note if a collision was auto-resolved).

## Models

The `model` argument is optional. Known values (verified 2026-05-18 at the [Gemini image-generation docs](https://ai.google.dev/gemini-api/docs/image-generation)):

| Model string | Nickname | Use for |
|---|---|---|
| `gemini-2.5-flash-image` (default) | Nano Banana | Fast / cheap drafts |
| `gemini-3.1-flash-image-preview` | Nano Banana 2 | Higher quality, balanced |
| `gemini-3-pro-image-preview` | Nano Banana Pro | Top quality, costliest |

## Update / rotate the key

Update the code:

```sh
pipx install --force git+https://github.com/DenialGelon/nano-banana-mcp
```

Rotate the API key:

```sh
claude mcp remove nano-banana --scope user
claude mcp add nano-banana --scope user \
  --env GEMINI_API_KEY=<new-key> -- nano-banana-mcp
```

## License

MIT — see [LICENSE](LICENSE).

TDQS

A4.1/5.0

Scored across 1 tool

Disambiguation5/5

Only one tool exists, so there is no possibility of confusion between tools.

Naming Consistency5/5

The single tool name 'generate_image' follows a clear verb_noun pattern, consistent with common conventions.

Tool Count3/5

With only one tool, the server feels thin for its apparent scope (image generation), but it covers the primary action without unnecessary bloat.

Completeness3/5

The tool covers the core generation task, but lacks additional operations such as listing models, managing outputs, or deleting images, leaving minor gaps for an agent.

Maintenance

ActivityInactive
ResponsivenessNo issues