UNPKG

@choplin/mcp-gemini-cli

Version:

MCP server wrapper for Google's Gemini CLI

180 lines (121 loc) 3.63 kB
# 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 two tools that interact with Gemini CLI: - `googleSearch`: Asks Gemini to perform a Google search using your query - `geminiChat`: Sends prompts directly to Gemini for general conversations ## Prerequisites - [Gemini CLI](https://github.com/google-gemini/gemini-cli) installed and configured (optional with --allow-npx flag) ## 🚀 Quick Start with Claude Code ### 1. Add the MCP server ```bash claude mcp add -s project gemini-cli -- npx @choplin/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" ## 🔧 Installation Options ### Using npx with --allow-npx flag ```json { "mcpServers": { "mcp-gemini-cli": { "command": "npx", "args": ["@choplin/mcp-gemini-cli", "--allow-npx"] } } } ``` ### Local Development 1. Clone and install: ```bash git clone https://github.com/choplin/mcp-gemini-cli cd mcp-gemini-cli bun install ``` 1. 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 query - `limit` (optional): Maximum number of results - `sandbox` (optional): Run in sandbox mode - `yolo` (optional): Skip confirmations - `model` (optional): Gemini model to use (default: "gemini-2.5-pro") ### 2. geminiChat Have a conversation with Gemini. **Parameters:** - `prompt` (required): The conversation prompt - `sandbox` (optional): Run in sandbox mode - `yolo` (optional): Skip confirmations - `model` (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" ## 🛠️ Example Usage ### googleSearch ```typescript // Simple search googleSearch({ query: "latest AI news" }); // Search with limit googleSearch({ query: "TypeScript best practices", limit: 5, }); ``` ### geminiChat ```typescript // Simple chat geminiChat({ prompt: "Explain quantum computing in simple terms" }); // Using a different model geminiChat({ prompt: "Write a haiku about programming", model: "gemini-2.5-flash", }); ``` ## 📝 Development > **Note**: Development requires [Bun](https://bun.sh) runtime. ### Run in Development Mode ```bash bun run dev ``` ### Run Tests ```bash bun 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. ## 🔗 Related Links - [Model Context Protocol (MCP)](https://modelcontextprotocol.io/) - [Gemini CLI](https://github.com/google-gemini/gemini-cli) - [Bun Runtime](https://bun.sh)