{
  "markdown": "# MCP Server Gemini\n\nA Model Context Protocol (MCP) server for integrating Google's Gemini 3 models with Claude Code, enabling powerful collaboration between both AI systems. Now with a beautiful CLI!\n\n[![npm version](https://badge.fury.io/js/@rlabs-inc%2Fgemini-mcp.svg)](https://www.npmjs.com/package/@rlabs-inc/gemini-mcp)\n[![MCP Registry](https://img.shields.io/badge/MCP-Registry-blue)](https://registry.modelcontextprotocol.io)\n\n\n**MCP Registry Support:** Now discoverable in the official MCP ecosystem!\n\n## Features\n\n| Feature                       | Description                                                     |\n|-------------------------------|-----------------------------------------------------------------|\n| **Deep Research Agent**       | Autonomous multi-step research with web search and citations    |\n| **Token Counting**            | Count tokens and estimate costs before API calls                |\n| **Text-to-Speech**            | 30 unique voices, single speaker or two-speaker dialogues       |\n| **URL Analysis**              | Analyze, compare, and extract data from web pages               |\n| **Context Caching**           | Cache large documents for efficient repeated queries            |\n| **YouTube Analysis**          | Analyze videos by URL with timestamp clipping                   |\n| **Document Analysis**         | PDFs, DOCX, spreadsheets with table extraction                  |\n| **4K Image Generation**       | Generate images up to 4K with 10 aspect ratios                  |\n| **Multi-Turn Image Editing**  | Iteratively refine images through conversation                  |\n| **Video Generation**          | Create videos with Veo 2.0 (async with polling)                 |\n| **Code Execution**            | Gemini writes and runs Python code (pandas, numpy, matplotlib)  |\n| **Google Search**             | Real-time web information with inline citations                 |\n| **Structured Output**         | JSON responses with schema validation                           |\n| **Data Extraction**           | Extract entities, facts, sentiment from text                    |\n| **Thinking Levels**           | Control reasoning depth (minimal/low/medium/high)               |\n| **Direct Query**              | Send prompts to Gemini 3 Pro/Flash models                       |\n| **Brainstorming**             | Claude + Gemini collaborative problem-solving                   |\n| **Code Analysis**             | Analyze code for quality, security, performance                 |\n| **Summarization**             | Summarize content at different detail levels                    |\n\n---\n\n## Quick Installation\n\n### MCP Server for Claude Code\n\n```bash\n# Using npm (Recommended)\nclaude mcp add gemini -s user -- env GEMINI_API_KEY=YOUR_KEY npx -y @rlabs-inc/gemini-mcp\n\n# Using bun\nclaude mcp add gemini -s user -- env GEMINI_API_KEY=YOUR_KEY bunx @rlabs-inc/gemini-mcp\n```\n\n### CLI (Global Install)\n\n```bash\n# Install globally\nnpm install -g @rlabs-inc/gemini-mcp\n\n# Set your API key once (stored securely)\ngcli config set api-key YOUR_KEY\n\n# Now use any command!\ngcli search \"latest news\"\nglci image \"sunset over mountains\" --ratio 16:9\n```\n\n**Get your API key:** Visit [Google AI Studio](https://aistudio.google.com/apikey) - it's free and takes seconds!\n\n### Installation Options\n\n```bash\n# With verbose logging\nclaude mcp add gemini -s user -- env GEMINI_API_KEY=YOUR_KEY VERBOSE=true bunx -y @rlabs-inc/gemini-mcp\n\n# With custom output directory for generated images/videos\nclaude mcp add gemini -s user -- env GEMINI_API_KEY=YOUR_KEY GEMINI_OUTPUT_DIR=/path/to/output bunx -y @rlabs-inc/gemini-mcp\n```\n\n---\n\n## Available Tools\n\n### gemini-query\n\nDirect queries to Gemini with thinking level control:\n\n```\nprompt: \"Explain quantum entanglement\"\nmodel: \"pro\" or \"flash\"\nthinkingLevel: \"low\" | \"medium\" | \"high\" (optional)\n```\n\n- **low**: Fast responses, minimal reasoning\n- **medium**: Balanced (Flash only)\n- **high**: Deep reasoning for complex tasks (default)\n\n### gemini-generate-image\n\nGenerate images with Nano Banana Pro (Claude can SEE them!):\n\n```\nprompt: \"a futuristic city at sunset\"\nstyle: \"cyberpunk\" (optional)\naspectRatio: \"16:9\" (1:1, 2:3, 3:2, 3:4, 4:3, 4:5, 5:4, 9:16, 16:9, 21:9)\nimageSize: \"2K\" (1K, 2K, 4K)\nuseGoogleSearch: false (ground in real-world info)\nthinkingLevel: \"high\" (optional - minimal, low, medium, high)\npersonGeneration: \"ALLOW_ALL\" (optional - ALLOW_ALL, ALLOW_ADULT, ALLOW_NONE)\nseed: 42 (optional - for reproducible results)\n```\n\n### gemini-start-image-edit\n\nStart a multi-turn image editing session:\n\n```\nprompt: \"a cozy cabin in the mountains\"\naspectRatio: \"16:9\"\nimageSize: \"2K\"\nuseGoogleSearch: false\nthinkingLevel: \"high\" (optional - minimal, low, medium, high)\npersonGeneration: \"ALLOW_ALL\" (optional - ALLOW_ALL, ALLOW_ADULT, ALLOW_NONE)\nseed: 42 (optional - for reproducible results)\n```\n\nReturns a session ID for iterative editing.\n\n### gemini-continue-image-edit\n\nContinue refining an image:\n\n```\nsessionId: \"edit-123456789\"\nprompt: \"add snow on the roof and make it nighttime\"\n```\n\n### gemini-end-image-edit\n\nClose an editing session:\n\n```\nsessionId: \"edit-123456789\"\n```\n\n### gemini-list-image-sessions\n\nList all active editing sessions.\n\n### gemini-generate-video\n\nGenerate videos using Veo:\n\n```\nprompt: \"a cat playing piano\"\naspectRatio: \"16:9\" (optional)\nnegativePrompt: \"blurry, text\" (optional)\n```\n\nVideo generation is async (takes 1-5 minutes). Use `gemini-check-video` to poll.\n\n### gemini-check-video\n\nCheck video generation status and download when complete:\n\n```\noperationId: \"operations/xxx-xxx-xxx\"\n```\n\n### gemini-analyze-code\n\nAnalyze code for issues:\n\n```\ncode: \"function foo() { ... }\"\nlanguage: \"typescript\" (optional)\nfocus: \"quality\" | \"security\" | \"performance\" | \"bugs\" | \"general\"\n```\n\n### gemini-analyze-text\n\nAnalyze text content:\n\n```\ntext: \"Your text here...\"\ntype: \"sentiment\" | \"summary\" | \"entities\" | \"key-points\" | \"general\"\n```\n\n### gemini-brainstorm\n\nCollaborative brainstorming:\n\n```\nprompt: \"How could we implement real-time collaboration?\"\nclaudeThoughts: \"I think we should use WebSockets...\"\nmaxRounds: 3 (optional)\n```\n\n### gemini-summarize\n\nSummarize content:\n\n```\ncontent: \"Long text to summarize...\"\nlength: \"brief\" | \"moderate\" | \"detailed\"\nformat: \"paragraph\" | \"bullet-points\" | \"outline\"\n```\n\n### gemini-run-code\n\nLet Gemini write and execute Python code:\n\n```\nprompt: \"Calculate the first 50 prime numbers and plot them\"\ndata: \"optional CSV data to analyze\" (optional)\n```\n\nSupports libraries: numpy, pandas, matplotlib, scipy, scikit-learn, tensorflow, and more.\nGenerated charts are saved to the output directory and returned as images.\n\n### gemini-search\n\nReal-time web search with citations:\n\n```\nquery: \"What happened in tech news this week?\"\nreturnCitations: true (default)\n```\n\nReturns grounded responses with inline citations and source URLs.\n\n### gemini-structured\n\nGet JSON responses matching a schema:\n\n```\nprompt: \"Extract the meeting details from this email...\"\nschema: '{\"type\":\"object\",\"properties\":{\"date\":{\"type\":\"string\"},\"attendees\":{\"type\":\"array\"}}}'\nuseGoogleSearch: false (optional)\n```\n\n### gemini-extract\n\nConvenience tool for common extraction patterns:\n\n```\ntext: \"Your text to analyze...\"\nextractType: \"entities\" | \"facts\" | \"summary\" | \"keywords\" | \"sentiment\" | \"custom\"\ncustomFields: \"name, date, amount\" (for custom extraction)\n```\n\n### gemini-youtube\n\nAnalyze YouTube videos directly:\n\n```\nurl: \"https://www.youtube.com/watch?v=...\"\nquestion: \"What happens at 2:30?\"\nstartTime: \"1m30s\" (optional, for clipping)\nendTime: \"5m00s\" (optional, for clipping)\n```\n\n### gemini-youtube-summary\n\nQuick video summarization:\n\n```\nurl: \"https://www.youtube.com/watch?v=...\"\nstyle: \"brief\" | \"detailed\" | \"bullet-points\" | \"chapters\"\n```\n\n### gemini-analyze-document\n\nAnalyze PDFs and documents:\n\n```\nfilePath: \"/path/to/document.pdf\"\nquestion: \"Summarize the key findings\"\nmediaResolution: \"low\" | \"medium\" | \"high\"\n```\n\n### gemini-summarize-pdf\n\nQuick PDF summarization:\n\n```\nfilePath: \"/path/to/document.pdf\"\nstyle: \"brief\" | \"detailed\" | \"outline\" | \"key-points\"\n```\n\n### gemini-extract-tables\n\nExtract tables from documents:\n\n```\nfilePath: \"/path/to/document.pdf\"\noutputFormat: \"markdown\" | \"csv\" | \"json\"\n```\n\n---\n\n## Workflow: Claude + Gemini\n\nThe killer combination for development:\n\n| Claude | Gemini |\n|--------|--------|\n| Complex logic | Frontend/UI |\n| Architecture | Visual components |\n| Backend code | Image generation |\n| Integration | React/CSS styling |\n| Reasoning | Creative generation |\n\n**Example workflow:**\n1. Ask Claude to design the backend API\n2. Use `gemini-generate-image` for UI mockups\n3. Ask Gemini to generate React components via `gemini-query`\n4. Use multi-turn editing to refine visuals\n5. Let Claude wire everything together\n\n---\n\n## Environment Variables\n\n| Variable                | Required | Default                      | Description                   |\n|-------------------------|----------|------------------------------|-------------------------------|\n| `GEMINI_API_KEY`        | Yes      | -                            | Your Google Gemini API key    |\n| `GEMINI_OUTPUT_DIR`     | No       | `./gemini-output`            | Where to save generated files |\n| `GEMINI_MODEL`          | No       | -                            | Override model for init test  |\n| `GEMINI_PRO_MODEL`      | No       | `gemini-3-pro-preview`       | Pro model (Gemini 3)          |\n| `GEMINI_FLASH_MODEL`    | No       | `gemini-3-flash-preview`     | Flash model (Gemini 3)        |\n| `GEMINI_IMAGE_MODEL`    | No       | `gemini-3-pro-image-preview` | Image model (Nano Banana Pro) |\n| `GEMINI_IMAGE_THINKING_LEVEL` | No  | `high`                       | Default thinking level for image generation (minimal, low, medium, high) |\n| `GEMINI_VIDEO_MODEL`    | No       | `veo-2.0-generate-001`       | Video model                   |\n| `VERBOSE`               | No       | `false`                      | Enable verbose logging        |\n| `QUIET`                 | No       | `false`                      | Minimize logging              |\n| `GEMINI_ENABLED_TOOLS`  | No       | -                            | Comma-separated list of tool groups to load (e.g., `query,search,image-gen`) |\n| `GEMINI_TOOL_PRESET`    | No       | -                            | Preset profile: `minimal`, `text`, `image`, `research`, `media`, `full` |\n\n---\n\n## Tool Configuration\n\nBy default, all 37 tools are loaded. To reduce context usage, configure which tools to load:\n\n### Available Presets\n\n| Preset | Tool Groups |\n|--------|-------------|\n| `minimal` | query, brainstorm |\n| `text` | query, brainstorm, analyze, summarize, structured |\n| `image` | query, image-gen, image-edit, image-analyze |\n| `research` | query, search, deep-research, url-context, document |\n| `media` | query, image-gen, image-edit, image-analyze, video-gen, youtube, speech |\n| `full` | All 18 tool groups (default) |\n\n### Using Presets\n\n```bash\n# Minimal - query and brainstorm\nGEMINI_TOOL_PRESET=minimal\n\n# Text processing\nGEMINI_TOOL_PRESET=text  # query, brainstorm, analyze, summarize, structured\n\n# Image workflows\nGEMINI_TOOL_PRESET=image  # query, image-gen, image-edit, image-analyze\n\n# Research workflows\nGEMINI_TOOL_PRESET=research  # query, search, deep-research, url-context, document\n```\n\n### Using Explicit Tool Lists\n\n```bash\n# Only specific tools\nGEMINI_ENABLED_TOOLS=query,search,image-gen\n```\n\n### Combining Preset + Explicit\n\n```bash\n# Start with preset, add extras\nGEMINI_TOOL_PRESET=minimal\nGEMINI_ENABLED_TOOLS=search,image-gen  # Adds to minimal preset\n```\n\n### Available Tool Groups\n\n| Group | Tools |\n|-------|-------|\n| `query` | gemini-query |\n| `brainstorm` | gemini-brainstorm |\n| `analyze` | gemini-analyze-code, gemini-analyze-text |\n| `summarize` | gemini-summarize |\n| `image-gen` | gemini-generate-image, gemini-image-prompt |\n| `image-edit` | gemini-start-image-edit, gemini-continue-image-edit, gemini-end-image-edit, gemini-list-image-sessions |\n| `video-gen` | gemini-generate-video, gemini-check-video |\n| `code-exec` | gemini-run-code |\n| `search` | gemini-search |\n| `structured` | gemini-structured, gemini-extract |\n| `youtube` | gemini-youtube, gemini-youtube-summary |\n| `document` | gemini-analyze-document, gemini-summarize-pdf, gemini-extract-tables |\n| `url-context` | gemini-analyze-url, gemini-compare-urls, gemini-extract-from-url |\n| `cache` | gemini-create-cache, gemini-query-cache, gemini-list-caches, gemini-delete-cache |\n| `speech` | gemini-speak, gemini-dialogue, gemini-list-voices |\n| `token-count` | gemini-count-tokens |\n| `deep-research` | gemini-deep-research, gemini-check-research, gemini-research-followup |\n| `image-analyze` | gemini-analyze-image |\n\n---\n\n## Manual Installation\n\n### Global Install\n\n```bash\n# Using npm\nnpm install -g @rlabs-inc/gemini-mcp\n\n# Using bun\nbun install -g @rlabs-inc/gemini-mcp\n```\n\n### Claude Code Configuration\n\n```json\n{\n  \"gemini\": {\n    \"command\": \"npx\",\n    \"args\": [\"-y\", \"@rlabs-inc/gemini-mcp\"],\n    \"env\": {\n      \"GEMINI_API_KEY\": \"your-api-key\",\n      \"GEMINI_OUTPUT_DIR\": \"/path/to/save/files\"\n    }\n  }\n}\n```\n\nIf you must use a proxy to establish a connection to gemini, replace `xxxx` with your actual proxy port:\n\n```json\n{\n  \"gemini\": {\n    \"command\": \"npx\",\n    \"args\": [\"-y\", \"@rlabs-inc/gemini-mcp\"],\n    \"env\": {\n      \"GEMINI_API_KEY\": \"your-api-key\",\n      \"GEMINI_OUTPUT_DIR\": \"/path/to/save/files\",\n      \"HTTP_PROXY\": \"http://127.0.0.1:xxxx\",\n      \"HTTPS_PROXY\": \"http://127.0.0.1:xxxx\"\n    }\n  }\n}\n```\n\n---\n\n## Troubleshooting\n\n### Rate Limits (429 Errors)\n\nIf you're hitting rate limits on the free tier:\n- Set `GEMINI_MODEL=gemini-3-flash-preview` to use Flash for init (higher limits)\n- Or upgrade to a paid plan\n\n### Connection Issues\n\n1. Verify your API key at [Google AI Studio](https://aistudio.google.com/apikey)\n2. Check server status: `claude mcp list`\n3. Try with verbose logging: `VERBOSE=true`\n\n### Image/Video Issues\n\n- Ensure your API key has access to image/video generation\n- Check output directory permissions\n- Files save to `GEMINI_OUTPUT_DIR` (default: `./gemini-output`)\n- For 4K images, generation takes longer\n\n---\n\n### Previous Versions\n**0.7.2**\n\n**Beautiful CLI with Themes!** Use Gemini directly from your terminal:\n\n```bash\n# Install globally\nnpm install -g @rlabs-inc/gemini-mcp\n\n# Set your API key once\ngcli config set api-key YOUR_KEY\n\n# Generate images, videos, search, research, and more!\ngcli image \"a cat astronaut\" --size 4K\ngcli search \"latest AI news\"\ngcli research \"quantum computing applications\" --wait\ngcli speak \"Hello world\" --voice Puck\n```\n\n**5 Beautiful Themes:** terminal, neon, ocean, forest, minimal\n\n**CLI Commands:**\n- `gcli query` - Direct Gemini queries with thinking levels\n- `gcli search` - Real-time web search with citations\n- `gcli research` - Deep research agent\n- `gcli image` - Generate images (up to 4K)\n- `gcli video` - Generate videos with Veo\n- `gcli speak` - Text-to-speech with 30 voices\n- `gcli tokens` - Count tokens and estimate costs\n- `gcli config` - Manage settings\n\n**v0.6.x:** Deep Research, Token Counting, TTS, URL analysis, Context Caching\n**v0.5.x:** 30+ tools, YouTube analysis, Document analysis\n**v0.4.x:** Code execution, Google Search\n**v0.3.x:** Thinking levels, Structured output, 4K images\n**v0.2.x:** Image/Video generation with Veo\n\n---\n\n\n## Development\n\n```bash\ngit clone https://github.com/rlabs-inc/gemini-mcp.git\ncd gemini-mcp\nbun install\nbun run build\nbun run dev -- --verbose\n```\n\n### Scripts\n\n| Command             | Description                 |\n|---------------------|-----------------------------|\n| `bun run build`     | Build for production        |\n| `bun run dev`       | Development mode with watch |\n| `bun run typecheck` | Type check without emitting |\n| `bun run format`    | Format with Prettier        |\n| `bun run lint`      | Lint with ESLint            |\n\n---\n\n## License\n\nMIT License\n\n---\n\nMade with Claude + Gemini working together\n",
  "bytes": 16028,
  "sha": "c39177af7b29a4cc529ecaf628c555f74c65cb496c4fe52551d02cd8aeca465f",
  "repo_slug": "rlabs-inc/gemini-mcp",
  "fonte": "repo",
  "truncated": false,
  "api": "https://agentalog.com/api/listings/mcp_io_github_rlabs_inc_gemini_mcp_2a314394/readme"
}