Gemini MCP Server
MCP server that enables Claude Code to interact with Google's Gemini API directly.
Features
- gemini_analyze: Send prompts for code review, explanations, research
- gemini_chat: Multi-turn conversations with context
- gemini_summarize: Summarize large codebases/documents (1M token window)
Quick Start
# 1. Clone and build
git clone <this-repo> && cd gemini-mcp
npm install && npm run build
# 2. Set API key in ~/.zshrc
export GEMINI_API_KEY="your-key-here"
source ~/.zshrc
# 3. Add to ~/.claude.json (see config below)
# 4. Restart Claude Code
Setup
1. Get Gemini API Key
Get your free API key from: https://aistudio.google.com/apikey
2. Set Environment Variable
Add to your ~/.zshrc (or ~/.bashrc):
export GEMINI_API_KEY="your-api-key-here"
Then reload: source ~/.zshrc
3. Configure Claude Code
IMPORTANT: Add to
~/.claude.json, NOT~/.claude/settings.json
Add this to the mcpServers object in ~/.claude.json:
{
"mcpServers": {
"gemini-mcp": {
"type": "stdio",
"command": "node",
"args": ["/Users/buckmike/Projects/gemini-mcp/build/index.js"],
"env": {
"GEMINI_API_KEY": "${GEMINI_API_KEY}"
}
}
}
}
Claude Code supports ${VAR} syntax for environment variable expansion.
4. Restart Claude Code
Exit and relaunch Claude Code to load the new MCP server.
Usage
Once configured, Claude can use these tools:
| Tool | Purpose | |------|---------| | gemini_analyze | Analyze code or answer questions using Gemini | | gemini_chat | Have multi-turn conversations with context | | gemini_summarize | Summarize large content (leverages 1M token window) |
Available Models
| Model | Description | |-------|-------------| | gemini-2.5-flash-preview-05-20 | Fast, efficient (default) | | gemini-2.5-pro-preview-05-06 | Best quality | | gemini-2.0-flash | Stable release |
Troubleshooting
Tools Not Appearing After Restart
Most Common Cause: Config in wrong file.
| Wrong | Correct | |-------|---------| | ~/.claude/settings.json | ~/.claude.json |
Claude Code reads MCP servers from ~/.claude.json, not the settings.json file in the .claude directory.
Verification Steps:
- Check config location:
cat ~/.claude.json | grep -A5 gemini-mcp
- Verify API key is set:
echo $GEMINI_API_KEY
- Test server manually:
echo '{"jsonrpc":"2.0","method":"initialize","params":{"protocolVersion":"2024-11-05","capabilities":{},"clientInfo":{"name":"test","version":"1.0"}},"id":1}' | GEMINI_API_KEY="$GEMINI_API_KEY" node build/index.js
- Restart Claude Code completely (exit and relaunch)
Security
- API key stored in environment variable, never in code
- All inputs validated before API calls
- Errors handled gracefully
Development
npm install # Install dependencies
npm run build # Compile TypeScript
npm run dev # Watch mode for development





