Gemini MCP Server
Provides tools for interacting with Google's Gemini API, enabling chat with Google Search grounding, deep research, image generation and editing, video generation via Veo 3.1, SVG creation, landing page generation, and media analysis.
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@Gemini MCP Server what's the latest news on AI regulation?"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
@houtini/gemini-mcp
I've been running this MCP server in my Claude Desktop setup for months. It's one of the few I leave on permanently — not because Gemini replaces Claude, but because grounded search, image generation, SVG diagrams, and video are things Gemini does genuinely well. Having them as tools inside Claude beats switching browser tabs.
Thirteen tools. One npx command.
Quick Navigation
Get started | What it does | SVG generation | Image output | Configuration | Agents | Tools | Models | Requirements
What it looks like
Generated images, SVGs, and videos render inline in Claude Desktop with zoom controls, file paths, and prompt context:
Image generation | SVG / diagram generation |
|
|
Image embed | SVG embed | Video embed |
|
|
|
Related MCP server: Gemini MCP Server
Get started in two minutes
Step 1: Get a Gemini API key
Go to Google AI Studio and create one. The free tier covers most development use — you'll hit rate limits on deep research if you're hammering it, but for day-to-day work it's fine.
Step 2: Add to your Claude Desktop config
Config file locations:
Windows:
C:\Users\{username}\AppData\Roaming\Claude\claude_desktop_config.jsonmacOS:
~/Library/Application Support/Claude/claude_desktop_config.json
{
"mcpServers": {
"gemini": {
"command": "npx",
"args": ["@houtini/gemini-mcp"],
"env": {
"GEMINI_API_KEY": "your-api-key-here"
}
}
}
}Step 3: Restart Claude Desktop
That's it. Tools show up automatically. npx pulls the package on first run — no separate install needed.
Local build instead
For development, or if you'd rather not rely on npx:
git clone https://github.com/houtini-ai/gemini-mcp
cd gemini-mcp
npm install --include=dev
npm run buildThen point your config at the local build:
{
"mcpServers": {
"gemini": {
"command": "node",
"args": ["C:/path/to/gemini-mcp/dist/index.js"],
"env": {
"GEMINI_API_KEY": "your-api-key-here"
}
}
}
}Claude Code (CLI)
Claude Code uses a different registration mechanism — it doesn't read claude_desktop_config.json. Use claude mcp add instead:
claude mcp add -e GEMINI_API_KEY=your-api-key-here -s user gemini -- npx -y @houtini/gemini-mcpWith optional image output directory:
claude mcp add \
-e GEMINI_API_KEY=your-api-key-here \
-e GEMINI_IMAGE_OUTPUT_DIR=/path/to/output \
-s user \
gemini -- npx -y @houtini/gemini-mcpVerify with claude mcp get gemini — you should see Status: Connected.
What it does
Chat with Google Search grounding
Use gemini:gemini_chat to ask: "What changed in the MCP spec in the last month?"Grounding is on by default. Gemini searches Google before answering, so you get current information rather than training cutoff answers. Sources come back as markdown links. For questions where you want pure reasoning — "explain this code" or similar — set grounding: false.
Supports thinking_level on Gemini 3 models: high for maximum reasoning depth, low to keep it fast, medium/minimal on Gemini 3 Flash only.
Deep research
Use gemini:gemini_deep_research with:
research_question="What are the current approaches to AI agent memory management?"
focus_areas=["episodic memory", "retrieval"]Runs Google's real Deep Research agent through the Gemini Interactions API: it autonomously performs many rounds of live web search and returns a synthesised, cited report. This is the actual Deep Research product — not a grounding-augmented chat loop. The interaction runs asynchronously (created in the background, then polled) and takes several minutes.
Pick the agent with model: deep-research-pro-preview-12-2025 (default), deep-research-preview-04-2026, or deep-research-max-preview-04-2026 (most thorough, slowest). Pass focus_areas as an array to steer toward specific angles. Requires Interactions API access on your Gemini key.
Image generation with search grounding
Use gemini:generate_image with:
prompt="Stock price chart showing Apple (AAPL) closing prices for the last 5 trading days"
use_search=true
aspectRatio="16:9"Default model is gemini-3-pro-image-preview (Nano Banana Pro). Also supports gemini-2.5-flash-image for faster generation.
When use_search=true, Gemini searches Google for current data before generating. Financial and news queries work reliably. The full-resolution image saves to disk automatically — the inline preview is resized for transport but the original is untouched.
Video generation with Veo 3.1
Use gemini:generate_video with:
prompt="A close-up shot of a futuristic coffee machine brewing a glowing blue espresso, steam rising dramatically. Cinematic lighting."
resolution="1080p"
durationSeconds=8Uses Google's Veo 3.1 model. Generates 4-8 second videos at up to 4K with native synchronised audio. Processing takes 2-5 minutes — the tool polls automatically until ready.
Options worth knowing:
aspectRatio—16:9landscape or9:16portrait/verticalgenerateAudio— on by default, produces dialogue and sound effects matching the promptsampleCount— generate up to 4 variations in one callseed— deterministic output across runsgenerateThumbnail— extracts a frame via ffmpeg (needs ffmpeg in PATH)firstFrameImage— animate from a starting image (image-to-video)
SVG generation
This is the one people underestimate. SVG output isn't just diagrams — it's production-ready vector graphics you can drop straight into a codebase, a presentation, or a web page. Clean, scalable, no raster artefacts.
Use gemini:generate_svg with:
prompt="Architecture diagram showing a microservices system with API gateway, three services, and a shared database"
style="technical"
width=1000
height=600Four styles:
Style | Best for |
| Architecture diagrams, flowcharts, system maps |
| Illustrations, decorative graphics, icons |
| Clean data visualisations, simple charts |
| Complex charts, dashboards, infographics |
The output is actual SVG code — edit it, animate it, embed it in HTML, commit it to a repo. No rasterising, no export steps, no Figma required.

Image editing and analysis
Conversational editing — Gemini 3 Pro Image maintains context across editing turns. Pass thought signatures back on subsequent edit_image calls for full continuity:
Use gemini:edit_image with:
prompt="Change the colour scheme to blue and green"
images=[{data: imageBase64, mimeType: "image/png", thoughtSignature: "fromPreviousCall"}]Analysis — two tools for different purposes:
describe_image— Fast general descriptions using Gemini 3 Flashanalyze_image— Structured extraction and detailed reasoning using Gemini 3.1 Pro
Load local files:
Use gemini:load_image_from_path with filePath="C:/screenshots/error.png"Media resolution control
Reduce token usage by up to 75% whilst maintaining quality for the task:
Level | Tokens | Savings | Best for |
| 280 | 75% | Simple tasks, bulk operations |
| 560 | 50% | PDFs/documents (OCR saturates here) |
| 1120 | default | Detailed analysis |
| 2000+ | per-image only | Maximum detail |
For PDF OCR, MEDIUM gives identical text extraction quality to HIGH at half the tokens.
Landing page generation
Use gemini:generate_landing_page with:
brief="A SaaS tool that helps developers monitor API latency"
companyName="PingWatch"
primaryColour="#6366F1"
style="startup"
sections=["hero", "features", "pricing", "cta"]Returns a self-contained HTML file — inline CSS and vanilla JS, no external dependencies. Styles: minimal, bold, corporate, startup.
Professional chart design systems
gemini_prompt_assistant includes 9 professional chart design systems:
System | Inspiration | Best for |
storytelling | Cole Nussbaumer Knaflic | Executive presentations |
financial | Financial Times | Editorial journalism — FT Pink, serif titles |
terminal | Bloomberg / Fintech | High-density dark mode with neon |
modernist | W.E.B. Du Bois | Bold geometric blocks, stark contrasts |
professional | IBM Carbon / Tailwind | Enterprise dashboards |
editorial | FiveThirtyEight / Economist | Data journalism |
scientific | Nature / Science | Academic rigour |
minimal | Edward Tufte | Maximum data-ink ratio |
dark | Observable | Modern dark mode |
Help system
Use gemini:gemini_help with topic="overview"Full documentation without leaving Claude. Topics: overview, image_generation, image_editing, image_analysis, chat, deep_research, grounding, media_resolution, models, all.
Image output and storage
By default, images return as inline previews rendered directly in Claude. Set GEMINI_IMAGE_OUTPUT_DIR to auto-save everything:
"env": {
"GEMINI_API_KEY": "your-api-key-here",
"GEMINI_IMAGE_OUTPUT_DIR": "C:/Users/username/Pictures/gemini-output"
}The server uses a two-tier approach to handle the MCP protocol's 1MB JSON-RPC limit whilst preserving full-resolution files:
Tier | Purpose |
Full-res | Saved to disk immediately, untouched |
Preview | Resized JPEG for inline transport — dynamically sized to fit under the cap |
Gemini returns 2-5MB images. The resize is smart — it measures the non-image overhead in each response and calculates the exact binary budget available, stepping down dimensions (800→600→400→300→200px) until it fits. The full image is always there on disk.
Configuration reference
Variable | Required | Default | Description |
| Yes | — | Google AI API key from AI Studio |
| No |
| Default model for |
| No |
| Deep Research agent for |
| No |
| Enable Google Search grounding by default |
| No | — | Auto-save directory for generated images and videos |
| No |
| Include experimental/preview models in auto-discovery |
| No |
| Write logs to |
| No |
| Log to stderr for debugging tool calls |
| No |
| Path/name of the |
| No | — | Default agent model label (e.g. |
| No |
| Default hard timeout per agent run |
| No |
| Auto-approve agent tool calls ( |
Agents
Beyond single-shot text, the server can launch autonomous Gemini agents via
the agy CLI. Where gemini_chat returns one answer, gemini_agent
gives the model a working directory in which it can read & edit files and run
shell commands to actually carry out a multi-step task, then reports back — so
Claude can delegate self-contained coding/research/automation jobs to a Gemini
coworker and iterate via the returned conversation_id.
Use gemini:gemini_agent with:
task="In ./service, add input validation to the POST /users endpoint and a test for it."
directory="/abs/path/service"
model="Gemini 3.1 Pro (High)"The agent uses agy's own login (Antigravity / Cloud Code) — independent of
GEMINI_API_KEY. Pick a Flash model for speed, a Pro/High model for harder
reasoning; list the exact labels with gemini_agent_models. See
gemini_help topic="agents" for the full parameter reference.
Tools reference
Tool | Description |
| Chat with Gemini 3.1 Pro. Google Search grounding on by default. Supports |
| Real Google Deep Research agent (Interactions API): autonomous multi-step web research, synthesised cited report |
| Launch an autonomous Gemini agent ( |
| Lists the agent model labels available via |
| Extract text verbatim from images or PDFs (Markdown structure preserved) |
| Summarise text or almost any local file (text/code, PDF, images, audio, video) |
| Transcribe speech from audio/video, with optional timestamps and speaker labels |
| Extract structured JSON from text or any file (Gemini JSON mode, optional schema) |
| Lists available models from the Gemini API |
| Documentation for all features without leaving Claude |
| Expert guidance for image generation with 9 chart design systems |
| Image generation with optional search grounding. Full-res saved to disk |
| Edit images with natural-language instructions. Multi-turn continuity via thought signatures |
| Fast image descriptions using Gemini 3 Flash |
| Structured extraction and analysis using Gemini 3.1 Pro |
| Read a local image file and return base64 for any image tool |
| Video generation with Veo 3.1 — 4-8 seconds at up to 4K with native audio |
| Production-ready SVG: diagrams, illustrations, icons, data visualisations |
| Self-contained HTML landing pages with inline CSS/JS |
Model reference
Model | Used by | Notes |
|
| Default. Advanced reasoning |
|
| Nano Banana Pro — highest quality image generation |
|
| Faster generation, higher volume |
|
| Fast general descriptions |
|
| Veo 3.1 — 4K video with native audio |
|
| Real Deep Research agent (Interactions API). Also: |
Gemini 3 notes: Temperature is forced to 1.0 on Gemini 3 models (Google's requirement — lower values cause looping). Thinking level only applies to gemini_chat.
Requirements
Node.js 18+
A Gemini API key from Google AI Studio
ffmpeg (optional, for video thumbnail extraction)
Licence
Apache-2.0
Available Tools
19 toolsanalyze_imageAnalyze ImageB
Analyze and extract information from one or more images using Gemini multimodal understanding. Returns a text analysis — no image is generated. Default model: gemini-3-pro-preview.
Inputs: images (required), prompt (required), model, max_tokens, +1 more. Returns: content, success
describe_imageDescribe Image (Nano Banana Pro)A
Analyze and describe one or more images using Google Gemini image models (Nano Banana Pro). Returns a text description — no image is generated. Default model: gemini-3-flash-preview.
Inputs: images (required), prompt, model, global_media_resolution. Returns: content, success
edit_imageEdit Image with GeminiA
Edit one or more images using Google Gemini image models (Nano Banana Pro). Provide images and natural-language instructions for how to modify them. Returns edited image with inline preview and saves full-resolution to disk.
Inputs: prompt (required), images (required), model, use_search, +2 more.
extract_structured_dataExtract Structured DataA
Extract structured JSON from text or almost any local file (text/code, PDF, image, audio, video) using Gemini JSON mode. Describe the fields you want in instructions, optionally constrain the output with a json_schema (Gemini/OpenAPI subset). Returns parsed JSON.
Inputs: instructions (required), text, file_path, json_schema, +2 more. Returns: content, success
gemini_agentLaunch Gemini AgentA
Delegate a task to an autonomous Gemini agent (via the agy CLI). Unlike gemini_chat (a single text response), the agent can read and edit files and run shell commands inside a working directory to actually carry out multi-step work, then returns its final report. Use it to offload self-contained coding/research/automation tasks. Returns a conversation_id you can pass back to continue iterating with the same agent. Pick a "Flash" model for speed, a "Pro" model for harder reasoning (see gemini_agent_models).
Inputs: task (required), model, directory, add_directories, +5 more. Returns: content, conversation_id, timed_out, success
gemini_agent_modelsList Gemini Agent ModelsA
List the model labels available to the Gemini agent (gemini_agent). These come from agy models and differ from the API models in gemini_list_models — use the exact label as the agent's "model".
Inputs: no named parameters. Returns: content, models, success
gemini_chatGemini ChatC
Chat with Google Gemini models
Inputs: message (required), model, temperature, max_tokens, +3 more. Returns: content, success
gemini_deep_researchGemini Deep ResearchA
Conduct real Deep Research on complex topics: Google's autonomous Deep Research agent does multi-step live web search and returns a synthesised, cited report (takes several minutes). Runs the actual Deep Research agents via the Gemini Interactions API. [MCP_RECOMMENDED_TIMEOUT_MS: 900000]
Inputs: research_question (required), model, focus_areas. Returns: content, success
gemini_helpGemini MCP HelpA
Get comprehensive help about Gemini MCP features, settings, and best practices
Inputs: topic.
gemini_list_modelsList Gemini ModelsA
List available Gemini models and their descriptions
Inputs: no named parameters. Returns: content, success
gemini_prompt_assistantImage & Chart Prompt AssistantA
Get expert prompt templates and guidance for Gemini image generation. Covers photography (portraits, products, cinematic), chart/diagram design (9 professional design systems including FT, Bloomberg, Tufte, Du Bois), lighting, colour grading, lens simulation, and style aesthetics. For charts: use chart_design with a color_scheme to get a full professional design system prompt.
Inputs: request_type (required), use_case, current_prompt, desired_outcome, +3 more.
generate_imageGenerate Image with GeminiB
Generate an image using Google Gemini image models (Nano Banana Pro). Returns image with inline preview in Claude Desktop and saves full-resolution to disk. Default model: gemini-3-pro-image-preview.
Inputs: prompt (required), model, aspectRatio, imageSize, +4 more.
generate_landing_pageGenerate Landing PageA
Generate a complete, self-contained HTML landing page using Gemini. Returns inline preview with responsive viewport controls. No external dependencies; inline CSS and vanilla JS only.
Inputs: brief (required), companyName, primaryColour, style, +3 more.
generate_summaryGenerate SummaryA
Summarise text or a local file with Gemini. Provide text, or file_path to almost any file: text/code, PDF, images, audio or video (Office docs must be exported to PDF first). Choose the length and optionally a focus or output language.
Inputs: text, file_path, length, focus, +2 more. Returns: content, success
generate_svgGenerate SVG GraphicA
Generate scalable vector graphics (SVG) using Gemini. Creates clean, production-ready SVG code for diagrams, illustrations, icons, and data visualizations. Returns inline preview with SVG viewer.
Inputs: prompt (required), width, height, style, +2 more.
generate_videoGenerate VideoA
Generate videos using Google Veo 3.1 AI model. Creates realistic 4-8 second videos from text prompts with optional first-frame image and reference images for character/style consistency. Supports native audio generation. Processing time: 2-5 minutes for 1080p videos. Returns video file path with optional thumbnail and HTML preview player. ⚠️ IMPORTANT: Video generation is ASYNC and takes 2-5 minutes. The tool will poll for completion automatically.
Inputs: prompt (required), model, aspectRatio, resolution, +9 more.
load_image_from_pathLoad Image from File PathA
Read a local image file and return it as base64-encoded data ready to pass to generate_image, edit_image, describe_image, or analyze_image tools. Supports JPEG, PNG, GIF, WebP, BMP.
Inputs: filePath (required). Returns: content, success
ocrOCR (Extract Text)A
Extract text verbatim from images or PDFs using Gemini multimodal OCR. Returns the raw text (as Markdown for structure) — no summarising or analysis. For documents/PDFs, MEDIUM resolution gives the same OCR quality at half the token cost.
Inputs: images (required), language, prompt, model, +2 more. Returns: content, success
transcribeTranscribe Audio/VideoB
Transcribe speech from an audio or video file to text using Gemini. Optional timestamps, speaker labels (diarization) and language hint. Provide a local file_path (loaded server-side) or inline base64 data.
Inputs: file_path, data, mime_type, language, +5 more. Returns: content, success
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
Loading tool schema changelog…
TDQS
Scored across 19 tools
Tools have largely distinct purposes, but analyze_image and describe_image are somewhat overlapping (both analyze/describe images, return text). Similarly, gemini_chat, gemini_agent, and gemini_deep_research all involve interacting with Gemini but with different scopes, which could cause confusion. Most other tools are clearly differentiated.
Naming follows two conventions: gemini_ prefix for core interactions (gemini_chat, gemini_agent, etc.) and verb_noun for task-specific tools (analyze_image, generate_image, etc.). However, there are single-word names (ocr, transcribe) and inconsistent verb forms (extract_structured_data, load_image_from_path). The pattern is not uniform.
19 tools cover a broad range of Gemini capabilities (image, video, audio, text, agent, research, etc.). While the count is slightly high, each tool serves a distinct function and the scope justifies the number. Some consolidation (e.g., merging analyze_image and describe_image) could reduce count without loss.
The toolset comprehensively covers Gemini's multimodal features: image analysis and generation, video, audio transcription, OCR, structured extraction, code generation, and autonomous agents. Minor gaps include no dedicated audio file loading tool (audio is handled via transcribe with file_path) and no deletion/update tools, but these are not essential for the server's purpose.
Related MCP Connectors
Generate images and video from Claude with one API key.
Turn any LLM multimodal; generate images, voices, videos, 3D models, music, and more.
Multiple Google accounts (Gmail, Calendar, Drive, Contacts, Tasks) in one Claude connector.
Multiple Google accounts (Gmail, Calendar, Drive, Contacts, Tasks) in one Claude connector.
Related MCP Servers
- FlicenseNot gradedqualityDmaintenanceA server implementing the Model Context Protocol that enables AI assistants like Claude to interact with Google's Gemini API for text generation, text analysis, and chat conversations.-
- FlicenseNot gradedqualityDmaintenanceA Model Context Protocol server that enables Claude to interact with Google's Gemini AI models, allowing users to ask Gemini questions directly from Claude.2-
- AlicenseAqualityDmaintenanceEnables Claude and other AI assistants to generate high-quality images up to 4K resolution using Google's Gemini image models, with support for flexible aspect ratios, natural language editing, and Google Search grounding for accurate results.434 PyPI12MIT
- AlicenseNot gradedqualityDmaintenanceEmpowers AI assistants with real-world capabilities including note management, Gmail integration, Google Calendar and Tasks management, and Git repository operations through the Model Context Protocol.13MIT



