Skip to main content
Glama

@houtini/gemini-mcp

npm version MCP Registry

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 preview

SVG preview

Image embed

SVG embed

Video embed

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.json

  • macOS: ~/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 build

Then 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-mcp

With 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-mcp

Verify 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=8

Uses 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:9 landscape or 9:16 portrait/vertical

  • generateAudio — on by default, produces dialogue and sound effects matching the prompt

  • sampleCount — generate up to 4 variations in one call

  • seed — deterministic output across runs

  • generateThumbnail — 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=600

Four styles:

Style

Best for

technical

Architecture diagrams, flowcharts, system maps

artistic

Illustrations, decorative graphics, icons

minimal

Clean data visualisations, simple charts

data-viz

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.

SVG generation in Claude Desktop

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 Flash

  • analyze_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

MEDIA_RESOLUTION_LOW

280

75%

Simple tasks, bulk operations

MEDIA_RESOLUTION_MEDIUM

560

50%

PDFs/documents (OCR saturates here)

MEDIA_RESOLUTION_HIGH

1120

default

Detailed analysis

MEDIA_RESOLUTION_ULTRA_HIGH

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

GEMINI_API_KEY

Yes

—

Google AI API key from AI Studio

GEMINI_DEFAULT_MODEL

No

gemini-3.1-pro-preview

Default model for gemini_chat and analyze_image

GEMINI_DEEP_RESEARCH_AGENT

No

deep-research-pro-preview-12-2025

Deep Research agent for gemini_deep_research

GEMINI_DEFAULT_GROUNDING

No

true

Enable Google Search grounding by default

GEMINI_IMAGE_OUTPUT_DIR

No

—

Auto-save directory for generated images and videos

GEMINI_ALLOW_EXPERIMENTAL

No

false

Include experimental/preview models in auto-discovery

GEMINI_MCP_LOG_FILE

No

false

Write logs to ~/.gemini-mcp/logs/

DEBUG_MCP

No

false

Log to stderr for debugging tool calls

GEMINI_AGY_BIN

No

agy

Path/name of the agy executable for the agent tools

GEMINI_AGY_MODEL

No

—

Default agent model label (e.g. Gemini 3.1 Pro (High))

GEMINI_AGY_TIMEOUT_SECONDS

No

600

Default hard timeout per agent run

GEMINI_AGY_AUTO_APPROVE

No

true

Auto-approve agent tool calls (false requires prompts)

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

gemini_chat

Chat with Gemini 3.1 Pro. Google Search grounding on by default. Supports thinking_level

gemini_deep_research

Real Google Deep Research agent (Interactions API): autonomous multi-step web research, synthesised cited report

gemini_agent

Launch an autonomous Gemini agent (agy) that reads/edits files and runs commands in a directory. Returns a conversation_id for follow-ups

gemini_agent_models

Lists the agent model labels available via agy models

ocr

Extract text verbatim from images or PDFs (Markdown structure preserved)

generate_summary

Summarise text or almost any local file (text/code, PDF, images, audio, video)

transcribe

Transcribe speech from audio/video, with optional timestamps and speaker labels

extract_structured_data

Extract structured JSON from text or any file (Gemini JSON mode, optional schema)

gemini_list_models

Lists available models from the Gemini API

gemini_help

Documentation for all features without leaving Claude

gemini_prompt_assistant

Expert guidance for image generation with 9 chart design systems

generate_image

Image generation with optional search grounding. Full-res saved to disk

edit_image

Edit images with natural-language instructions. Multi-turn continuity via thought signatures

describe_image

Fast image descriptions using Gemini 3 Flash

analyze_image

Structured extraction and analysis using Gemini 3.1 Pro

load_image_from_path

Read a local image file and return base64 for any image tool

generate_video

Video generation with Veo 3.1 — 4-8 seconds at up to 4K with native audio

generate_svg

Production-ready SVG: diagrams, illustrations, icons, data visualisations

generate_landing_page

Self-contained HTML landing pages with inline CSS/JS


Model reference

Model

Used by

Notes

gemini-3.1-pro-preview

gemini_chat, analyze_image

Default. Advanced reasoning

gemini-3-pro-image-preview

generate_image, edit_image

Nano Banana Pro — highest quality image generation

gemini-2.5-flash-image

generate_image (optional)

Faster generation, higher volume

gemini-3-flash-preview

describe_image

Fast general descriptions

veo-3.1-generate-preview

generate_video

Veo 3.1 — 4K video with native audio

deep-research-pro-preview-12-2025

gemini_deep_research

Real Deep Research agent (Interactions API). Also: deep-research-preview-04-2026, deep-research-max-preview-04-2026

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 tools
analyze_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

    A3.6/5.0

    Scored across 19 tools

    Disambiguation4/5

    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 Consistency3/5

    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.

    Tool Count4/5

    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.

    Completeness4/5

    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

    Related MCP Servers

    • F
      license
      Not graded
      quality
      D
      maintenance
      A 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.
      -
    • F
      license
      Not graded
      quality
      D
      maintenance
      A 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
      -
    • A
      license
      A
      quality
      D
      maintenance
      Enables 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.
      4
      34 PyPI
      12
      MIT