Skip to content

Enhanced Gemini MCP Tool with Windows multi-drive support. Adds workingDirectory parameter for cross-drive file access on Windows.

License

Notifications You must be signed in to change notification settings

cj-elevate/gemini-mcp-tool

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

46 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Gemini MCP Tool (Enhanced Fork)

GitHub Release npm version npm downloads License: MIT Open Source Windows

This fork adds Windows multi-drive support - access files on C:/, D:/, E:/ drives seamlessly with the new workingDirectory parameter.

This is an enhanced fork of jamubc/gemini-mcp-tool - an MCP server that allows AI assistants to interact with the Gemini CLI. It enables the AI to leverage Gemini's massive token window for large file analysis.

What This Fork Adds

Feature Description
Windows Multi-Drive Access New workingDirectory parameter lets you access any drive (C:/, D:/, E:/)
Windows Compatibility Fixed shell: true for proper .cmd execution
Modern CLI Support Uses positional prompts + -y flag (fixes deprecated -p flag)

Quick Example

// Access files on C: drive
ask-gemini({ prompt: "Analyze C:/Users/Me/project", workingDirectory: "C:/" })

// Access files on D: drive
ask-gemini({ prompt: "Review @D:/code/main.ts", workingDirectory: "D:/" })

This solves the Windows multi-drive limitation that no other MCP solution addresses.

  • Ask gemini natural questions, through claude or Brainstorm new ideas in a party of 3!
Gemini Tool MCP server

TLDR: Claude + Google Gemini

Goal: Use Gemini's powerful analysis capabilities directly in Claude Code to save tokens and analyze large files.

Prerequisites

Before using this tool, ensure you have:

  1. Node.js (v16.0.0 or higher)
  2. Google Gemini CLI installed and configured

One-Line Setup

claude mcp add gemini-cli -- npx -y gemini-mcp-tool

Verify Installation

Type /mcp inside Claude Code to verify the gemini-cli MCP is active.


Alternative: Import from Claude Desktop

If you already have it configured in Claude Desktop:

  1. Add to your Claude Desktop config:
"gemini-cli": {
  "command": "npx",
  "args": ["-y", "gemini-mcp-tool"]
}
  1. Import to Claude Code:
claude mcp add-from-claude-desktop

Configuration

Register the MCP server with your MCP client:

For NPX Usage (Recommended)

Add this configuration to your Claude Desktop config file:

{
  "mcpServers": {
    "gemini-cli": {
      "command": "npx",
      "args": ["-y", "gemini-mcp-tool"]
    }
  }
}

For Global Installation

If you installed globally, use this configuration instead:

{
  "mcpServers": {
    "gemini-cli": {
      "command": "gemini-mcp"
    }
  }
}

Configuration File Locations:

  • Claude Desktop:
    • macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
    • Windows: %APPDATA%\Claude\claude_desktop_config.json
    • Linux: ~/.config/claude/claude_desktop_config.json

After updating the configuration, restart your terminal session.

Example Workflow

  • Natural language: "use gemini to explain index.html", "understand the massive project using gemini", "ask gemini to search for latest news"
  • Claude Code: Type /gemini-cli and commands will populate in Claude Code's interface.

Usage Examples

With File References (using @ syntax)

  • ask gemini to analyze @src/main.js and explain what it does
  • use gemini to summarize @. the current directory
  • analyze @package.json and tell me about dependencies

General Questions (without files)

  • ask gemini to search for the latest tech news
  • use gemini to explain div centering
  • ask gemini about best practices for React development related to @file_im_confused_about

Using Gemini CLI's Sandbox Mode (-s)

The sandbox mode allows you to safely test code changes, run scripts, or execute potentially risky operations in an isolated environment.

  • use gemini sandbox to create and run a Python script that processes data
  • ask gemini to safely test @script.py and explain what it does
  • use gemini sandbox to install numpy and create a data visualization
  • test this code safely: Create a script that makes HTTP requests to an API

Tools (for the AI)

These tools are designed to be used by the AI assistant.

  • ask-gemini: Asks Google Gemini for its perspective. Can be used for general questions or complex analysis of files.
    • prompt (required): The analysis request. Use the @ syntax to include file or directory references (e.g., @src/main.js explain this code) or ask general questions (e.g., Please use a web search to find the latest news stories).
    • model (optional): The Gemini model to use. Defaults to gemini-2.5-pro.
    • sandbox (optional): Set to true to run in sandbox mode for safe code execution.
  • sandbox-test: Safely executes code or commands in Gemini's sandbox environment. Always runs in sandbox mode.
    • prompt (required): Code testing request (e.g., Create and run a Python script that... or @script.py Run this safely).
    • model (optional): The Gemini model to use.
  • Ping: A simple test tool that echoes back a message.
  • Help: Shows the Gemini CLI help text.

Slash Commands (for the User)

You can use these commands directly in Claude Code's interface (compatibility with other clients has not been tested).

  • /analyze: Analyzes files or directories using Gemini, or asks general questions.
    • prompt (required): The analysis prompt. Use @ syntax to include files (e.g., /analyze prompt:@src/ summarize this directory) or ask general questions (e.g., /analyze prompt:Please use a web search to find the latest news stories).
  • /sandbox: Safely tests code or scripts in Gemini's sandbox environment.
    • prompt (required): Code testing request (e.g., /sandbox prompt:Create and run a Python script that processes CSV data or /sandbox prompt:@script.py Test this script safely).
  • /help: Displays the Gemini CLI help information.
  • /ping: Tests the connection to the server.
    • message (optional): A message to echo back.

Troubleshooting

SyntaxError: Invalid or unexpected token in protos.js

If you see an error like:

SyntaxError: Invalid or unexpected token
    at .../@google-cloud/logging/build/protos/protos.js:1975

Cause: Corrupted npm cache during Gemini CLI installation.

Fix:

# 1. Verify and clean npm cache
npm cache verify

# 2. Reinstall Gemini CLI
npm uninstall -g @google/gemini-cli
npm install -g @google/gemini-cli

# 3. Verify installation
gemini --version

Exit code 3221225477 (ACCESS_VIOLATION on Windows)

If the tool crashes with this exit code:

Cause: Gemini CLI cannot find its config directory (~/.gemini/) because Windows environment variables are missing from the MCP spawn context.

Fix: Add these environment variables to your MCP server config:

"environment": {
  "ComSpec": "C:\\WINDOWS\\system32\\cmd.exe",
  "SystemRoot": "C:\\WINDOWS",
  "USERPROFILE": "C:\\Users\\YOUR_USERNAME",
  "HOME": "C:\\Users\\YOUR_USERNAME",
  "APPDATA": "C:\\Users\\YOUR_USERNAME\\AppData\\Roaming",
  "LOCALAPPDATA": "C:\\Users\\YOUR_USERNAME\\AppData\\Local"
}

Then restart the MCP backend:

  • If using master-mcp-proxy: Call restart_backend with backend_id: "gemini-cli"
  • Otherwise: Restart your Claude Code session

Gemini CLI works directly but fails through MCP

  1. Check Gemini CLI version: gemini --version
  2. Test directly: gemini -y "say OK"
  3. Verify environment variables are configured (see above)
  4. Restart MCP backend after config changes

Contributing

Contributions are welcome! Please see our Contributing Guidelines for details on how to submit pull requests, report issues, and contribute to the project.

License

This project is licensed under the MIT License. See the LICENSE file for details.

Disclaimer: This is an unofficial, third-party tool and is not affiliated with, endorsed, or sponsored by Google.

About

Enhanced Gemini MCP Tool with Windows multi-drive support. Adds workingDirectory parameter for cross-drive file access on Windows.

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • TypeScript 76.6%
  • Shell 11.7%
  • JavaScript 11.0%
  • Batchfile 0.7%