A simple MCP server wrapper for Google's Gemini CLI that enables AI assistants to use Gemini's capabilities through the Model Context Protocol.
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
- Gemini CLI installed and configured (optional with --allow-npx flag)
claude 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.
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"
{
"mcpServers": {
"mcp-gemini-cli": {
"command": "npx",
"args": ["mcp-gemini-cli", "--allow-npx"]
}
}
}
- Clone and install:
git clone https://github.com/choplin/mcp-gemini-cli
cd mcp-gemini-cli
bun install
- Add to Claude Desktop config:
{
"mcpServers": {
"mcp-gemini-cli": {
"command": "bun",
"args": ["run", "/path/to/mcp-gemini-cli/index.ts"]
}
}
}
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")
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")
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")
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"
// Simple search
googleSearch({ query: "latest AI news" });
// Search with limit
googleSearch({
query: "TypeScript best practices",
limit: 5,
});
// 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",
});
// 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" });
Note: Development requires Bun runtime.
bun run dev
bun test
# Development build
bun run build
# Production build (minified)
bun run build:prod
# Lint code
bun run lint
# Format code
bun run format
Contributions are welcome! Please feel free to submit a Pull Request.
This project is licensed under the MIT License - see the LICENSE file for details.
- Fixed Windows compatibility issue with
which
command
- Tool names:
geminiChat
βchat
,geminiAnalyzeFile
βanalyzeFile
- Package name:
@choplin/mcp-gemini-cli
βmcp-gemini-cli
analyzeFile
tool for images (PNG/JPG/GIF/etc), PDFs, and text files
- Initial release with
googleSearch
andgeminiChat
tools