mcp-gemini-review
v0.4.0
Published
MCP server wrapper for Google's Gemini CLI with code review capabilities
Downloads
14
Maintainers
Readme
MCP Gemini Review
Note: This is a fork of mcp-gemini-cli by choplin, enhanced with code review capabilities.
A MCP server wrapper for Google's Gemini CLI that enables AI assistants to use Gemini's capabilities through the Model Context Protocol, with added code review functionality.
What it does
This server exposes four tools that interact with Gemini CLI:
googleSearch: Asks Gemini to perform a Google search using your querychat: Sends prompts directly to Gemini for general conversationsanalyzeFile: Analyzes files (images, PDFs, text) using Gemini's multimodal capabilitiescodeReview: Reviews code files using customizable criteria from GEMINI_REVIEW.md
Prerequisites
- Gemini CLI installed and configured (optional with --allow-npx flag)
🚀 Quick Start with Claude Code
1. Add the MCP server
claude mcp add -s project gemini-review -- npx mcp-gemini-review --allow-npxOr configure your MCP client with the settings shown in the Installation Options section below.
2. Try it out
Example prompts:
- Search: "Search for the latest TypeScript 5.0 features using Google"
- Chat: "Ask Gemini to explain the difference between async/await and promises in JavaScript"
- File Analysis: "Ask Gemini to analyze the image at /path/to/screenshot.png"
- Code Review: "Review the code in src/main.js"
🔧 Installation Options
Using npx with --allow-npx flag
{
"mcpServers": {
"mcp-gemini-review": {
"command": "npx",
"args": ["mcp-gemini-review", "--allow-npx"]
}
}
}Local Development
- Clone and install:
git clone https://github.com/cotrin8672/mcp-gemini-review
cd mcp-gemini-review
bun install- Add to Claude Desktop config:
{
"mcpServers": {
"mcp-gemini-review": {
"command": "bun",
"args": ["run", "/path/to/mcp-gemini-review/index.ts"]
}
}
}🛠️ Available Tools
1. googleSearch
Performs a Google search using Gemini CLI.
Parameters:
query(required): The search querylimit(optional): Maximum number of resultssandbox(optional): Run in sandbox modeyolo(optional): Skip confirmationsmodel(optional): Gemini model to use (default: "gemini-2.5-pro")
2. chat
Have a conversation with Gemini.
Parameters:
prompt(required): The conversation promptsandbox(optional): Run in sandbox modeyolo(optional): Skip confirmationsmodel(optional): Gemini model to use (default: "gemini-2.5-pro")
3. analyzeFile
Analyze files using Gemini's multimodal capabilities.
Supported file types:
- Images: PNG, JPG, JPEG, GIF, WEBP, SVG, BMP
- Text: TXT, MD, TEXT
- Documents: PDF
Parameters:
filePath(required): The absolute path to the file to analyzeprompt(optional): Additional instructions for analyzing the filesandbox(optional): Run in sandbox modeyolo(optional): Skip confirmationsmodel(optional): Gemini model to use (default: "gemini-2.5-pro")
4. codeReview
Review code files using customizable criteria.
Parameters:
filePath(required): The absolute path to the code file to review
Custom Review Criteria:
Create a GEMINI_REVIEW.md file in your project directory to define custom review criteria. The tool will search for this file in the same directory as the code being reviewed and its parent directories.
Example GEMINI_REVIEW.md:
# Code Review Criteria
Please review the code for:
1. Adherence to our team's naming conventions
2. Proper error handling patterns
3. Security best practices
4. Performance optimizations💡 Example Prompts
Try these prompts to see mcp-gemini-review in action:
- Search: "Search for the latest TypeScript 5.0 features using Google"
- Chat: "Ask Gemini to explain the difference between async/await and promises in JavaScript"
- File Analysis: "Ask Gemini to describe what's in this image: /Users/me/Desktop/screenshot.png"
- Code Review: "Review the code in src/main.js"
🛠️ Example Usage
googleSearch
// Simple search
googleSearch({ query: "latest AI news" });
// Search with limit
googleSearch({
query: "TypeScript best practices",
limit: 5,
});chat
// Simple chat
chat({ prompt: "Explain quantum computing in simple terms" });
// Using a different model
chat({
prompt: "Write a haiku about programming",
model: "gemini-2.5-flash",
});analyzeFile
// Analyze an image
analyzeFile({
filePath: "/path/to/image.png",
prompt: "What objects are in this image?"
});
// Analyze a PDF
analyzeFile({
filePath: "/path/to/document.pdf",
prompt: "Summarize the key points in this document"
});
// General analysis without specific instructions
analyzeFile({ filePath: "/path/to/file.jpg" });codeReview
// Review a JavaScript file
codeReview({ filePath: "/path/to/src/main.js" });
// Review a Python file
codeReview({ filePath: "/path/to/app.py" });
// The tool will automatically look for GEMINI_REVIEW.md
// in the project directory for custom review criteria📝 Development
Note: Development requires Bun runtime.
Run in Development Mode
bun run devRun Tests
bun testBuild for Production
# Development build
bun run build
# Production build (minified)
bun run build:prodLinting & Formatting
# Lint code
bun run lint
# Format code
bun run format🤝 Contributing
Contributions are welcome! Please feel free to submit a Pull Request.
📄 License
This project is licensed under the MIT License - see the LICENSE file for details.
📋 Changelog
[0.3.1] - 2025-07-03
Fixed
- Fixed Windows compatibility issue with
whichcommand
[0.3.0] - 2025-07-02
Breaking Changes
- Tool names:
geminiChat→chat,geminiAnalyzeFile→analyzeFile - Package name:
@choplin/mcp-gemini-cli→mcp-gemini-cli
New Features
analyzeFiletool for images (PNG/JPG/GIF/etc), PDFs, and text files
[0.2.0] - Previous
- Initial release with
googleSearchandgeminiChattools
