使用说明
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个代币)
- 默认情况下为高媒体分辨率
先决条件
- Node.js 18+
- A. Gemini API密钥
快速安装
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 代理人:
- 在后台模式下开始研究
- 投票50秒,以防投票很快结束
- 如果仍在运行,则开始后台轮询(每30秒,最多30分钟)
- 发送a 推送通知 通过
termux-notification完成时 - 将完整结果保存到
~/.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 | 输入模式验证 |
许可证
麻省理工学院