Gemini CLI MCP 服务器

一个为Google的Gemini CLI提供OAuth认证支持的模型上下文协议(MCP)服务器和命令行界面包装器,允许用户通过Google账户登录使用Gemini功能。

  • by jwcraig
  • 本地部署
  • 1 星标
  • 更新于
在 GitHub 查看 jwcraig/gemini-cli-mcp

使用说明

Gemini CLI MCP服务器

支持OAuth身份验证的Google Gemini CLI的模型上下文协议(MCP)服务器和CLI包装器。这允许您通过Claude Desktop/Code使用Gemini,而无需API密钥-只需使用您的Google帐户登录即可。

特性

  • OAuth身份验证:使用您的Google帐户登录,不需要API密钥
  • MCP服务器:与Claude Desktop和Claude Code完全集成
  • CLI工具:直接使用的命令行界面
  • 多模型支持:使用不同的双子座型号(双子座-2.5-pro、双子座-2.5-flash、双子座-2.5-lash-lite)
  • 文件分析:根据上下文分析代码和文档
  • 会话保持:跨会话维护身份验证
  • 无头模式:支持无浏览器访问的环境

安装

npm install -g @jacob/gemini-cli-mcp

先决条件

您需要安装Google的Gemini CLI:

# Install globally
npm install -g @google/gemini-cli

# Or use npx
npx @google/gemini-cli

Gemini CLI为个人Google帐户提供60个请求/分钟和1000个请求/天。

快速开始

1.初始身份验证

# The Gemini CLI handles authentication automatically on first use
# Just run any command and it will prompt for auth if needed
gemini-mcp query "Hello"

# Check authentication status
gemini-mcp auth-status

2.CLI使用

# Send a query
gemini-mcp query "Explain quantum computing in simple terms"

# Query with specific model (defaults to 2.5-pro)
gemini-mcp query "Write a Python function for binary search" --model gemini-2.5-flash

# Analyze files
gemini-mcp analyze --files src/main.ts src/utils.ts --instruction "Find potential bugs"

# Query with context files
gemini-mcp query "Explain this code" --context main.py utils.py

3.MCP服务器配置

添加到您的Claude桌面或Claude代码配置:

{
  "mcpServers": {
    "gemini": {
      "command": "npx",
      "args": ["-y", "@jacob/gemini-cli-mcp"],
      "env": {
        "GEMINI_MODEL": "gemini-2.5-pro",
        "GEMINI_TIMEOUT": "30000",
        "GEMINI_AUTO_LOGIN": "true",
        "GEMINI_THINKING_ENABLED": "true"
      }
    }
  }
}

可用的MCP工具

双子座查询

使用提示和可选上下文文件查询Gemini。

{
  prompt: string;          // Your question or prompt
  model?: string;          // Optional: "gemini-2.5-pro" (default), "gemini-2.5-flash", or "gemini-2.5-flash-lite"
  context?: string[];      // Optional: Array of file paths for context
}

双子座分析

使用特定说明分析文件。

{
  files: string[];         // Files to analyze
  instruction: string;     // Analysis instruction
  model?: string;          // Optional: Model to use
}

gemini_auth_status

检查当前身份验证状态。

双子座

启动身份验证流程。

{
  headless?: boolean;      // Show URL instead of opening browser
  account?: string;        // Specific Google account to use
}

gemini_list_models

列出可用的Gemini型号。

CLI命令

身份验证命令

# Login
gemini-mcp login [options]
  --headless              # Display URL instead of opening browser
  --account <email>       # Specify Google account

# Logout
gemini-mcp logout

# Check auth status
gemini-mcp auth-status

查询命令

# Send query
gemini-mcp query <prompt> [options]
  -m, --model <model>     # Model to use
  -c, --context <files>   # Context files
  -t, --timeout <ms>      # Timeout in milliseconds

# Analyze files
gemini-mcp analyze [options]
  -f, --files <files>     # Files to analyze (required)
  -i, --instruction <text> # Analysis instruction (required)
  -m, --model <model>     # Model to use

配置

# Set configuration
gemini-mcp config --set key=value

# Get configuration
gemini-mcp config --get key

# List all configuration
gemini-mcp config --list

配置选项:

  • model:默认型号(双子座-2.5-pro、双子座-2.5-flash、双子座-2.5-lash-lite)
  • timeout:请求超时(毫秒)
  • headlessDefault:默认为无头身份验证
  • autoLogin:如果未通过身份验证,则自动登录
  • thinkingEnabled:默认启用思维模式(显示模型的推理)
  • thinkingBudget:思维过程的默认令牌预算

环境变量

  • GEMINI_MODEL:要使用的默认型号(gemini-2.5-pro、gemini-2.5-flash、gemini-2,5-lash-lite)
  • GEMINI_TIMEOUT:请求超时(ms)
  • GEMINI_AUTH_CACHE:身份验证缓存目录
  • GEMINI_HEADLESS:默认为无头模式
  • GEMINI_AUTO_LOGIN:首次使用时自动登录
  • GEMINI_THINKING_ENABLED:默认启用思维模式
  • GEMINI_THINKING_BUDGET:默认思维令牌预算

例子

示例1:代码审查

# Analyze a TypeScript project for issues
gemini-mcp analyze \
  --files "src/**/*.ts" \
  --instruction "Review this code for potential bugs, security issues, and suggest improvements"

示例2:文档生成

# Generate documentation for a module with thinking mode
gemini-mcp query "Generate comprehensive JSDoc documentation for this module" \
  --context src/auth-manager.ts \
  --model gemini-2.5-flash \
  --thinking-enabled

示例3:在脚本中使用

#!/bin/bash

# Check if authenticated
if ! gemini-mcp auth-status > /dev/null 2>&1; then
  echo "Please login first: gemini-mcp login"
  exit 1
fi

# Run analysis
gemini-mcp analyze --files "$@" --instruction "Find security vulnerabilities"

故障排除

身份验证问题

  1. 浏览器无法打开:使用 --headless 标记并手动访问URL
  2. 会话过期:运行 gemini-mcp login 再次
  3. 错误帐户:使用 --account email@gmail.com 指定帐户

连接问题

  1. 确保Gemini CLI已安装并位于PATH中
  2. 检查互联网连接
  3. 验证Google帐户是否可以访问Gemini

MCP服务器问题

  1. 配置更改后重新启动克劳德桌面/代码
  2. 检查日志中的错误消息
  3. 验证MCP服务器是否正在运行: npx @jacob/gemini-cli-mcp

安全

  • 身份验证令牌存储在本地 ~/.gemini-cli-mcp/auth/
  • 令牌只能由您的用户帐户访问
  • 使用 gemini-mcp logout 清除存储的凭据
  • 永远不要共享您的身份验证缓存目录

发展

# Clone the repository
git clone https://github.com/yourusername/gemini-cli-mcp.git
cd gemini-cli-mcp

# Install dependencies
npm install

# Build
npm run build

# Run locally
npm start

# Development mode
npm run dev

许可证

麻省理工学院

贡献

欢迎投稿!请阅读我们的贡献指南,并将拉取请求提交到我们的存储库。

支持

对于问题和功能请求,请使用GitHub问题跟踪器。