Skip to main content
Glama

Gemini MCP

Formerly Sibyl.

An MCP server for Google's Gemini.

One MCP across the whole generative surface: text, image, video, speech, embeddings, and deep research. Built for personal use, shared openly, not productised.


Gemini MCP is a local Model Context Protocol server wrapping Google's Gemini generative API. It folds the old nano-banana (image) and gemini-deep-research servers into one coherent Gemini surface, and adds text, video, speech and embeddings, so an assistant reaches everything Gemini generates through a single tool set.

Tools

Tool

What it does

generate

Text, code, chat and reasoning with Gemini

generate_image / edit_image

Generate or edit images (Nano Banana). Edit takes one or more inputs for compositing and iterative refinement

generate_video / video_status

Generate video with Veo. Async: fire, then poll

speak

Text to speech with Gemini TTS

embed

Embedding vectors for one or more texts

deep_research / research_get / research_followup

Fire an autonomous multi-step research task, poll it, and save a cited Markdown report; ask follow-ups without re-running

Related MCP server: gemini-bridge-mcp

Requirements

Install

git clone https://github.com/hello-emrah/gemini-mcp.git
cd gemini-mcp
npm install

Wire into Claude

{
  "mcpServers": {
    "gemini": {
      "command": "node",
      "args": ["/absolute/path/to/gemini-mcp/index.js"],
      "env": { "GEMINI_API_KEY": "your-key" }
    }
  }
}

Config

Variable

Purpose

GEMINI_API_KEY

Required. Your Gemini API key.

GEMINI_DEEP_RESEARCH_API_KEY

Optional. A separate key for the research agent; falls back to GEMINI_API_KEY.

GEMINI_TEXT_MODEL / GEMINI_IMAGE_MODEL / GEMINI_VIDEO_MODEL / GEMINI_TTS_MODEL / GEMINI_EMBED_MODEL

Optional model overrides; sensible current defaults otherwise.

GEMINI_OUTPUT_DIR

Where research reports and embedding files land by default.

Design philosophy

The visual mark and the tool itself were built deliberately against the visual language of capitalist software design. No gradients, no neon, no glass, no drop shadows, no isometric stock illustration. Single-shade flat seals in warm, considered colours, ancient-glyph silhouettes, generous whitespace. The mark could be pressed into wax or carved into stone.

This tool is built for personal use and shared openly. It is not productised, monetised, or instrumented. Use it for your own work or fork it for yours.

License

MIT.

Available Tools

10 tools
deep_researchA

Fire a Gemini Deep Research task asynchronously. Returns an interaction_id; poll research_get every 60s. Takes 5-20 minutes, costs roughly $2-5 per task.

Inputs: prompt (required), tone, format, sections, +2 more.

edit_imageA

Edit or combine one or more input images with a natural-language instruction (style transfer, inpainting, compositing). Pass a prior output back in to keep refining. Saves to output_path.

Inputs: prompt (required), image_paths (required), output_path (required), model.

embedA

Create embedding vectors for one or more texts with Gemini. Writes the vectors to a JSON file and returns the path and dimensions.

Inputs: text, model, texts, output_path.

generateA

Generate text with Gemini: prose, code, chat, reasoning. The core generative call.

Inputs: prompt (required), json, model, system.

generate_imageA

Generate an image from a text prompt with Gemini (Nano Banana). Saves to output_path.

Inputs: prompt (required), output_path (required), model.

generate_videoA

Generate a video from a text prompt with Veo. Async: returns an operation name, then poll video_status. Veo takes 1-3 minutes and is billed per second.

Inputs: prompt (required), model.

research_followupA

Ask a follow-up on a completed research task without re-running it. Returns the answer inline, saves nothing.

Inputs: prompt (required), previous_interaction_id (required).

research_getA

Poll a running research task. When complete, saves a cited Markdown report to output_dir and returns the path. Pass the same format/citation/tone used to start it.

Inputs: prompt (required), interaction_id (required), tone, format, +3 more.

speakC

Text to speech with Gemini TTS. Saves a WAV to output_path. (Music generation rides with the Live API in a later version.)

Inputs: text (required), output_path (required), model, voice.

video_statusB

Poll a Veo generation by its operation name. When done, downloads the mp4 to output_path.

Inputs: operation (required), output_path (required).

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

Loading tool schema changelog…

    TDQS

    A3.7/5.0

    Scored across 10 tools

    Disambiguation5/5

    Each tool targets a distinct modality or workflow stage: text, image, video, speech, embeddings, and research. The research trio (deep_research, research_get, research_followup) forms a clear lifecycle, and generate_image vs edit_image are clearly separated by creation vs modification.

    Naming Consistency3/5

    Names are descriptive but inconsistent in pattern: some are verb-first (generate_image, edit_image), some object-first (video_status, research_get), and others are single verbs (speak, embed). This mixing prevents a predictable convention, though the names remain readable.

    Tool Count5/5

    With 10 tools, the server is well-scoped for a multimodal AI toolkit covering text, image, video, speech, embeddings, and research. The count feels balanced and not bloated.

    Completeness4/5

    Core generation and editing are covered across all major modalities, plus embeddings and a full research workflow. Minor gaps exist, such as the absence of image/video understanding tools and music generation, but these are not essential for the primary purpose.

    Maintenance

    ActivityMaintained
    ResponsivenessNo recent community issues

    Related MCP Connectors

    Related MCP Servers