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

An MCP (Model Context Protocol) server for generating images using Google's Gemini image generation model.

## Installation

```bash
uv sync
```

## Configuration

Set one of the following authentication methods:

### Option 1: Gemini API Key

```bash
export GEMINI_API_KEY="your-api-key"
```

### Option 2: Vertex AI

```bash
export VERTEX_PROJECT="your-project-id"
export VERTEX_LOCATION="us-central1"  # optional, defaults to us-central1
```

## MCP Tools

### generate_to_file

Generate an image and save it to a file.

**Parameters:**

- `prompt` (string): The prompt describing the image to generate
- `save_path` (string): The file path where the image should be saved

**Returns:**

```json
{
  "path": "/absolute/path/to/image.png",
  "message": "Image generated successfully"
}
```

### generate_to_data_url

Generate an image and return it as a base64 data URL.

**Parameters:**

- `prompt` (string): The prompt describing the image to generate

**Returns:**

```json
{
  "data_url": "data:image/png;base64,iVBORw0KGgo...",
  "message": "Image generated successfully"
}
```

## MCP Client Configuration

### Claude Desktop

Add to your `claude_desktop_config.json`:

```json
{
  "mcpServers": {
    "nano-banana-mcp": {
      "command": "uvx",
      "args": ["git+https://github.com/ipfans/nano-banana-mcp.git"],
      "cwd": "/path/to/nano-banana-mcp",
      "env": {
        "GEMINI_API_KEY": "<your-api-key>"
      }
    }
  }
}
```

### Claude Code

Add to your `.mcp.json`:

```json
{
  "mcpServers": {
    "nano-banana-mcp": {
      "command": "uvx",
      "args": ["git+https://github.com/ipfans/nano-banana-mcp.git"],
      "cwd": "/path/to/nano-banana-mcp",
      "env": {
        "GEMINI_API_KEY": "<your-api-key>"
      }
    }
  }
}
```

## License

MIT