Gemini多工具协作协议服务器

Gemini MCP服务器实现了多工具协作协议(MCP),使主AI模型能与Google的Gemini Pro模型协作,提供增强的代码审查、问题解答、创意构思等功能。

  • by gyasis
  • Python
  • 本地部署
  • 更新于
在 GitHub 查看 gyasis/gemini-mcp

使用说明

Claude Gemini MCP服务器

Gemini MCP服务器

该项目提供了一个实现多工具协导协议(MCP)的服务器,使主要的人工智能模型能够与谷歌的Gemini Pro模型协作,以增强功能。

它起到了桥梁的作用,允许兼容的AI助手将特定任务(如提问、审查代码或头脑风暴)转移到Gemini。

特性

  • 通用MCP接口:实现MCP协议,便于与任何兼容的客户端集成。
  • Gemini集成:利用谷歌Gemini 3 Flash模型(Gemini-3-Flash-review)的强大功能。
  • 多图像分析:在单个请求中比较和分析多达3600张图像。
  • 可扩展工具集:轻松添加需要Gemini功能的新工具。
  • 多模式支持:通过Gemini的多模式功能处理文本、图像和视频。
  • 重量轻,速度快:使用Python构建,易于运行和部署。

模型使用

此MCP服务器使用最新的Gemini型号以获得最佳性能:

工具类型 型号 备注
大多数工具 gemini-3-flash-preview 最新Gemini 3 Flash(Flash速度下的专业级性能)
ask_gemini gemini-3-flash-preview 一般问答和合作
gemini_code_review gemini-3-flash-preview 代码分析和审查
双子座暴雨 gemini-3-flash-preview 创造性思维
双子座缺陷 gemini-3-flash-preview 错误分析和调试
双子座研究 gemini-3-flash-preview 基于谷歌搜索的研究
观看视频 gemini-3-flash-preview 视频分析(YouTube和本地文件)
interpret_image gemini-3-flash-preview 图像理解和分析
深入研究 deep-research-pro-preview-12-2025 复杂查询的专业研究模型

型号特点:

  • 🎯 双子座3闪光:以Flash速度进行专业级推理,1M令牌上下文窗口
  • 🔬 深度研究专业:多跳推理、自动查询细化、源综合
  • 💰 定价:Gemini 3 Flash-0.50/1M输入代币,3/1M输出代币

设置和安装

此项目使用 uv 用于快速可靠的Python环境和包管理。

  1. 安装 uv: 如果你没有 uv 已安装,请按照官方安装说明进行操作:

    # On macOS and Linux
    curl -LsSf https://astral.sh/uv/install.sh | sh
    
  2. 配置API密钥: 创建一个 .env 文件在项目根目录中,并添加您的Gemini API密钥:

    GEMINI_API_KEY="YOUR_API_KEY_HERE"
    

运行服务器

随着 uv 已安装和您的 .env 创建文件后,您可以使用单个命令运行服务器。 uv 将自动创建虚拟环境并安装来自的依赖项 requirements.txt 为你。

uv run python server.py

服务器将启动并监听来自任何MCP兼容客户端的请求。

开发和测试

使用MCP开发服务器

对于开发和测试,您可以使用内置的MCP开发服务器:

# Run the development server
uv run mcp dev server.py

这提供了增强的调试输出和开发功能。

MCP检验员测试

MCP检查器提供了一个基于web的界面,用于交互式测试您的服务器工具:

# Install and run MCP Inspector
npx @modelcontextprotocol/inspector

然后打开提供的URL(通常 http://localhost:6274)在您的浏览器中。你可以:

  • 测试所有可用工具
  • 查看工具模式和描述
  • 使用自定义参数执行工具
  • 实时监控服务器响应

要将服务器连接到检查器,请执行以下操作:

  1. 在检查器web界面中,添加新服务器
  2. 使用以下连接详细信息:
    • 命令: uv
    • 参数: ["run", "python", "server.py"]
    • 工作目录: /path/to/your/claude_code-gemini-mcp

直接测试

您也可以直接测试服务器:

# Test server startup
uv run python server.py

# The server will wait for JSON-RPC input on stdin
# Press Ctrl+C to exit

客户端集成

要将此服务器与MCP兼容的客户端集成,您需要生成JSON配置。附带的脚本使这变得容易。

运行脚本以生成必要的JSON:

./generate_config.sh

这将输出一个JSON块,您可以将其添加到客户端的配置文件中。输出将看起来像这样,并为您的系统提供正确的绝对路径:

{
  "claude_code-gemini-mcp": {
    "name": "Gemini MCP Server",
    "description": "A general MCP server for Gemini integration.",
    "command": "/path/to/your/project/claude_code-gemini-mcp/.venv/bin/python",
    "args": ["/path/to/your/project/claude_code-gemini-mcp/server.py"],
    "env": {},
    "enabled": true
  }
}

原理

服务器遵循 多工具协导协议(MCP),AI助手如何与工具对话的规范。

  • initialize:客户端开始通信,服务器返回其功能。
  • tools/list:客户要求提供可用工具的列表。
  • tools/call:客户端要求服务器使用给定的参数运行特定的工具。

服务器当前公开 19工具 致客户:

核心Gemini工具(6):

  • ask_gemini问双子座一个直接的问题。
  • gemini_code_review:从Gemini获得代码审查。
  • gemini_brainstorm与双子座集思广益。
  • gemini_debug:分析错误消息并提出修复建议。
  • gemini_research:以谷歌搜索为基础进行研究。
  • watch_video:分析YouTube视频或本地视频文件。

深度研究工具(7):

  • start_deep_research:用多跳推理开始复杂的研究(持续5-60分钟)。
  • check_research_status:监控异步研究任务进度。
  • get_research_results:检索已完成的研究报告(从SQLite进行零成本检索)。
  • cancel_research:停止运行带有可选部分保存的研究任务。
  • resume_research:恢复失败或中断的研究任务。
  • estimate_research_cost:执行前成本和持续时间估算。
  • save_research_to_markdown:将研究导出到格式化的Markdown文件。

FastMCP任务支持(v3.8.0)

现在使用的深度研究工具 FastMCP的本地后台任务系统 对于长时间运行的操作:

主要特点:

  • 协议本地任务:执行MCP SEP-1686任务规范
  • 自动通知:LLM客户在研究完成时收到通知
  • 代币节省:消除了手动状态轮询的需要(减少98%)
  • 零成本检索:结果缓存在SQLite中以供即时访问

LLM使用模式:

# Start research - returns immediately with task_id
result = start_deep_research("quantum computing advances")

# Continue other work - research runs in background
# ... LLM can handle other user requests ...

# FastMCP sends notification when complete (no polling needed!)

# Retrieve results from SQLite cache (zero tokens)
final = get_research_results(result["task_id"])

AI助手的好处:

  • 轮询时没有浪费上下文窗口
  • 在长时间的研究过程中可以同时处理多项任务
  • 单一通知,而不是重复检查
  • LLM代理的更简单的代码模式

技术实施:

  • 用途 @mcp.tool(task=True) 装饰器
  • 通过FastMCP更新进度 Progress 依赖
  • 为Gemini API交互保留自定义轮询循环
  • SQLite持久性确保跨重启恢复

文件管理工具(5):

  • interpret_image:分析一个或多个图像(每个请求最多支持3600个图像)。
  • check_file_status:检查上传文件的处理状态。
  • list_uploaded_files:浏览Gemini云存储中的所有文件(保留48小时)。
  • get_last_uploaded_video:快速访问最新的视频上传。
  • delete_uploaded_file:从Gemini云存储中删除文件。

公用设施(1):

  • server_info:检查服务器状态和连接。