Gemini API服务器

一个提供直接访问Google Gemini API功能的模型上下文协议(MCP)服务器,支持文本生成、代码分析、视觉任务和模型比较。

  • by angrysky56
  • Python
  • 本地部署
  • 2 星标
  • 更新于
在 GitHub 查看 angrysky56/gemini-cli-mcp-server

使用说明

Gemini API MCP服务器

模型上下文协议(MCP)服务器,可直接访问Google Gemini API功能。此服务器使Claude Desktop和其他MCP客户端能够使用Gemini模型进行文本生成、代码分析、视觉任务和模型比较。

特性

🤖 API直接访问 -无需CLI包装,直接使用Google Generative AI SDK 🔧 多种工具 -文本生成、文件分析、代码审查、视觉分析、模型比较 🎯 可配置的 -选择型号、调整温度、设置令牌限制 🖼️ 视觉支持 -使用Gemini的多模式功能分析图像 ⚡ 异步&快速 -无阻塞操作,性能更佳 🛡️ 错误处理 -全面的错误处理和记录

先决条件

Google Gemini API密钥

您需要Google AI Studio提供的Gemini API密钥:

  1. 首选 谷歌人工智能工作室
  2. 创建新的API密钥
  3. 将其设置为环境变量:
export GEMINI_API_KEY="your-api-key-here"

或者,您也可以使用 GOOGLE_API_KEY 如果你愿意的话。

安装

  1. 克隆此存储库:

    cd /home/ty/Repositories/ai_workspace
    git clone <repository-url> gemini-cli-mcp-server
    cd gemini-cli-mcp-server
    
  2. 使用uv设置Python环境:

    uv venv --python 3.12
    source .venv/bin/activate
    uv sync
    

配置

Claude桌面设置

编辑您的Claude Desktop配置文件:

  • macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
  • Linux: ~/.config/claude/claude_desktop_config.json

添加此服务器配置:

{
  "mcpServers": {
    "gemini-api": {
      "command": "uv",
      "args": [
        "--directory",
        "/home/ty/Repositories/ai_workspace/gemini-cli-mcp-server",
        "run",
        "python",
        "src/main.py"
      ],
      "env": {
        "GEMINI_API_KEY": "your-api-key-here"
      }
    }
  }
}

进行此更改后重新启动Claude Desktop。

可用工具

🚀 双子座

使用具有全参数控制的任何Gemini模型生成文本。

参数:

  • prompt (必填):文本提示
  • model:要使用的模型(默认值:gemini-1.5-flash)
  • temperature:随机性控制0.0-2.0(默认值:1.0)
  • max_output_tokens:要生成的最大令牌数(默认值:2048)

可用型号:

  • gemini-2.0-flash-exp -最新实验模型
  • gemini-1.5-pro -最有能力的模型
  • gemini-1.5-flash -快速高效
  • gemini-1.5-flash-8b -最小和最快

📄 双子座分析文件

使用Gemini分析任何文件(支持文本和图像文件)。

参数:

  • file_path (必填):文件路径
  • analysis_prompt:分析什么(默认:“分析此文件并提供见解”)
  • model:使用Gemini模型

🔍 gemini_compare_models

比较多个Gemini模型对同一提示的响应。

参数:

  • prompt (必填):测试提示
  • models:要比较的型号列表(默认值:[“gemini-1.5-flash”,“gemini.1.5-pro”])
  • temperature:所有型号的温度设置

🖼️ 双子座_有远见

使用Gemini的视觉能力来分析图像。

参数:

  • image_path (必填):图像文件的路径
  • prompt:分析图像的内容(默认:“详细描述此图像”)
  • model:使用具有视觉能力的模型

支持的图像格式: JPG、JPEG、PNG、GIF、BMP、WebP

🧑‍💻 gemini_code_review

使用Gemini进行全面的代码审查。

参数:

  • file_path (必填):代码文件的路径
  • focus_areas:关注领域(默认:[“代码质量”、“最佳实践”、“潜在错误”])
  • model:要使用的型号(默认:gemini-1.5-pro)

使用示例

基本文本生成

Use gemini_generate with:
- prompt: "Explain quantum computing in simple terms"
- model: "gemini-1.5-pro"
- temperature: 0.7

文件分析

Use gemini_analyze_file with:
- file_path: "/path/to/script.py"
- analysis_prompt: "Review this code for security issues"

图像分析

Use gemini_with_vision with:
- image_path: "/path/to/diagram.png"
- prompt: "Explain this architecture diagram"

模型比较

Use gemini_compare_models with:
- prompt: "Write a Python function to calculate fibonacci numbers"
- models: ["gemini-1.5-flash", "gemini-1.5-pro", "gemini-2.0-flash-exp"]

代码审查

Use gemini_code_review with:
- file_path: "/path/to/component.tsx"
- focus_areas: ["performance", "accessibility", "React best practices"]

与CLI包装器方法的主要区别

此服务器提供 API直接访问 而不是包装CLI工具:

✅ 优势:

  • 更可靠、更快
  • 可配置参数(温度、令牌、型号)
  • 更好的错误处理和调试
  • 无需复杂的会话管理
  • 支持所有文件类型,包括图像
  • 异步/非阻塞操作

❌ 它没有做什么:

  • 它不提供交互式Gemini CLI会话体验
  • 它不包括CLI特定的功能,如 /memory 或 /tools 命令
  • 它的重点是API功能,而不是CLI工作流程

故障排除

常见问题

“找不到API密钥”

“型号不可用”

  • 检查型号名称拼写
  • 某些型号可能在您所在的地区不可用
  • 尝试使用 gemini-1.5-flash 作为退路

“找不到文件”

  • 验证文件路径是绝对路径还是相对于Claude Desktop运行的位置的路径
  • 检查文件权限

“图像分析失败”

  • 确保支持图像格式(JPG、PNG、GIF、BMP、WebP)
  • 检查图像文件是否损坏
  • 如果图像很大,请尝试使用较小的图像

调试模式

有关详细的日志记录,请查看Claude Desktop日志:

macOS:

tail -f ~/Library/Logs/Claude/mcp*.log

Linux:

tail -f ~/.local/share/Claude/logs/mcp*.log

发展

手动运行

source .venv/bin/activate
python src/main.py

测试工具

您可以使用MCP检查器或直接通过Claude Desktop调用单个工具来测试它们。

项目结构

src/
├── main.py              # Main MCP server implementation
└── __init__.py          # Package initialization

archived/
└── gemini_cli_wrapper.py # Old CLI wrapper (archived)

业绩说明

  • 模型速度:闪存型号最快,专业型号最强大
  • 温度:事实任务的值较低(0.1-0.5),创造性任务的值较高(0.8-1.5)
  • 令牌限制:调整 max_output_tokens 根据您的需求
  • 愿景任务:图像分析可能需要更长的时间,具体取决于图像大小

安全考虑

  • API密钥通过环境变量传递(安全)
  • 没有数据存储在本地(无状态服务器)
  • 安全设置配置为允许开发使用
  • 所有操作都使用您的API密钥配额和计费运行

许可证

MIT许可证-有关详细信息,请参阅许可证文件。

贡献

欢迎投稿!此服务器使用:

  • 紫外线 用于依赖关系管理
  • 异步 用于异步操作
  • 谷歌发电机 用于API访问
  • MCP-SDK 用于协议实施

请彻底测试更改,并根据需要更新文档。