by RLabs-Inc
MCP Server that enables Claude code to interact with Gemini
# Add to your Claude Code skills
git clone https://github.com/RLabs-Inc/gemini-mcpA Model Context Protocol (MCP) server for integrating Google's Gemini 3 models with Claude Code, enabling powerful collaboration between both AI systems. Now with a beautiful CLI!
MCP Registry Support: Now discoverable in the official MCP ecosystem!
| Feature | Description | |-------------------------------|-----------------------------------------------------------------| | Deep Research Agent | Autonomous multi-step research with web search and citations | | Token Counting | Count tokens and estimate costs before API calls | | Text-to-Speech | 30 unique voices, single speaker or two-speaker dialogues | | URL Analysis | Analyze, compare, and extract data from web pages | | Context Caching | Cache large documents for efficient repeated queries | | YouTube Analysis | Analyze videos by URL with timestamp clipping | | Document Analysis | PDFs, DOCX, spreadsheets with table extraction | | 4K Image Generation | Generate images up to 4K with 10 aspect ratios | | Multi-Turn Image Editing | Iteratively refine images through conversation | | Video Generation | Create videos with Veo 2.0 (async with polling) | | | Gemini writes and runs Python code (pandas, numpy, matplotlib) | | | Real-time web information with inline citations | | | JSON responses with schema validation | | | Extract entities, facts, sentiment from text | | | Control reasoning depth (minimal/low/medium/high) | | | Send prompts to Gemini 3 Pro/Flash models | | | Claude + Gemini collaborative problem-solving | | | Analyze code for quality, security, performance | | | Summarize content at different detail levels |
No comments yet. Be the first to share your thoughts!
# Using npm (Recommended)
claude mcp add gemini -s user -- env GEMINI_API_KEY=YOUR_KEY npx -y @rlabs-inc/gemini-mcp
# Using bun
claude mcp add gemini -s user -- env GEMINI_API_KEY=YOUR_KEY bunx @rlabs-inc/gemini-mcp
# Install globally
npm install -g @rlabs-inc/gemini-mcp
# Set your API key once (stored securely)
gcli config set api-key YOUR_KEY
# Now use any command!
gcli search "latest news"
glci image "sunset over mountains" --ratio 16:9
Get your API key: Visit Google AI Studio - it's free and takes seconds!
# With verbose logging
claude mcp add gemini -s user -- env GEMINI_API_KEY=YOUR_KEY VERBOSE=true bunx -y @rlabs-inc/gemini-mcp
# With custom output directory for generated images/videos
claude mcp add gemini -s user -- env GEMINI_API_KEY=YOUR_KEY GEMINI_OUTPUT_DIR=/path/to/output bunx -y @rlabs-inc/gemini-mcp
Direct queries to Gemini with thinking level control:
prompt: "Explain quantum entanglement"
model: "pro" or "flash"
thinkingLevel: "low" | "medium" | "high" (optional)
Generate images with Nano Banana Pro (Claude can SEE them!):
prompt: "a futuristic city at sunset"
style: "cyberpunk" (optional)
aspectRatio: "16:9" (1:1, 2:3, 3:2, 3:4, 4:3, 4:5, 5:4, 9:16, 16:9, 21:9)
imageSize: "2K" (1K, 2K, 4K)
useGoogleSearch: false (ground in real-world info)
thinkingLevel: "high" (optional - minimal, low, medium, high)
personGeneration: "ALLOW_ALL" (optional - ALLOW_ALL, ALLOW_ADULT, ALLOW_NONE)
seed: 42 (optional - for reproducible results)
Start a multi-turn image editing session:
prompt: "a cozy cabin in the mountains"
aspectRatio: "16:9"
imageSize: "2K"
useGoogleSearch: false
thinkingLevel: "high" (optional - minimal, low, medium, high)
personGeneration: "ALLOW_ALL" (optional - ALLOW_ALL, ALLOW_ADULT, ALLOW_NONE)
seed: 42 (optional - for reproducible results)
Returns a session ID for iterative editing.
Continue refining an image:
sessionId: "edit-123456789"
prompt: "add snow on the roof and make it nighttime"
Close an editing session:
sessionId: "edit-123456789"
List all active editing sessions.
Generate videos using Veo:
prompt: "a cat playing piano"
aspectRatio: "16:9" (optional)
negativePrompt: "blurry, text" (optional)
Video generation is async (takes 1-5 minutes). Use gemini-check-video to poll.
Check video generation status and download when complete:
operationId: "operations/xxx-xxx-xxx"
Analyze code for issues:
code: "function foo() { ... }"
language: "typescript" (optional)
focus: "quality" | "security" | "performance" | "bugs" | "general"
Analyze text content:
text: "Your text here..."
type: "sentiment" | "summary" | "entities" | "key-points" | "general"
Collaborative brainstorming:
prompt: "How could we implement real-time collaboration?"
claudeThoughts: "I think we should use WebSockets..."
maxRounds: 3 (optional)
Summarize content:
content: "Long text to summarize..."
length: "brief" | "moderate" | "detailed"
format: "paragraph" | "bullet-points" | "outline"
Let Gemini write and execute Python code:
prompt: "Calculate the first 50 prime numbers and plot them"
data: "optional CSV data to analyze" (optional)
Supports libraries: numpy, pandas, matplotlib, scipy, scikit-learn, tensorflow, and more. Generated charts are saved to the output directory and returned as images.
Real-time web search with citations:
query: "What happened in tech news this week?"
returnCitations: true (default)
Returns grounded responses with inline citations and source URLs.
Get JSON responses matching a schema:
prompt: "Extract the meeting details from this email..."
schema: '{"type":"object","properties":{"date":{"type":"string"},"attendees":{"type":"array"}}}'
useGoogleSearch: false (optional)
Convenience tool for common extraction patterns:
text: "Your text to analyze..."
extractType: "entities" | "facts" | "summary" | "keywords" | "sentiment" | "custom"
customFields: "name, date, amount" (for custom extraction)
Analyze YouTube videos directly:
url: "https://www.youtube.com/watch?v=..."
question: "What happens at 2:30?"
startTime: "1m30s" (optional, for clipping)
endTime: "5m00s" (optional, for clipping)
Quick video summarization:
url: "https://www.youtube.com/watch?v=..."
style: "brief" | "detailed" | "bullet-points" | "chapters"
Analyze PDFs and documents:
filePath: "/path/to/document.pdf"
question: "Summarize the key findings"
mediaResolution: "low" | "medium" | "high"
Quick PDF summarization:
filePath: "/path/to/document.pdf"
style: "brief" | "detailed" | "outline" | "key-points"
Extract tables from documents:
filePath: "/path/to/document.pdf"
outputFormat: "markdown" | "csv" | "json"
The killer combination for development:
| Claude | Gemini | |--------|--------| | Complex logic | Frontend/UI | | Architecture | Visual components | | Backend code | Image generation | | Integration | React/CSS styling | | Reasoning | Creative generation |
Example workflow:
gemini-generate-image for UI mockupsgemini-query| Variable | Required | Default | Description |
|-------------------------|----------|------------------------------|-------------------------------|
| GEMINI_API_KEY | Yes | - | Your Google Gemini API key |
| GEMINI_OUTPUT_DIR | No | ./gemini-output | Where to save generated files |
| GEMINI_MODEL | No | - | Override model for init test |
| GEMINI_PRO_MODEL | No | gemini-3-pro-preview | Pro model (Gemini 3) |
| GEMINI_FLASH_MODEL | No | gemini-3-flash-preview | Flash model (Gemini 3) |
| GEMINI_IMAGE_MODEL | No | gemini-3-pro-image-preview | Image model (Nano Banana Pro) |
| GEMINI_IMAGE_THINKING_LEVEL | No | high | Default thinking level for image generation (minimal, low, medium, high) |
| GEMINI_VIDEO_MODEL | No | veo-2.0-generate-001 | Video model |
| VERBOSE | No | false | Enabl