Real-time global intelligence dashboard. AI-powered news aggregation, geopolitical monitoring, and infrastructure tracking in a unified situational awareness interface
MCP server for Claude Code and Gemini
This repo provides an MCP server that exposes Gemini 3 capabilities to Claude Code. It covers query, search, research, image and video generation, document analysis, code execution, and other Gemini tools through one integration point.
Builders who use Claude Code and want Gemini search, research, media, and analysis tools in the same workflow.
You can use Gemini features from Claude Code without leaving your agent session.
What it does
Gemini tools over MCP
Exposes Gemini actions such as direct queries, search, research, summarization, and structured output through Claude Code.
Media generation and editing
Adds image generation, multi-turn image editing, video generation, and text-to-speech tools.
Document and web analysis
Handles URLs, YouTube videos, PDFs, DOCX files, spreadsheets, and table extraction.
Code and text analysis
Lets Gemini analyze code, extract entities or facts, and run Python for data work.
CLI support
Includes a terminal CLI with commands like `gcli search`, `gcli image`, `gcli research`, and `gcli speak`.
Tool presets and filtering
Lets you load tool groups by preset or by explicit `GEMINI_ENABLED_TOOLS` lists to keep the agent setup smaller.
How to get it
- 1Run
# 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
- 2Run
# 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
- 3Run
# Using npm npm install -g @rlabs-inc/gemini-mcp # Using bun bun install -g @rlabs-inc/gemini-mcp
README
MCP Server Gemini
A 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!
Features
| 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) |
| Code Execution | Gemini writes and runs Python code (pandas, numpy, matplotlib) |
| Google Search | Real-time web information with inline citations |
| Structured Output | JSON responses with schema validation |
| Data Extraction | Extract entities, facts, sentiment from text |
| Thinking Levels | Control reasoning depth (minimal/low/medium/high) |
| Direct Query | Send prompts to Gemini 3 Pro/Flash models |
| Brainstorming | Claude + Gemini collaborative problem-solving |
| Code Analysis | Analyze code for quality, security, performance |
| Summarization | Summarize content at different detail levels |
Quick Installation
MCP Server for Claude Code
# 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
CLI (Global Install)
# 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!
Installation Options
# 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
Available Tools
gemini-query
Direct queries to Gemini with thinking level control:
prompt: "Explain quantum entanglement"
model: "pro" or "flash"
thinkingLevel: "low" | "medium" | "high" (optional)
- low: Fast responses, minimal reasoning
- medium: Balanced (Flash only)
- high: Deep reasoning for complex tasks (default)
gemini-generate-image
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)
gemini-start-image-edit
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.
gemini-continue-image-edit
Continue refining an image:
sessionId: "edit-123456789"
prompt: "add snow on the roof and make it nighttime"
gemini-end-image-edit
Close an editing session:
sessionId: "edit-123456789"
gemini-list-image-sessions
List all active editing sessions.
gemini-generate-video
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.
gemini-check-video
Check video generation status and download when complete:
operationId: "operations/xxx-xxx-xxx"
gemini-analyze-code
Analyze code for issues:
code: "function foo() { ... }"
language: "typescript" (optional)
focus: "quality" | "security" | "performance" | "bugs" | "general"
gemini-analyze-text
Analyze text content:
text: "Your text here..."
type: "sentiment" | "summary" | "entities" | "key-points" | "general"
gemini-brainstorm
Collaborative brainstorming:
prompt: "How could we implement real-time collaboration?"
claudeThoughts: "I think we should use WebSockets..."
maxRounds: 3 (optional)
gemini-summarize
Summarize content:
content: "Long text to summarize..."
length: "brief" | "moderate" | "detailed"
format: "paragraph" | "bullet-points" | "outline"
gemini-run-code
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.
gemini-search
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.
gemini-structured
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)
gemini-extract
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)
gemini-youtube
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)
gemini-youtube-summary
Quick video summarization:
url: "https://www.youtube.com/watch?v=..."
style: "brief" | "detailed" | "bullet-points" | "chapters"
gemini-analyze-document
Analyze PDFs and documents:
filePath: "/path/to/document.pdf"
question: "Summarize the key findings"
mediaResolution: "low" | "medium" | "high"
gemini-summarize-pdf
Quick PDF summarization:
filePath: "/path/to/document.pdf"
style: "brief" | "detailed" | "outline" | "key-points"
gemini-extract-tables
Extract tables from documents:
filePath: "/path/to/document.pdf"
outputFormat: "markdown" | "csv" | "json"
Workflow: Claude + Gemini
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:
- Ask Claude to design the backend API
- Use
gemini-generate-imagefor UI mockups - Ask Gemini to generate React components via
gemini-query - Use multi-turn editing to refine visuals
- Let Claude wire everything together
Environment Variables
| 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 | Enable verbose logging |
QUIET | No | false | Minimize logging |
GEMINI_ENABLED_TOOLS | No | - | Comma-separated list of tool groups to load (e.g., query,search,image-gen) |
GEMINI_TOOL_PRESET | No | - | Preset profile: minimal, text, image, research, media, full |
Tool Configuration
By default, all 37 tools are loaded. To reduce context usage, configure which tools to load:
Available Presets
| Preset | Tool Groups |
|---|---|
minimal | query, brainstorm |
text | query, brainstorm, analyze, summarize, structured |
image | query, image-gen, image-edit, image-analyze |
research | query, search, deep-research, url-context, document |
media | query, image-gen, image-edit, image-analyze, video-gen, youtube, speech |
full | All 18 tool groups (default) |
Using Presets
# Minimal - query and brainstorm
GEMINI_TOOL_PRESET=minimal
# Text processing
GEMINI_TOOL_PRESET=text # query, brainstorm, analyze, summarize, structured
# Image workflows
GEMINI_TOOL_PRESET=image # query, image-gen, image-edit, image-analyze
# Research workflows
GEMINI_TOOL_PRESET=research # query, search, deep-research, url-context, document
Using Explicit Tool Lists
# Only specific tools
GEMINI_ENABLED_TOOLS=query,search,image-gen
Combining Preset + Explicit
# Start with preset, add extras
GEMINI_TOOL_PRESET=minimal
GEMINI_ENABLED_TOOLS=search,image-gen # Adds to minimal preset
Available Tool Groups
| Group | Tools |
|---|---|
query | gemini-query |
brainstorm | gemini-brainstorm |
analyze | gemini-analyze-code, gemini-analyze-text |
summarize | gemini-summarize |
image-gen | gemini-generate-image, gemini-image-prompt |
image-edit | gemini-start-image-edit, gemini-continue-image-edit, gemini-end-image-edit, gemini-list-image-sessions |
video-gen | gemini-generate-video, gemini-check-video |
code-exec | gemini-run-code |
search | gemini-search |
structured | gemini-structured, gemini-extract |
youtube | gemini-youtube, gemini-youtube-summary |
document | gemini-analyze-document, gemini-summarize-pdf, gemini-extract-tables |
url-context | gemini-analyze-url, gemini-compare-urls, gemini-extract-from-url |
cache | gemini-create-cache, gemini-query-cache, gemini-list-caches, gemini-delete-cache |
speech | gemini-speak, gemini-dialogue, gemini-list-voices |
token-count | gemini-count-tokens |
deep-research | gemini-deep-research, gemini-check-research, gemini-research-followup |
image-analyze | gemini-analyze-image |
Manual Installation
Global Install
# Using npm
npm install -g @rlabs-inc/gemini-mcp
# Using bun
bun install -g @rlabs-inc/gemini-mcp
Claude Code Configuration
{
"gemini": {
"command": "npx",
"args": ["-y", "@rlabs-inc/gemini-mcp"],
"env": {
"GEMINI_API_KEY": "your-api-key",
"GEMINI_OUTPUT_DIR": "/path/to/save/files"
}
}
}
If you must use a proxy to establish a connection to gemini, replace xxxx with your actual proxy port:
{
"gemini": {
"command": "npx",
"args": ["-y", "@rlabs-inc/gemini-mcp"],
"env": {
"GEMINI_API_KEY": "your-api-key",
"GEMINI_OUTPUT_DIR": "/path/to/save/files",
"HTTP_PROXY": "http://127.0.0.1:xxxx",
"HTTPS_PROXY": "http://127.0.0.1:xxxx"
}
}
}
Troubleshooting
Rate Limits (429 Errors)
If you're hitting rate limits on the free tier:
- Set
GEMINI_MODEL=gemini-3-flash-previewto use Flash for init (higher limits) - Or upgrade to a paid plan
Connection Issues
- Verify your API key at Google AI Studio
- Check server status:
claude mcp list - Try with verbose logging:
VERBOSE=true
Image/Video Issues
- Ensure your API key has access to image/video generation
- Check output directory permissions
- Files save to
GEMINI_OUTPUT_DIR(default:./gemini-output) - For 4K images, generation takes longer
Previous Versions
0.7.2
Beautiful CLI with Themes! Use Gemini directly from your terminal:
# Install globally
npm install -g @rlabs-inc/gemini-mcp
# Set your API key once
gcli config set api-key YOUR_KEY
# Generate images, videos, search, research, and more!
gcli image "a cat astronaut" --size 4K
gcli search "latest AI news"
gcli research "quantum computing applications" --wait
gcli speak "Hello world" --voice Puck
5 Beautiful Themes: terminal, neon, ocean, forest, minimal
CLI Commands:
gcli query- Direct Gemini queries with thinking levelsgcli search- Real-time web search with citationsgcli research- Deep research agentgcli image- Generate images (up to 4K)gcli video- Generate videos with Veogcli speak- Text-to-speech with 30 voicesgcli tokens- Count tokens and estimate costsgcli config- Manage settings
v0.6.x: Deep Research, Token Counting, TTS, URL analysis, Context Caching v0.5.x: 30+ tools, YouTube analysis, Document analysis v0.4.x: Code execution, Google Search v0.3.x: Thinking levels, Structured output, 4K images v0.2.x: Image/Video generation with Veo
Development
git clone https://github.com/rlabs-inc/gemini-mcp.git
cd gemini-mcp
bun install
bun run build
bun run dev -- --verbose
Scripts
| Command | Description |
|---|---|
bun run build | Build for production |
bun run dev | Development mode with watch |
bun run typecheck | Type check without emitting |
bun run format | Format with Prettier |
bun run lint | Lint with ESLint |
License
MIT License
Made with Claude + Gemini working together
Files in the repo
- .claude
- .husky
- docs
- src
- .env.example
- .gitignore
- .prettierignore
- .prettierrc
- bun.lock
- CLAUDE.md
- eslint.config.mjs
- LICENCE
- package-lock.json
- package.json
- README.md
- server.json
- tsconfig.json
- vitest.config.ts
Discussion (0)
Ask about usage, or say what you built with itSign in to join the discussion.
No comments yet. Be the first to say what this is good for.
More connectors
High-performance code intelligence MCP server. Indexes codebases into a persistent knowledge graph — average repo in milliseconds. 158 languages, sub-ms queries, 99% fewer tokens. Single static binary, zero dependencies.

Universal provider proxy for OpenAI Codex & Claude Code — use any LLM (Claude, Gemini, Grok, DeepSeek, Ollama…) with Codex CLI, App, SDK, and Claude Code
Git-native persistent memory for AI coding agents. Implements Google OKF v0.2 with sub-300µs in-memory BM25 search, embedded MCP server, and progressive disclosure. Slashes token bloat by 80% with zero external databases or dependencies. Built in pure Go.
Local-first code intelligence graph for MCP and CLI. Builds a persistent map of your codebase so AI coding tools read only what matters, with benchmarked context reductions on reviews and large-repo workflows.
Stop your AI from making things up — it proposes, deterministic tools decide, every claim checked against ground truth with evidence. Grounded facts and context survive resets. Reverse engineering is the proving ground. MCP server + CLI.