Gemini多工具服务器

一个提供23种工具用于Google Gemini API的模型上下文协议服务器,支持聊天、多模态分析、深度研究、文件管理等功能。

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

使用说明

Gemini MCP服务器

A. 模型上下文协议 (MCP)服务器提供 23工具 谷歌的Gemini API——聊天、多模式分析、深度研究、文件管理、YouTube分析等等。

建于 @google/genai SDK(v1.0.0+)。

特性

  • 与Gemini模特聊天(单圈、多圈、带工具模式)
  • 分析图像、音频、视频、PDF、YouTube视频和网址
  • 带自动切换的文件API:小文件(<20MB)内联,大文件(高达2GB)上传
  • 具有后台轮询和推送通知的深度研究代理(Termux)
  • 结构化JSON输出、嵌入、代码执行、翻译、摘要
  • Google搜索基础和URL上下文
  • 默认情况下启用思维模式(预算:65535个代币)
  • 默认情况下为高媒体分辨率

先决条件

快速安装

git clone https://github.com/salviz/gemini-mcp-server.git
cd gemini-mcp-server
npm install

使用克劳德代码注册

CLI:

claude mcp add gemini -- node /path/to/gemini-mcp-server/index.js

或者添加到您的MCP配置中(~/.claude/claude_desktop_config.json 或 .mcp.json):

{
  "mcpServers": {
    "gemini": {
      "type": "stdio",
      "command": "node",
      "args": ["/path/to/gemini-mcp-server/index.js"],
      "env": {
        "GEMINI_API_KEY": "your-api-key"
      }
    }
  }
}

环境变量

变量 必填 描述
GEMINI_API_KEY 是 您的Google Gemini API密钥

工具(23)

聊天与生成(6)

工具 说明
gemini_chat 发送带有可选搜索基础和URL上下文的提示
gemini_chat_multi 带有消息历史记录的多回合对话
gemini_chat_with_tools 切换模式聊天: search, code,或 all
gemini_search_grounded 基于源引用的搜索生成
gemini_structured_output 生成与提供的模式匹配的JSON输出
gemini_url_context 使用Gemini的URL上下文工具分析一个或多个URL

多模态分析(6)

工具 说明
gemini_analyze_image 使用Gemini Vision分析图像文件(JPG、PNG、GIF、WebP、BMP、SVG)
gemini_analyze_audio 转录、总结或描述音频(MP3、WAV、OGG、FLAC、AAC、M4A、Opus)
gemini_analyze_video 分析视频文件;通过文件API自动加载大文件(MP4,AVI,MOV,MKV,WebM)
gemini_analyze_pdf 分析PDF文档(通过文件API最多2GB)
gemini_analyze_youtube 按URL分析公共YouTube视频(无需下载)
gemini_analyze_url 分析来自HTTP/HTTPS URL或GCS URI的内容(gs://)

深度研究(2)

工具 说明
gemini_deep_research 启动一项深入的研究任务;完成时发送推送通知
gemini_check_research 通过交互ID检查正在运行的深度研究任务的状态

文件API(3)

工具 说明
gemini_upload_file 将文件上传到Gemini(最大2GB,保留48小时)
gemini_list_files 列出所有上传的文件及其元数据
gemini_delete_file 按名称删除上传的文件

公用事业(6)

工具 说明
gemini_list_models 列出具有功能和令牌限制的可用Gemini型号
gemini_count_tokens 使用模型的标记器计算文本中的标记
gemini_embed 生成文本嵌入(默认: gemini-embedding-001,3072个维度)
gemini_code_execute 通过Gemini的内置沙盒执行Python代码
gemini_summarize 用可配置的样式(简短、详细、要点)总结文本
gemini_translate 使用可选的模型覆盖将文本翻译成任何语言

模型选择

默认型号: gemini-3.1-pro-preview.每个工具都接受一个可选 model 参数。

型号 最适合
gemini-3.1-pro-preview 默认值。大多数任务的最佳质量
gemini-2.5-flash 更快的响应速度,更低的成本
gemini-embedding-001 文本嵌入(由 gemini_embed)
deep-research-pro-preview-12-2025 深度研究代理(内部使用)

文件API和大文件处理

服务器会自动处理文件大小:

  • <=20MB:以base64内联发送(快速,无上传步骤)
  • >20MB至2GB:通过Gemini Files API上传,然后通过URI引用
  • YouTube网址:直接通过 fileData.fileUri (无下载)
  • HTTP/HTTPS URL:通过 createPartFromUri (最高100MB)
  • GCS URI (gs://):通过 fileData.fileUri

上传的文件将保留48小时。使用 gemini_list_files 和 gemini_delete_file 管理他们。

深入研究

这 gemini_deep_research 该工具使用Gemini的交互API与 deep-research-pro-preview-12-2025 代理人:

  1. 在后台模式下开始研究
  2. 投票50秒,以防投票很快结束
  3. 如果仍在运行,则开始后台轮询(每30秒,最多30分钟)
  4. 发送a 推送通知 通过 termux-notification 完成时
  5. 将完整结果保存到 ~/.cache/deep_research_*.txt

使用 gemini_check_research 随时手动轮询。

项目结构

gemini-mcp-server/
  index.js              # Server entry point
  tools/
    shared.js           # Shared config, AI client, extractText helper
    chat.js             # 17 tools: chat, analysis, research, files, YouTube
    utility.js          # 6 tools: models, tokens, embed, code, summarize, translate
  package.json

安全

  • 仅来自环境的API密钥 --从未在源代码中硬编码
  • 文件路径已验证 --需要绝对路径,读取前检查是否存在
  • 标准运输 --没有暴露的网络服务器
  • 未记录或存储数据 --提示和响应不持久

依赖项

包装 版本 用途
@modelcontextprotocol/sdk ^1.0.0 MCP服务器框架
@google/genai ^1.0.0 谷歌Gemini人工智能SDK
zod ^3.24.0 输入模式验证

许可证

麻省理工学院