Skip to main content
Glama

Gemini Deep Research MCP

PyPI version npm version License: MIT

An MCP server that exposes Gemini's Deep Research Agent for comprehensive web research.

One-Click Install

IDE

Install

Cursor

Install in Cursor

VS Code

Install in VS Code

VS Code Insiders

Install in VS Code Insiders

Note: After clicking, replace your-api-key with your Gemini API key. VS Code requires version 1.101+.


Related MCP server: Gemini Research MCP Server

Installation Methods

Using npx (Node.js)

Requires Node.js 16+ and uv.

npx @bharatvansh/gemini-deep-research-mcp
{
  "servers": {
    "gemini-deep-research": {
      "command": "npx",
      "args": ["-y", "@bharatvansh/gemini-deep-research-mcp"],
      "env": {
        "GEMINI_API_KEY": "your-api-key"
      }
    }
  }
}
{
  "mcpServers": {
    "gemini-deep-research": {
      "command": "npx",
      "args": ["-y", "@bharatvansh/gemini-deep-research-mcp"],
      "env": {
        "GEMINI_API_KEY": "your-api-key"
      }
    }
  }
}

Add to ~/.codeium/windsurf/mcp_config.json (macOS/Linux) or %USERPROFILE%\.codeium\windsurf\mcp_config.json (Windows):

{
  "mcpServers": {
    "gemini-deep-research": {
      "command": "npx",
      "args": ["-y", "@bharatvansh/gemini-deep-research-mcp"],
      "env": {
        "GEMINI_API_KEY": "your-api-key"
      }
    }
  }
}
{
  "mcpServers": {
    "gemini-deep-research": {
      "command": "npx",
      "args": ["-y", "@bharatvansh/gemini-deep-research-mcp"],
      "env": {
        "GEMINI_API_KEY": "your-api-key"
      }
    }
  }
}

Add to ~/.claude/settings.json:

{
  "mcpServers": {
    "gemini-deep-research": {
      "command": "npx",
      "args": ["-y", "@bharatvansh/gemini-deep-research-mcp"],
      "env": {
        "GEMINI_API_KEY": "your-api-key"
      }
    }
  }
}

Add to ~/.codex/config.toml:

[mcp_servers.gemini-deep-research]
command = "npx"
args = ["-y", "@bharatvansh/gemini-deep-research-mcp"]

[mcp_servers.gemini-deep-research.env]
GEMINI_API_KEY = "your-api-key"

Add to ~/.cursor/mcp.json:

{
  "mcpServers": {
    "gemini-deep-research": {
      "command": "npx",
      "args": ["-y", "@bharatvansh/gemini-deep-research-mcp"],
      "env": {
        "GEMINI_API_KEY": "your-api-key"
      }
    }
  }
}

Add to your Antigravity mcp_config.json:

{
  "gemini-deep-research": {
    "command": "npx",
    "args": ["-y", "@bharatvansh/gemini-deep-research-mcp"],
    "env": {
      "GEMINI_API_KEY": "your-api-key"
    }
  }
}

Using uvx (Python)

Requires uv.

uvx gemini-deep-research-mcp
{
  "servers": {
    "gemini-deep-research": {
      "command": "uvx",
      "args": ["gemini-deep-research-mcp"],
      "env": {
        "GEMINI_API_KEY": "your-api-key"
      }
    }
  }
}
{
  "mcpServers": {
    "gemini-deep-research": {
      "command": "uvx",
      "args": ["gemini-deep-research-mcp"],
      "env": {
        "GEMINI_API_KEY": "your-api-key"
      }
    }
  }
}

Add to ~/.codeium/windsurf/mcp_config.json (macOS/Linux) or %USERPROFILE%\.codeium\windsurf\mcp_config.json (Windows):

{
  "mcpServers": {
    "gemini-deep-research": {
      "command": "uvx",
      "args": ["gemini-deep-research-mcp"],
      "env": {
        "GEMINI_API_KEY": "your-api-key"
      }
    }
  }
}
{
  "mcpServers": {
    "gemini-deep-research": {
      "command": "uvx",
      "args": ["gemini-deep-research-mcp"],
      "env": {
        "GEMINI_API_KEY": "your-api-key"
      }
    }
  }
}

Add to ~/.claude/settings.json:

{
  "mcpServers": {
    "gemini-deep-research": {
      "command": "uvx",
      "args": ["gemini-deep-research-mcp"],
      "env": {
        "GEMINI_API_KEY": "your-api-key"
      }
    }
  }
}

Add to ~/.codex/config.toml:

[mcp_servers.gemini-deep-research]
command = "uvx"
args = ["gemini-deep-research-mcp"]

[mcp_servers.gemini-deep-research.env]
GEMINI_API_KEY = "your-api-key"

Add to ~/.cursor/mcp.json:

{
  "mcpServers": {
    "gemini-deep-research": {
      "command": "uvx",
      "args": ["gemini-deep-research-mcp"],
      "env": {
        "GEMINI_API_KEY": "your-api-key"
      }
    }
  }
}

Add to your Antigravity mcp_config.json:

{
  "gemini-deep-research": {
    "command": "uvx",
    "args": ["gemini-deep-research-mcp"],
    "env": {
      "GEMINI_API_KEY": "your-api-key"
    }
  }
}

Using pip

pip install gemini-deep-research-mcp
{
  "servers": {
    "gemini-deep-research": {
      "command": "gemini-deep-research-mcp",
      "env": {
        "GEMINI_API_KEY": "your-api-key"
      }
    }
  }
}
{
  "mcpServers": {
    "gemini-deep-research": {
      "command": "gemini-deep-research-mcp",
      "env": {
        "GEMINI_API_KEY": "your-api-key"
      }
    }
  }
}

Add to ~/.codeium/windsurf/mcp_config.json (macOS/Linux) or %USERPROFILE%\.codeium\windsurf\mcp_config.json (Windows):

{
  "mcpServers": {
    "gemini-deep-research": {
      "command": "gemini-deep-research-mcp",
      "env": {
        "GEMINI_API_KEY": "your-api-key"
      }
    }
  }
}
{
  "mcpServers": {
    "gemini-deep-research": {
      "command": "gemini-deep-research-mcp",
      "env": {
        "GEMINI_API_KEY": "your-api-key"
      }
    }
  }
}

Add to ~/.claude/settings.json:

{
  "mcpServers": {
    "gemini-deep-research": {
      "command": "gemini-deep-research-mcp",
      "env": {
        "GEMINI_API_KEY": "your-api-key"
      }
    }
  }
}

Add to ~/.codex/config.toml:

[mcp_servers.gemini-deep-research]
command = "gemini-deep-research-mcp"

[mcp_servers.gemini-deep-research.env]
GEMINI_API_KEY = "your-api-key"

Add to ~/.cursor/mcp.json:

{
  "mcpServers": {
    "gemini-deep-research": {
      "command": "gemini-deep-research-mcp",
      "env": {
        "GEMINI_API_KEY": "your-api-key"
      }
    }
  }
}

Add to your Antigravity mcp_config.json:

{
  "gemini-deep-research": {
    "command": "gemini-deep-research-mcp",
    "env": {
      "GEMINI_API_KEY": "your-api-key"
    }
  }
}

Antigravity

  1. Open the Agent side panel → click ... → MCP Store

  2. Search for your MCP server or click Add Custom Server

  3. Add this configuration to your mcp_config.json:

{
  "gemini-deep-research": {
    "command": "uvx",
    "args": ["gemini-deep-research-mcp"],
    "env": {
      "GEMINI_API_KEY": "your-api-key"
    }
  }
}

Prerequisites

# macOS/Linux
curl -LsSf https://astral.sh/uv/install.sh | sh

# Windows (PowerShell)
powershell -ExecutionPolicy ByPass -c "irm https://astral.sh/uv/install.ps1 | iex"

Tools

1. start_deep_research

Initiates a deep, multi-step web research job in the background using Google's Deep Research Agent. Returns a job_id, which you can use to check the status of completion using check_deep_research(job_id=...).

Parameter

Type

Required

Default

Description

prompt

string

✓

—

Your comprehensive research question or topic

Output

Description

job_id

Unique tracking ID for the research job

status

Initial job state (e.g. in_progress)


2. check_deep_research

Checks the status of a Deep Research job using its job_id and returns the complete report once finished.

Parameter

Type

Required

Default

Description

job_id

string

✓

—

The research tracking ID from start_deep_research

include_citations

boolean

true

Include source URLs in the report

Output

Description

job_id

The tracking ID of the research job

status

Exact current job state (in_progress, completed, failed, or cancelled)

report_text

Synthesized markdown research report (when completed)

uptime

Elapsed time while the job is in progress, when available

error

Failure details, when the API provides them

Configuration

Variable

Required

Default

Description

GEMINI_API_KEY

✓

—

Your Gemini API key

GEMINI_DEEP_RESEARCH_AGENT

deep-research-preview-04-2026

Deep Research agent to use. Set to deep-research-max-preview-04-2026 for maximum thoroughness, or deep-research-preview-04-2026 for standard speed.

Development

git clone https://github.com/bharatvansh/gemini-deep-research-mcp.git
cd gemini-deep-research-mcp
pip install -e .[dev]
pytest

License

MIT

Available Tools

2 tools
check_deep_researchCheck Gemini Deep ResearchA
Read-onlyIdempotent

Checks the status of a Deep Research job using its job_id and returns the complete report once finished.

Parameters:

  • job_id: The tracking ID returned by start_deep_research (required)

  • include_citations: Whether to include source URLs in the report (default: true)

Returns:

  • job_id: The tracking ID of the research job

  • status: Current job state ('in_progress', 'completed', 'failed', or 'cancelled')

  • report_text: The synthesized research report when completed

  • uptime: Elapsed time while the job is in progress, when available

  • error: Failure details, when the API provides them

Inputs: job_id (required), include_citations. Returns: error, job_id, status, uptime, +1 more

start_deep_researchStart Gemini Deep ResearchA

Initiates a deep, multi-step web research job in the background using Google's Deep Research Agent. Returns a job_id, which you can use to check the status of completion using check_deep_research(job_id=...).

Parameters:

  • prompt: The comprehensive research question or topic to investigate (required)

Returns:

  • job_id: Unique tracking ID for the research job

  • status: Initial job state (typically 'in_progress')

Inputs: prompt (required). Returns: job_id, status

Tool Schema Changelog

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

Loading tool schema changelog…

    TDQS

    A4.1/5.0

    Scored across 2 tools

    Disambiguation5/5

    The two tools have completely distinct responsibilities: one initiates a research job accordion to a prompt, and the other polls for status and retrieves the report. There is no overlap in functionality or ambiguity about which tool to use in any given situation.

    Naming Consistency5/5

    Both tools follow a consistent verb_noun pattern: 'start_deep_research' and 'check_deep_research'. The action (start/check) clearly precedes the domain (deep_research), making the naming predictable and intuitive.

    Tool Count3/5

    With only two tools, the surface is minimal but matches the narrow scope of managing a deep research job. However, per the calibration this falls in the borderline category (1-2 tools). It is slightly thin, though not unreasonable for such a specific workflow.

    Completeness4/5

    The lifecycle is essentially complete: start a job and retrieve the final report. The absence of a cancel or list tools is a minor gap, but the core workflow (initiate and poll) is fully covered from the agent's perspective.

    Maintenance

    ActivityNo data
    ResponsivenessOutdated data

    Related MCP Connectors

    Related MCP Servers