Gemini Code Review Mcp — independently scanned and version-tracked by SaferSkills.
SaferSkills independently audited Gemini Code Review Mcp (Agent Skill) and scored it 100/100 (green). The audit ran 55 deterministic rules across Security, Supply Chain, Maintenance, Transparency, and Community; it found 0 high-severity and 0 lower-severity findings. The full rule-by-rule trace and per-finding evidence are below. Free, methodology-open.
Findings & checks · 0 flagged
Every scanned point with the score it earned and what moved between them.
First recorded scan — no prior version to compare against.
The primary manifest — the file an agent reads to learn what this artifact does.
Gemini Code Review MCP
🚀 AI-powered code reviews that understand your project's context and development progress
Transform your git diffs into actionable insights with contextual awareness of your project guidelines, task progress, and coding standards.
Option A: Install the MCP server to Claude Code as user-scoped MCP server:
claude mcp add-json gemini-code-review -s user '{"command":"uvx","args":["gemini-code-review-mcp"],"env":{"GEMINI_API_KEY":"your_key_here","GITHUB_TOKEN":"your_key_here"}}'(-s user installs as user-scoped and will be available to you across all projects on your machine, and will be private to you. Omit -s user to install the as locally scoped.)
Option B: Install the MCP server to Claude Code as project-scoped MCP server:
claude mcp add-json gemini-code-review -s project /path/to/server '{"type":"stdio","command":"npx","args":["gemini-code-review"],"env":{"GEMINI_API_KEY":"your_key_here","GITHUB_TOKEN":"your_key_here"}}'The command above creates or updates a .mcp.json file to the project root with the following structure:
{
"mcpServers": {
"gemini-code-review": {
"command": "/path/to/server",
"args": ["gemini-code-review"],
"env": {"GEMINI_API_KEY":"your_key_here","GITHUB_TOKEN":"your_key_here"}
}
}
}Get your Gemini API key: https://ai.google.dev/gemini-api/docs/api-key
Get your GitHub token: https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/creating-a-personal-access-token
Docs for setting up MCP for Claude Code: https://docs.anthropic.com/en/docs/claude-code/tutorials#set-up-model-context-protocol-mcp
If the MCP tools aren't working:
claude mcp listclaude mcp get gemini-code-review claude mcp remove gemini-code-review
claude mcp add-json gemini-code-review -s user '{"type":"stdio","command":"npx","args":["@modelcontextprotocol/server-gemini-code-review"],"env":{"GEMINI_API_KEY":"your_key_here","GITHUB_TOKEN":"your_key_here"}}'(Make sure you replace /path/to/server with the path to your server executable)
| Tool | Purpose | Key Options |
|---|---|---|
| `generate_ai_code_review` | Complete AI code review | project_path, model, scope |
| `generate_pr_review` | GitHub PR analysis | github_pr_url, project_path |
| `ask_gemini` | Generate context and get AI response | user_instructions, file_selections |
<details> <summary>📖 Detailed Tool Examples</summary>
// Quick project review (uses default model: gemini-2.0-flash)
{
tool_name: "generate_ai_code_review",
arguments: {
project_path: "/path/to/project"
}
}
// With advanced model
{
tool_name: "generate_ai_code_review",
arguments: {
project_path: "/path/to/project",
model: "gemini-2.5-pro", // Uses alias for gemini-2.5-pro-preview-06-05
thinking_budget: 15000 // Optional: thinking tokens (when supported)
}
}// Analyze GitHub pull request
{
tool_name: "generate_pr_review",
arguments: {
github_pr_url: "https://github.com/owner/repo/pull/123",
thinking_budget: 20000 // Optional: thinking tokens
}
}
// With reference documentation
{
tool_name: "generate_pr_review",
arguments: {
github_pr_url: "https://github.com/owner/repo/pull/123",
url_context: ["https://docs.api.com/v2/guidelines"] // Optional: Reference docs for the review
}
}// Generate context from files and get AI response in one step
{
tool_name: "ask_gemini",
arguments: {
user_instructions: "Review for security vulnerabilities and suggest fixes",
file_selections: [
{ path: "src/auth.py" },
{ path: "src/database.py", line_ranges: [[50, 100]] }
],
project_path: "/path/to/project",
model: "gemini-2.5-pro"
}
}
// Simple query without files
{
tool_name: "ask_gemini",
arguments: {
user_instructions: "Explain the security implications of the current authentication approach",
include_claude_memory: true // Includes project guidelines
}
}</details>
#### Quick Project Review
Human: Generate a code review for my project
Claude: I'll analyze your project and generate a comprehensive review.
[Uses generate_ai_code_review with project_path]#### GitHub PR Review
Human: Review this PR: https://github.com/owner/repo/pull/123
Claude: I'll fetch the PR and analyze the changes.
[Uses generate_pr_review with github_pr_url]#### Custom Model Review
Human: Generate a detailed review using Gemini 2.5 Pro
Claude: I'll use Gemini 2.5 Pro for a more detailed analysis.
[Uses generate_ai_code_review with model="gemini-2.5-pro"]#### File-Specific Review with AI
Human: Review auth.py and database.py lines 50-100 for security issues
Claude: I'll analyze those specific files for security vulnerabilities.
[Uses ask_gemini with file_selections and security-focused instructions]#### Quick Code Question
Human: What are the performance implications of the current caching strategy?
Claude: I'll analyze your caching implementation and provide insights.
[Uses ask_gemini with user_instructions only, leveraging project context]| Variable | Required | Default | Description |
|---|---|---|---|
GEMINI_API_KEY | ✅ | - | Your Gemini API key |
GITHUB_TOKEN | ⬜ | - | GitHub token for PR reviews (create one) |
GEMINI_MODEL | ⬜ | gemini-2.0-flash | AI model selection |
GEMINI_TEMPERATURE | ⬜ | 0.5 | Creativity (0.0-2.0) |
THINKING_BUDGET | ⬜ | Auto | Thinking tokens (Pro: 128-32768, Flash: 0-24576) |
#### Default Models
gemini-2.0-flash - Fast, efficient model for code reviewsgemini-2.0-flash-lite - Used internally for quick summaries#### Model Aliases For convenience, you can use these short aliases instead of full model names:
| Alias | Full Model Name | Features |
|---|---|---|
gemini-2.5-pro | gemini-2.5-pro-preview-06-05 | Advanced reasoning, thinking mode, URL context |
gemini-2.5-flash | gemini-2.5-flash-preview-05-20 | Fast, thinking mode, URL context |
#### Available Models All models support code review, with varying capabilities:
With Thinking Mode + URL Context:
gemini-2.5-pro (alias) / gemini-2.5-pro-preview-06-05gemini-2.5-flash (alias) / gemini-2.5-flash-preview-05-20With URL Context Only:
gemini-2.0-flash (default)gemini-2.0-flash-live-001Basic Models:
gemini-1.5-progemini-1.5-flash (used for integration tests - cost-effective)#### Usage Examples
// Using default model (gemini-2.0-flash)
{ tool_name: "generate_ai_code_review", arguments: { project_path: "/path" } }
// Using alias for advanced model
{ tool_name: "generate_ai_code_review", arguments: {
project_path: "/path",
model: "gemini-2.5-pro" // Automatically resolves to gemini-2.5-pro-preview-06-05
} }
// Using full model name
{ tool_name: "generate_ai_code_review", arguments: {
project_path: "/path",
model: "gemini-2.5-pro-preview-06-05"
} }When enabled with flags, the tool discovers and includes:
--include-claude-memory).cursorrules, .cursor/rules/*.mdc) (use --include-cursor-rules)@path/to/file.md) for modular configsYou can set default values in your pyproject.toml:
[tool.gemini]
temperature = 0.5
default_prompt = "Your custom review prompt"
default_model = "gemini-1.5-flash"
include_claude_memory = true
include_cursor_rules = false
enable_cache = true
cache_ttl_seconds = 900 # 15 minutesConfiguration precedence: CLI flags > Environment variables > pyproject.toml > Built-in defaults
--include-claude-memory), task lists (use --task-list), and project structure--url-context flag)gemini-code-review-initAlternative: Command-line interface for development/testing
# Quick start with uvx (no install needed)
uvx gemini-code-review-mcp /path/to/project
# Or install globally
pip install gemini-code-review-mcp# Initialize a new project with recommended structure
gemini-code-review-init
# Basic review (current directory)
generate-code-review
# Review specific project
generate-code-review /path/to/project
# Advanced options
generate-code-review . \
--scope full_project \
--model gemini-2.5-pro
# Use specific task list (overrides auto-discovery)
generate-code-review \
--task-list tasks/tasks-feature-x.md \
--scope specific_phase \
--phase-number 2.0
# With thinking budget (current directory)
generate-code-review --thinking-budget 20000 --temperature 0.7
# With URL context for framework-specific review
generate-code-review \
--file-instructions "Review my async implementation against the official docs" \
--url-context https://docs.python.org/3/library/asyncio.html
# File-based context generation (for debugging - does not call AI)
generate-file-context -f src/main.py -f src/utils.py:10-50 \
--user-instructions "Review for performance issues" \
-o context.md
# Meta-prompt only (current directory)
generate-meta-prompt --streamThe tool operates in one of three modes:
--task-list flag)--task-list flag is used (opt-in)generate-code-review . --task-list tasks-feature.mdgenerate-code-review . --task-list--github-pr-url is provided/tasks/tasks-*.md - Track development phases/tasks/prd-*.md - Project requirementsCLAUDE.md, .cursorrules - Coding standardsclaude mcp list to verify installationuv cache clean# Setup
git clone https://github.com/nicobailon/gemini-code-review-mcp
cd gemini-code-review-mcp
pip install -e ".[dev]"
# Testing commands
python -m pytest tests/ # Run all tests in venv
make lint # Check code style
make test-cli # Test CLI commandsThe test suite includes both mocked unit tests and real API integration tests:
#### Unit Tests (Default)
gemini-2.0-flash defaultspytest or python -m pytest tests/#### Integration Tests (Optional)
gemini-1.5-flash for cost-effective testingGEMINI_API_KEY environment variablegemini-1.5-flash (no thinking mode/URL context)pytest -m integration or pytest tests/integration/#### Running Tests
# Run only unit tests (default, fast)
pytest
# Run only integration tests (requires API key)
export GEMINI_API_KEY=your_key_here
pytest -m integration
# Run all tests including integration
pytest -m ""
# Run specific integration test
pytest tests/integration/test_gemini_real.py::TestGeminiRealAPI::test_basic_code_review_generation
# Verbose output with integration tests
pytest -v -m integration#### Test Features
gemini-1.5-flash is used for integration testsContributions are welcome! Please feel free to submit a Pull Request. See CONTRIBUTING.md for development setup and guidelines.
This project uses a manual release process. For maintainers:
./scripts/check-release-readiness.sh to verify readiness./scripts/release.sh for guided release processMIT License - see LICENSE file for details.
Built by Nico Bailon.
~30 seconds. Free. No account. Every finding cites a rule and a line of evidence.