Skip to main content

Gemini PR Reviews MCP Server

Python MCP License: MIT PyPI

Fetch Gemini Code Assist PR reviews from GitHub. Auto-detects last PR, filters reviews after your last /gemini review comment, and returns raw JSON.

Features

  • Auto-Auth — Uses gh CLI token automatically, falls back to GITHUB_TOKEN env var
  • Smart Defaults — Auto-detects repository owner and last PR number
  • Filtered Reviews — Get only reviews after your last /gemini review comment
  • All Comment Types — PR reviews, line comments, and issue comments
  • Full Pagination — Handles large PRs with many comments
  • Structured Output — Comments come back as typed JSON with per-kind counts, not a text blob
  • Progress Reporting — Long fetches report which stage they are on
  • Review Resource — review://{owner}/{repo}/{pr} reads a PR's full Gemini history directly
  • Prompt — address_review walks the model through triaging and fixing the findings

Quick Start

Claude Code

# If you have gh CLI authenticated, no token needed:
claude mcp add gemini-reviews -- uvx gemini-reviews-mcp

# Or with explicit token:
claude mcp add gemini-reviews \
  -e GITHUB_TOKEN="ghp_your_token" \
  -- uvx gemini-reviews-mcp

Claude Desktop

Add to your config file:

  • macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
  • Windows: %APPDATA%\Claude\claude_desktop_config.json
{
  "mcpServers": {
    "gemini-reviews": {
      "command": "uvx",
      "args": ["gemini-reviews-mcp"]
    }
  }
}

If gh CLI is installed and authenticated, no GITHUB_TOKEN env var is needed.

Cursor

Add to ~/.cursor/mcp.json:

{
  "mcpServers": {
    "gemini-reviews": {
      "command": "uvx",
      "args": ["gemini-reviews-mcp"]
    }
  }
}

Windsurf

Add to Windsurf MCP config:

{
  "mcpServers": {
    "gemini-reviews": {
      "command": "uvx",
      "args": ["gemini-reviews-mcp"]
    }
  }
}

VS Code

Add to your VS Code settings (JSON):

"mcp": {
  "servers": {
    "gemini-reviews": {
      "type": "stdio",
      "command": "uvx",
      "args": ["gemini-reviews-mcp"]
    }
  }
}

Gemini CLI

Add to ~/.gemini/settings.json:

{
  "mcpServers": {
    "gemini-reviews": {
      "command": "uvx",
      "args": ["gemini-reviews-mcp"]
    }
  }
}

GitHub Copilot

Add to ~/.copilot/mcp-config.json:

{
  "mcpServers": {
    "gemini-reviews": {
      "command": "uvx",
      "args": ["gemini-reviews-mcp"]
    }
  }
}

OpenAI Codex

Add to ~/.codex/config.toml:

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

Install from Source

cd gemini-reviews-mcp
pip install -e .

Authentication

The server resolves GitHub authentication in this order:

  1. gh CLI (preferred) — If GitHub CLI is installed and authenticated (gh auth login), the token is obtained automatically via gh auth token. No configuration needed.

  2. GITHUB_TOKEN env var (fallback) — Set manually if gh CLI is not available:

    # Create a token at https://github.com/settings/tokens with `repo` scope
    export GITHUB_TOKEN="ghp_your_token_here"
    
  3. No token — Works for public repos only, with 60 requests/hour rate limit.

Tool

get_gemini_reviews — Fetch Gemini Code Assist PR reviews

Get Gemini Code Assist reviews from a GitHub PR. By default, fetches only reviews after your last /gemini review comment.

Parameter Type Required Description
repo string Yes Repository name (repo) or full path (owner/repo)
pr integer No PR number (uses last PR if omitted)
after_last_review boolean No Only fetch reviews after your last /gemini review comment (default: true)
username string No GitHub username for filtering (defaults to authenticated user)

Returns structured output:

Field Type Description
repo string Resolved owner/repo
pr integer Resolved PR number
after_date string | null Cutoff applied, or null when the whole history was returned
counts object reviews, line_comments, issue_comments
comments array Reviews first, then line comments, then issue comments; each group oldest first

Missing token, unresolvable owner, or no PR found are returned as tool errors the model can act on, not as text that looks like a successful answer.

Resources

URI Description
review://{owner}/{repo}/{pr} Every Gemini comment on that PR, as JSON

Prompts

Name Description
address_review Fetch the review, rank the findings by severity, fix or justify each one

Usage Examples

# Simplest — auto-detect owner, last PR, filtered reviews
Use get_gemini_reviews for repo MyProject

# Specific PR
Use get_gemini_reviews for repo MyProject pr 42

# Get ALL reviews (not just after last comment)
Use get_gemini_reviews for repo MyProject with after_last_review false

# Full repo path
Use get_gemini_reviews for repo someone/TheirRepo

Requirements

Python 3.10+ and MCP SDK 2.x (mcp>=2.2,<3). The server speaks the 2026-07-28 protocol revision and still serves older MCP clients from the same process.

License

MIT

Metadata

Release files for gemini-reviews-mcp 2.0.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for gemini-reviews-mcp 2.0.0
File Size Uploaded
gemini_reviews_mcp-2.0.0.tar.gz 14.8 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for gemini-reviews-mcp 2.0.0
File Interpreter ABI Platform
gemini_reviews_mcp-2.0.0-py3-none-any.whl Python 3 none any Details

Total release size: 25.8 kB

Release files / gemini_reviews_mcp-2.0.0.tar.gz

Download URL gemini_reviews_mcp-2.0.0.tar.gz
Size 14.8 kB
Tags Source
SHA-256 checksum
How to use checksums
26b71f69ab6f0db57ac93b763553b55d08f9ead26c0178ccebe705525a21a07a
BLAKE2b-256 checksum
How to use checksums
8c1e4d35985ab43f96abdbf490f7cb4765e173b2d4cc1356fc27335616b1a13b
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.12.11

Release files / gemini_reviews_mcp-2.0.0-py3-none-any.whl

Download URL gemini_reviews_mcp-2.0.0-py3-none-any.whl
Size 11.0 kB
Tags Python 3
SHA-256 checksum
How to use checksums
a2cddae9313535f3475f28f6b200057560132ce359afb8696199f0ca5b2837d5
BLAKE2b-256 checksum
How to use checksums
9d790e6a0aa0ed10a806c68389eac91f85dd48eef674cfce79b6e159e4811ac4
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.12.11

Release history Release notifications | RSS feed

This release

2.0.0 This release

2 release files

1.0.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page