Skip to main content
Glama
README.md
# Gemini MCP Server

A Model Context Protocol (MCP) server for Google Gemini API integration with Claude Code. Provides text generation, image analysis, creative brainstorming, multi-turn chat, and AI image generation.

## Features

| Tool | Description |
|------|-------------|
| `gemini_generate` | Generate text content (writing, analysis, code) |
| `gemini_analyze_image` | Analyze images with vision capabilities |
| `gemini_brainstorm` | Creative brainstorming for zines, articles, content |
| `gemini_chat` | Multi-turn conversations with memory |
| `gemini_list_conversations` | List active chat sessions |
| `gemini_clear_conversation` | Clear a chat session |
| `gemini_zine_page` | Generate zine page content with layout suggestions |
| `gemini_generate_image` | Generate images using Gemini's image models |

## Setup

### 1. Clone the repository

```bash
git clone https://github.com/jeffemmett/gemini-mcp.git ~/.claude/mcp-servers/gemini
cd ~/.claude/mcp-servers/gemini
npm install
```

### 2. Get a Gemini API Key

1. Go to [Google AI Studio](https://aistudio.google.com/apikey)
2. Create a new API key
3. Copy the key

### 3. Set your API key

Add to your shell profile (`~/.bashrc`, `~/.zshrc`, or `~/.config/fish/config.fish`):

```bash
# Bash/Zsh
export GEMINI_API_KEY="your_api_key_here"

# Fish
set -gx GEMINI_API_KEY "your_api_key_here"
```

Then reload your shell or run `source ~/.bashrc`.

### 4. Configure Claude Code

Add to your project's `.mcp.json` or global MCP config:

```json
{
  "mcpServers": {
    "gemini": {
      "command": "node",
      "args": ["/path/to/.claude/mcp-servers/gemini/index.js"],
      "env": {
        "GEMINI_API_KEY": "${GEMINI_API_KEY}"
      }
    }
  }
}
```

Replace `/path/to/` with your actual home directory path (e.g., `/home/username/` or `/Users/username/`).

## Optional Configuration

### Output Directory

Generated images and saved outputs go to `~/Documents/gemini-output/` by default. Override with:

```bash
export GEMINI_OUTPUT_DIR="/your/preferred/path"
```

## Usage Examples

Once configured, the tools are available in Claude Code:

**Text Generation:**
```
Use gemini_generate to write a haiku about programming
```

**Image Analysis:**
```
Use gemini_analyze_image to describe /path/to/image.jpg
```

**Creative Brainstorming:**
```
Use gemini_brainstorm for a zine about urban gardening with punk style
```

**Image Generation:**
```
Use gemini_generate_image to create a collage-style illustration of a mushroom forest
```

## Models Used

- **Text**: `gemini-1.5-flash` (default), `gemini-1.5-pro`, `gemini-2.0-flash-exp`
- **Images**: `gemini-2.0-flash-exp-image-generation`

## License

MIT