Skip to main content

MCP Nano Banana

PyPI Version

This project is an MCP (Model Context Protocol) server that generates images using the Google Gemini API.

Description

This server implements the Model Context Protocol to expose a single tool, generate_image, to a compatible AI model. The tool accepts a text prompt, uses the Google Gemini API to generate an image, saves the image to the public/ directory for auditing, and returns the raw image data as a base64-encoded string.

To use the server with Claude Desktop or other applications

You need a Google Gemini API key and ImgBB API key to use this server.

Access https://api.imgbb.com/ to generate a IMGBB API Key. This is used to store and host the image online.

{
  "mcpServers": {
    "mcp-nano-banana": {
        "command": "uvx",
        "args": [
            "mcp-nano-banana"
        ],
        "env": {
            "GEMINI_API_KEY": "YOUR_API_KEY_HERE",
            "IMGBB_API_KEY": "YOUR_API_KEY_HERE"
        }
    }
  }
}

Dev Setup

1. Dependencies

This project uses Python and its dependencies are defined in pyproject.toml. You can install them using pip:

pip install .
# Or
uv sync

This will install mcp, google-generativeai, and other required packages.

2. API Key

You need a Google Gemini API key and ImgBB API key to use this server.

Access https://api.imgbb.com/ to generate a IMGBB API Key. This is used to store and host the image online.

  1. Create a file named .env in the root of the project.
  2. Add your API key to the .env file in the following format:
    GEMINI_API_KEY="YOUR_API_KEY_HERE"
    IMGBB_API_KEY="YOUR_API_KEY_HERE"

Running the Server

This server is designed to be run as a subprocess by an MCP client or using the mcp command-line tool. The server listens for requests on stdio.

uvx --from git+https://github.com/GuilhermeAumo/mcp-nano-banana mcp-nano-banana

Publishing new pipy version

To publish a new version of this package to PyPI:

  1. Update the version
    Edit the version field in pyproject.toml to the new version number.

  2. Build the package
    Run:

    uv build
    

    This will create .tar.gz and .whl files in the dist/ directory.

  3. Upload to PyPI

    uv publish
    
  4. Tag the release (optional but recommended)
    Commit the changes to github first, then:

    git tag v<new-version>
    git push --tags
    

Note:

  • You need a PyPI account and must be listed as a maintainer of the project.

For more details, see the Python Packaging User Guide.

Release files for mcp-nano-banana 0.3.3

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for mcp-nano-banana 0.3.3
File Size Uploaded
mcp_nano_banana-0.3.3.tar.gz 9.1 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for mcp-nano-banana 0.3.3
File Interpreter ABI Platform
mcp_nano_banana-0.3.3-py3-none-any.whl Python 3 none any Details

Total release size: 18.0 kB

Release files / mcp_nano_banana-0.3.3.tar.gz

Download URL mcp_nano_banana-0.3.3.tar.gz
Size 9.1 kB
Tags Source
SHA-256 checksum
How to use checksums
522da4f10eec9fd627d4f87034aeba3e95fb7d5f97f5eee0e81ab38c16eb8910
BLAKE2b-256 checksum
How to use checksums
cffdf88bc2034d7c2b4a5f3e045fa9f37a4e70fcd0b32223ec4ecd719ad50ee3
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.9.18 {"installer":{"name":"uv","version":"0.9.18","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"25.04","id":"plucky","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

Release files / mcp_nano_banana-0.3.3-py3-none-any.whl

Download URL mcp_nano_banana-0.3.3-py3-none-any.whl
Size 8.9 kB
Tags Python 3
SHA-256 checksum
How to use checksums
8da7bdff09666bbcbe1817202f6bc38fe83b6b256cdd361a9944d27797741cca
BLAKE2b-256 checksum
How to use checksums
f3a18b4db0d3321eaab681cb5894d55ca986adb09fda3b20b1e2bd5a2afd9e65
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.9.18 {"installer":{"name":"uv","version":"0.9.18","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"25.04","id":"plucky","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

Release history Release notifications | RSS feed

This release

0.3.3 This release

2 release files

0.3.2

2 release files

0.3.1

2 release files

0.3.0

2 release files

0.2.2

2 release files

0.2.1

2 release files

0.2.0

2 release files

0.1.2

2 release files

0.1.1

2 release files

0.1.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page