MCP Gemini CLI
A simple MCP server wrapper for Google's Gemini CLI that enables AI assistants to use Gemini's capabilities through the Model Context Protocol.
What it does
This server exposes three 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 capabilities
Prerequisites
- Gemini CLI installed and configured (optional with --allow-npx flag)
🚀 Quick Start with Claude Code
1. Add the MCP server
bashclaude mcp add -s project gemini-cli -- npx mcp-gemini-cli --allow-npx
Or 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"
🔧 Installation Options
Using npx with --allow-npx flag
json{ "mcpServers": { "mcp-gemini-cli": { "command": "npx", "args": ["mcp-gemini-cli", "--allow-npx"] } } }
Local Development
- Clone and install:
bashgit clone https://github.com/choplin/mcp-gemini-cli cd mcp-gemini-cli bun install
- Add to Claude Desktop config:
json{ "mcpServers": { "mcp-gemini-cli": { "command": "bun", "args": ["run", "/path/to/mcp-gemini-cli/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")
💡 Example Prompts
Try these prompts to see mcp-gemini-cli 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"
🛠️ Example Usage
googleSearch
typescript// Simple search googleSearch({ query: "latest AI news" }); // Search with limit googleSearch({ query: "TypeScript best practices", limit: 5, });
chat
typescript// 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
typescript// 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" });
📝 Development
Note: Development requires Bun runtime.
Run in Development Mode
bashbun run dev
Run Tests
bashbun test
Build for Production
bash# Development build bun run build # Production build (minified) bun run build:prod
Linting & Formatting
bash# 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



