Skip to main content
Glama

Gemini Code Reviewer

A universal Model Context Protocol (MCP) server that provides AI-powered code review and analysis for any programming language using Google's Gemini CLI. Perfect for developers who want intelligent code feedback directly in their development workflow.

🎯 Purpose

This MCP server acts as your AI-powered code reviewer, providing:

  • Comprehensive Code Reviews with severity ratings and actionable feedback

  • Code Analysis & Explanation for understanding complex logic

  • Improvement Suggestions tailored to your specific goals with clear code examples

  • Architecture Validation for design patterns and scalability

  • Multi-Language Support with language-specific best practices

  • Structured Output - Clear explanations with formatted code suggestions

Related MCP server: gpal

🚀 Quick Start

Prerequisites

  • Node.js v18+

  • Gemini CLI installed and configured

  • Claude Code CLI or Claude Desktop

  • Any Unix-like environment (Linux, macOS, WSL)

Installation

# Install as project dependency
npm install --save-dev github:iamrichardd/claude-gemini-mcp-server

# Add MCP server to Claude CLI
claude mcp add -s project gemini-code-reviewer npx @iamrichardd/claude-gemini-mcp-server

# Initialize and approve the MCP server
claude init
# Choose option 1: "Use this and all future MCP servers in this project"

Important Note on Context Files: This package includes GEMINI.md and CLAUDE.md files that provide context for its own development. To prevent these files from interfering with the context of your project, a postinstall script will automatically remove them upon installation. This ensures that the Gemini and Claude CLIs use your project's specific context files, not the ones from this server.

Verify Installation

# Check if MCP server is registered and connected
claude mcp list
# Should show: gemini-code-reviewer ✓ connected

# Test basic functionality
claude "Use get_review_history"

📋 Available Tools

Tool

Description

Best For

gemini_code_review

Comprehensive code review with ratings and priorities

Code quality, bug detection, best practices

gemini_analyze_code

Deep code analysis and explanation

Understanding complex code, optimization

gemini_suggest_improvements

Specific improvement recommendations with code examples

Refactoring, performance, maintainability

gemini_validate_architecture

Architecture and design pattern validation

System design, scalability, SOLID principles

gemini_propose_plan

Generate structured implementation plans for other AIs to follow

Task planning, workflow design, AI collaboration

get_review_history

Session history and review tracking

Project overview, progress tracking

🌍 Supported Languages

Auto-detected support for 30+ languages:

Web Development

  • JavaScript, TypeScript, HTML, CSS, SCSS, Sass

  • React (JSX/TSX), Vue.js, Angular

Backend & Systems

  • Python, Java, C++, C, C#, Go, Rust

  • PHP, Ruby, Node.js, Kotlin, Swift

Data & Analytics

  • R, SQL, MATLAB, Python (NumPy/Pandas)

Mobile Development

  • Swift (iOS), Kotlin (Android), Dart (Flutter)

Functional & Specialized

  • Haskell, Clojure, OCaml, Elixir, Erlang, Scala

Scripting & Configuration

  • Shell, Bash, PowerShell, Perl, Lua, Vim script

Financial & Trading

  • Pine Script (TradingView indicators/strategies)

Language detection is automatic based on file extension. Manual specification is also supported.

💡 Usage Examples

Comprehensive Code Review

claude "Use gemini_code_review with file_path './src/api.js' and context 'REST API endpoint' and focus_areas 'security'"
# Get detailed security review with specific recommendations

Code Analysis & Explanation

claude "Use gemini_analyze_code with file_path './algorithm.py' and analysis_type 'optimize'"

Get Improvement Suggestions

claude "Use gemini_suggest_improvements with file_path './component.tsx' and improvement_goals 'performance'"
# Get specific performance improvements with code examples

Architecture Validation

claude "Use gemini_validate_architecture with file_path './service.go' and validation_focus 'scalability'"

Review Session Tracking

claude "Use get_review_history"

AI Collaboration Planning

claude "Use gemini_propose_plan with prompt 'Create a user authentication system with JWT tokens'"
# Get a structured plan that Claude can then execute step by step

📝 Code Suggestions Format

When Gemini identifies specific code improvements, you'll receive:

Structured Response Format

💡 Gemini Improvement Suggestion - api.js (JavaScript)

**Rationale:**
This code uses nested callbacks which can lead to callback hell. Converting to async/await will improve readability and error handling.

**Suggested Code Change:**

Old Code:
```javascript
getData(callback) {
  db.query('SELECT * FROM users', (err, result) => {
    if (err) callback(err);
    else callback(null, result);
  });
}

New Code: ```javascript async getData() { try { const result = await db.query('SELECT * FROM users'); return result; } catch (err) { throw err; } } ```

Features

  • Clear Explanations: Detailed rationale for each suggestion

  • Formatted Code: Properly highlighted old and new code blocks

  • Language-Specific: Tailored to your programming language's conventions

  • Copy-Paste Ready: Well-formatted code for easy implementation

🔧 Configuration

Claude CLI MCP Setup

The MCP server integrates with Claude CLI using project-level configuration:

# Add MCP server to your project
claude mcp add -s project gemini-code-reviewer npx @iamrichardd/claude-gemini-mcp-server

# Initialize and approve MCP servers
claude init
# Choose option 1 for persistent approval

Manual Configuration (if needed)

Create .mcp.json in your project root:

For Production Usage (published package):

{
  "mcpServers": {
    "gemini-code-reviewer": {
      "command": "npx",
      "args": ["@iamrichardd/claude-gemini-mcp-server"],
      "transport": "stdio"
    }
  }
}

For Local Development:

{
  "mcpServers": {
    "gemini-code-reviewer": {
      "command": "node",
      "args": ["server.js"],
      "transport": "stdio"
    }
  }
}

🔍 Tool Parameters

gemini_code_review

  • file_path (required): Path to source code file

  • context (optional): Additional context about the code

  • focus_areas (optional): syntax, logic, performance, best_practices, security, testing

  • language (optional): Programming language (auto-detected if not specified)

gemini_analyze_code

  • file_path (required): Path to source code file

  • **Provide an AI prompt for Gemini CLI ** (optional): explain, optimize, debug, refactor, compare

  • language (optional): Programming language (auto-detected)

gemini_suggest_improvements

  • file_path (required): Path to source code file

  • improvement_goals (optional): performance, readability, maintainability, scalability, security

  • language (optional): Programming language (auto-detected)

gemini_validate_architecture

  • file_path (required): Path to source code file or directory

  • validation_focus (optional): architecture, design_patterns, scalability, testability, maintainability

  • language (optional): Programming language (auto-detected)

gemini_propose_plan

  • prompt (required): High-level user request or task description that needs a plan

  • conversation_history (optional): Previous conversation context for iterative refinement of the plan

🛠️ Development Workflow

  1. Implement your code using Claude Code CLI directly

  2. Review using gemini_code_review for comprehensive feedback with specific recommendations

  3. Analyze complex sections with gemini_analyze_code

  4. Improve based on gemini_suggest_improvements recommendations with clear code examples

  5. Validate overall architecture with gemini_validate_architecture

  6. Track progress with get_review_history

Standard Workflow

  1. Request Review/Suggestions → Server analyzes code with Gemini

  2. Receive Detailed Feedback → Get explanation with formatted code suggestions

  3. Review & Implement → Examine suggestions and manually apply improvements

  4. Copy/Paste → Use provided code examples to implement changes

  5. Iterate → Continue with next suggestions or move to validation

Integration with IDEs

Works seamlessly with:

  • Claude Code CLI (primary integration)

  • Claude Desktop (alternative setup)

  • WebStorm/IntelliJ (via Claude Code plugin)

  • VS Code (via Claude Code integration)

🚨 Troubleshooting

MCP Server Not Found

# Check installation
npm list | grep claude-gemini-mcp-server

# Reinstall if needed
npm install --save-dev github:iamrichardd/claude-gemini-mcp-server
claude mcp add -s project gemini-code-reviewer npx @iamrichardd/claude-gemini-mcp-server
claude init

MCP Server Connection Hanging

If commands like claude "Use get_review_history" hang or timeout:

# For local development, use local server instead of npm package
claude mcp add -s project gemini-code-reviewer node server.js
claude init

# Verify server starts locally
node server.js
# Should show: "Gemini Code Review MCP Server (Security-Hardened v2.1.1) running on stdio"

# Check .mcp.json uses correct configuration
cat .mcp.json
# For local dev: should use "command": "node", "args": ["server.js"]
# For published package: should use "command": "npx", "args": ["@iamrichardd/claude-gemini-mcp-server"]

Gemini CLI Issues

# Test Gemini CLI directly
gemini -p "test prompt"

# Verify authentication and availability
gemini --version

# Check if Gemini CLI is in PATH
which gemini

Permission Issues

# Ensure MCP server is approved
claude init
# Choose option 1: "Use this and all future MCP servers in this project"

# Check MCP server status
claude mcp list
# Should show: gemini-code-reviewer ✓ connected

Binary File Errors

# The server automatically detects and rejects binary files
# Error: "File appears to be binary, not a text-based source code file"
# Solution: Ensure you're pointing to text-based source code files only

Language Detection Issues

# Manually specify language if auto-detection fails
claude "Use gemini_code_review with file_path './script' and language 'Python'"

Server Execution Issues

# Verify server starts correctly
npx @iamrichardd/claude-gemini-mcp-server
# Should show: "Gemini Code Review MCP Server (Security-Hardened v2.0.7) running on stdio"

# Check file permissions
chmod +x node_modules/@iamrichardd/claude-gemini-mcp-server/server.js

Error Stack Trace Issues

# The server preserves complete error context for debugging
# Check logs for detailed error information including:
# - Original error message and stack trace
# - Operation context (file path, operation type)
# - Error cause chain for complete debugging context

🤝 Contributing

Contributions welcome! Please see our Contributing Guidelines for details.

Development Setup

git clone https://github.com/iamrichardd/claude-gemini-mcp-server.git
cd claude-gemini-mcp-server
npm install

# Configure MCP server for local development
claude mcp add -s project gemini-code-reviewer node server.js

# Initialize and approve the MCP server
claude init
# Choose option 1: "Use this and all future MCP servers in this project"

# Start development server
npm run dev

Local Development Configuration

For local development, use the local server instead of the npm package:

{
  "mcpServers": {
    "gemini-code-reviewer": {
      "command": "node",
      "args": ["server.js"],
      "transport": "stdio"
    }
  }
}

📄 License

MIT License - see LICENSE file for details.

📊 Use Cases

For Individual Developers

  • Code Quality Assurance: Automated reviews before commits

  • Learning Tool: Understand complex codebases and patterns

  • Performance Optimization: Identify bottlenecks and improvements

  • Best Practices: Language-specific recommendations

For Teams

  • Code Review Automation: Pre-review screening and feedback

  • Architecture Validation: Ensure design consistency

  • Onboarding: Help new team members understand code

  • Documentation: Generate explanations for complex logic

For Specific Domains

  • Web Development: Security, performance, accessibility reviews

  • Backend Systems: Scalability, reliability, architecture validation

  • Data Science: Algorithm optimization, code clarity

  • Mobile Development: Platform-specific best practices

  • Financial/Trading: Pine Script strategy validation and optimization


Powered by Google Gemini AI | Compatible with Claude Code | Universal Language Support

Available Tools

6 tools
gemini_analyze_codeC

Use Gemini CLI to analyze and explain code functionality

ParametersJSON Schema
NameRequiredDescriptionDefault
languageNoProgramming language (auto-detected if not specified)
file_pathYesPath to the source code file to analyze
analysis_typeNoexplain

TDQS

C2.7/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries full responsibility for behavioral disclosure. It does not state whether the tool is read-only, whether it has side effects, or what output it produces. The analysis_type enum includes potentially misleading values like 'refactor' and 'optimize' without explaining whether code is actually modified.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single concise sentence that communicates the core purpose without unnecessary words. However, the brevity contributes to the under-specification of usage details, making it less useful than it could be.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the lack of annotations, output schema, and multiple analysis modes, a single sentence is insufficient. The description does not explain the behavior of different analysis_type values, expected outputs, or prerequisites, making the tool difficult to use correctly.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The description adds no information about the parameters beyond the schema. Schema coverage is only 67%, and the analysis_type parameter lacks a description, yet the description does not compensate by explaining the enum values or how file_path and language are used.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's function: using Gemini CLI to analyze and explain code functionality. It uses specific verbs ('analyze', 'explain') and a resource ('code'), but does not differentiate from sibling tools like gemini_code_review or gemini_suggest_improvements, leaving room for ambiguity.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

There is no guidance on when to use this tool versus sibling tools, nor any mention of alternatives or exclusions. The description is too generic to help an agent decide between this and other Gemini-based analysis tools.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

gemini_code_reviewC

Use Gemini CLI to review code for correctness, best practices, and improvements

ParametersJSON Schema
NameRequiredDescriptionDefault
contextNoAdditional context (max 1000 chars)
languageNoProgramming language (auto-detected if not specified)
file_pathYesPath to the source code file to review
focus_areasNogeneral

TDQS

C2.9/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations available, the description carries the full burden of behavioral disclosure. It does not state whether the tool reads only, modifies files, has side effects, or what the return value looks like. This is a significant gap for an external CLI invocation.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, focused sentence that immediately states the tool's purpose. It is appropriately concise with no wasted words.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The tool has no output schema and no annotations, and the description does not cover return format, side effects, external dependencies (Gemini CLI), or how it fits among siblings. This leaves the agent with insufficient context for safe and effective invocation.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema provides descriptions for 75% of the parameters, so the baseline is near 3. The description mentions aspects like 'correctness' and 'improvements' which loosely align with focus_areas, but it does not add direct parameter-level meaning beyond the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's action ('review code') and scope ('for correctness, best practices, and improvements'). It does not explicitly distinguish from sibling tools like gemini_analyze_code or gemini_suggest_improvements, but the purpose is specific enough to be understood.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance is provided on when to use this tool versus alternatives. There is no mention of common use cases, prerequisites, or exclusions, leaving the agent without clear decision criteria.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

gemini_propose_planA

Use Gemini CLI to generate a detailed implementation plan for another AI to follow. This tool creates structured, step-by-step plans that can be executed by Claude or other AI assistants.

ParametersJSON Schema
NameRequiredDescriptionDefault
promptYesThe high-level user request or task description that needs a plan
conversation_historyNoOptional conversation history for iterative refinement of the plan

TDQS

A4/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description must carry the burden. It discloses that the tool generates plans and that they are intended for execution by another AI, implying no direct execution. However, it does not explicitly state side effects, permissions, or limits (e.g., whether it calls a Gemini service or is purely local). This is a moderate level of transparency.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is two sentences long, front-loaded with the primary action, and contains no redundant information. Every phrase adds value: 'Use Gemini CLI,' 'generate a detailed implementation plan,' and 'for another AI to follow.'

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a tool with two parameters and no output schema, the description adequately conveys the purpose and the nature of the generated plans ('structured, step-by-step'). It does not specify the exact output format or error scenarios, but given the tool's simplicity, this is a minor gap.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema already provides full descriptions for both parameters (prompt and conversation_history), achieving 100% coverage. The tool description adds no additional semantic information about the parameters, so it does not exceed the baseline.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's function: 'generate a detailed implementation plan for another AI to follow.' This is a specific verb+resource combination that distinguishes it from sibling tools like code review or architecture validation, which focus on analysis rather than planning.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies when to use the tool (when another AI needs a plan to execute) but does not explicitly mention alternatives or exclusions. The context is clear enough for an agent to infer the primary use case, though it lacks a direct contrast with sibling tools.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

gemini_suggest_improvementsC

Use Gemini CLI to suggest specific improvements for code

ParametersJSON Schema
NameRequiredDescriptionDefault
languageNoProgramming language (auto-detected if not specified)
file_pathYesPath to the source code file
improvement_goalsNogeneral

TDQS

C2.7/5.0
Behavior1/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description must carry the full burden of behavioral disclosure. It only mentions 'Use Gemini CLI' without revealing whether the tool modifies the file, requires authentication, or what the output format is. This is a critical omission.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, front-loaded sentence with no redundancy. It is concise and direct.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With no output schema and no annotations, the description is incomplete. It does not explain what the agent should expect after invocation (e.g., suggestions rendered inline, a diff, or a report). The minimal text leaves too much unspecified for a tool with moderate complexity.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema description coverage is 67%, with descriptions for file_path and language. The description adds no parameter semantics beyond the schema. The improvement_goals enum is self-explanatory but not explained in the description, so baseline 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states 'Use Gemini CLI to suggest specific improvements for code', which clearly identifies the action (suggest) and resource (improvements for code). It is distinct from sibling tools like gemini_code_review or gemini_analyze_code, though it doesn't explicitly differentiate them.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

There is no guidance on when to use this tool versus alternatives. The description neither mentions appropriate use cases nor exclusions. Usage context is only implied by the tool name and improvement_goals parameter.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

gemini_validate_architectureC

Use Gemini CLI to validate code architecture and design patterns

ParametersJSON Schema
NameRequiredDescriptionDefault
languageNoProgramming language (auto-detected if not specified)
file_pathYesPath to the source code file
validation_focusNoarchitecture

TDQS

C2.7/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description must convey behavioral traits. It only states the purpose, not whether the tool modifies files, requires permissions, produces reports, or any side effects. 'Validate' implies non-mutating analysis, but details are absent.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single concise sentence that is easy to parse and front-loads the primary action. It could be expanded with usage guidance, but as a minimal statement it is not verbose or redundant.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The tool has multiple parameters, no output schema, and no annotations, yet the description only covers the basic purpose. It omits default behavior, expected output, and how validation_focus affects results, making it inadequate for an agent to fully understand the tool's scope.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema provides descriptions for two of three parameters, but the description adds no parameter-level information. The validation_focus enum is self-explanatory but lacks a description; the tool description does not clarify defaults or how parameters interact.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool validates code architecture and design patterns, with a specific verb and resource. It does not explicitly distinguish itself from sibling tools like gemini_code_review or gemini_analyze_code, so it lacks sibling differentiation.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance is given on when to use this tool versus the sibling tools. The description only says 'Use Gemini CLI to validate code architecture and design patterns' without explaining appropriate contexts or alternatives.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_review_historyA

Get the history of operations performed in this session

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A3.7/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full burden. It discloses that the operation is a retrieval ('Get') and scopes results to 'this session', implying no side effects. However, it does not describe the return format, ordering, or what constitutes an 'operation', which limits transparency.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, concise sentence with a clear front-loaded verb and object. Every word contributes to meaning, and there is no redundant or filler content.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's simplicity (zero parameters, no annotations, no output schema), the description is minimally adequate but leaves gaps. It specifies the purpose and session scope, but does not explain what the returned history includes, its format, or how operations are ordered, which is ambiguous for a retrieval tool without an output schema.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The tool accepts zero parameters, so the baseline is 4. The description's reference to 'this session' adds meaningful context about the implicit scope, which is helpful for understanding how the tool behaves without parameters.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description uses a specific verb 'Get' and identifies the resource as 'the history of operations performed in this session', which clearly distinguishes it from sibling tools that review, analyze, or suggest. The scope is explicit and unambiguous.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides no guidance on when to use this tool versus alternatives. It simply states what it does, leaving the user to infer usage context from the session-scope wording. There are no exclusions or references to related tools.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

TDQS

B3/5.0
Disambiguation2/5

The gemini_code_review, gemini_analyze_code, and gemini_suggest_improvements tools overlap heavily, as code review typically includes analysis and improvement suggestions. While gemini_validate_architecture and gemini_propose_plan are distinct, the three overlapping tools create boundary ambiguity.

Naming Consistency2/5

Naming is inconsistent: get_review_history uses a get_ prefix while the rest use gemini_, and the verb/noun structure varies (gemini_code_review is noun-led, while others are verb-led like gemini_analyze_code). No uniform verb_noun pattern is applied.

Tool Count5/5

Six tools is a well-scoped set for a code review server, covering review, analysis, suggestions, architecture validation, and planning without excess.

Completeness4/5

The tool set covers the core lifecycle of code review (review, analyze, improve, validate architecture, plan). Minor gaps exist such as a dedicated security review or merge/reporting capability, but these do not critically undermine the domain.

Maintenance

ActivityInactive
ResponsivenessSyncing

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Connectors

Related MCP Servers

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/iamrichardD/claude-gemini-mcp-server'

If you have feedback or need assistance with the MCP directory API, please join our Discord server