Gemini Code Reviewer
Uses Google's Gemini CLI to perform code review, analysis, improvement suggestions, architecture validation, and plan generation for any programming language.
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@Gemini Code ReviewerReview the file src/api.js for security issues"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
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 |
| Comprehensive code review with ratings and priorities | Code quality, bug detection, best practices |
| Deep code analysis and explanation | Understanding complex code, optimization |
| Specific improvement recommendations with code examples | Refactoring, performance, maintainability |
| Architecture and design pattern validation | System design, scalability, SOLID principles |
| Generate structured implementation plans for other AIs to follow | Task planning, workflow design, AI collaboration |
| 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 recommendationsCode 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 examplesArchitecture 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 approvalManual 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,testinglanguage (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,comparelanguage (optional): Programming language (auto-detected)
gemini_suggest_improvements
file_path (required): Path to source code file
improvement_goals (optional):
performance,readability,maintainability,scalability,securitylanguage (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,maintainabilitylanguage (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
Recommended Usage Pattern
Implement your code using Claude Code CLI directly
Review using
gemini_code_reviewfor comprehensive feedback with specific recommendationsAnalyze complex sections with
gemini_analyze_codeImprove based on
gemini_suggest_improvementsrecommendations with clear code examplesValidate overall architecture with
gemini_validate_architectureTrack progress with
get_review_history
Standard Workflow
Request Review/Suggestions → Server analyzes code with Gemini
Receive Detailed Feedback → Get explanation with formatted code suggestions
Review & Implement → Examine suggestions and manually apply improvements
Copy/Paste → Use provided code examples to implement changes
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 initMCP 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 geminiPermission 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 ✓ connectedBinary 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 onlyLanguage 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.jsError 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 devLocal 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.
🔗 Related Tools
Gemini CLI - Google's AI CLI tool
Claude Code CLI - Anthropic's AI development assistant
Model Context Protocol - Standard for AI tool integration
📊 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 toolsgemini_analyze_codeC
Use Gemini CLI to analyze and explain code functionality
| Name | Required | Description | Default |
|---|---|---|---|
| language | No | Programming language (auto-detected if not specified) | |
| file_path | Yes | Path to the source code file to analyze | |
| analysis_type | No | explain |
TDQS
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.
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.
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.
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.
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.
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
| Name | Required | Description | Default |
|---|---|---|---|
| context | No | Additional context (max 1000 chars) | |
| language | No | Programming language (auto-detected if not specified) | |
| file_path | Yes | Path to the source code file to review | |
| focus_areas | No | general |
TDQS
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.
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.
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.
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.
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.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| prompt | Yes | The high-level user request or task description that needs a plan | |
| conversation_history | No | Optional conversation history for iterative refinement of the plan |
TDQS
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.
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.
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.
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.
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.
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
| Name | Required | Description | Default |
|---|---|---|---|
| language | No | Programming language (auto-detected if not specified) | |
| file_path | Yes | Path to the source code file | |
| improvement_goals | No | general |
TDQS
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.
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.
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.
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.
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.
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
| Name | Required | Description | Default |
|---|---|---|---|
| language | No | Programming language (auto-detected if not specified) | |
| file_path | Yes | Path to the source code file | |
| validation_focus | No | architecture |
TDQS
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.
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.
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.
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.
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.
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
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
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.
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.
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.
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.
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.
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
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 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.
Six tools is a well-scoped set for a code review server, covering review, analysis, suggestions, architecture validation, and planning without excess.
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
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
An MCP server that gives your AI access to the source code and docs of all public github repos
An MCP server that integrates with Discord to provide AI-powered features.
Hosted MCP server connecting claude.ai, ChatGPT and other AI apps to your own computer
MCP server for AI dialogue using various LLM models via AceDataCloud
Related MCP Servers
- AlicenseAqualityFmaintenanceA lightweight MCP server that enables AI coding assistants to interact with Google's Gemini AI through the official CLI.3MIT
- AlicenseAqualityDmaintenanceAn MCP server that gives your IDE or agent access to Google Gemini with autonomous codebase exploration, enabling deep code analysis, architectural reviews, and bug hunting.2010MIT
- AlicenseNot gradedqualityCmaintenanceAn MCP server that integrates Google Gemini CLI with Claude Code for AI-powered development assistance, enabling code review, bug analysis, feature planning, and code explanation without requiring an API key.8MIT
- AlicenseBqualityDmaintenanceMCP server that integrates Google Gemini CLI with AI assistants, enabling large file analysis and natural language queries without an API key.622MIT
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
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