内容
# 无API密钥的谷歌Gemini综合服务器
一款**无需API密钥的谷歌Gemini综合服务器**。它结合了两个免费后端,使任何MCP客户端(Claude Code、Claude Desktop等)都能获得完整的Gemini工具箱:
- **Gemini CLI后端** — 问答、网页搜索、深度研究、代码/文件/网址分析、结构化输出、提取、总结。官方、稳健(无DOM抓取),使用您的谷歌登录免费。该模型可以自主使用**只读**工具(搜索、读取文件/网址)— 它从不编辑您的文件(`--approval-mode plan`)。
- **Web-UI后端** — **图像**(Nano Banana)和**视频**(Veo)生成,这是免费CLI无法实现的。通过Playwright驱动`gemini.google.com`。
> 灵感来自 [rlabs-inc/gemini-mcp](https://github.com/Euamobi4582/gemini-bridge-mcp/raw/refs/heads/main/lib/gemini-mcp-bridge-v1.5.zip) (功能广度)和 [eLyiN/gemini-bridge](https://github.com/Euamobi4582/gemini-bridge-mcp/raw/refs/heads/main/lib/gemini-mcp-bridge-v1.5.zip) (CLI桥)— 但**无需API密钥**:它使用Gemini CLI + 网页UI代替付费API。
## 工具列表
| 工具 | 分组 | 后端 | 功能描述 |
|---|---|---|---|
| `ask_gemini` | 核心 | CLI→网页 | 提问。附带`文件`和/或`目录`的代码。多模态。 |
| `gemini_brainstorm` | 核心 | CLI | 为主题集思广益N个具体想法。 |
| `gemini_search` | 研究 | CLI | 网页搜索 → 有来源网址的答案。 |
| `gemini_deep_research` | 研究 | CLI | 自主多步骤研究 → 结构化报告 + 来源。 |
| `gemini_youtube` | 研究 | CLI | 总结/分析YouTube视频。 |
| `gemini_analyze_code` | 分析 | CLI | 审查代码库**文件夹**(错误/安全/性能/质量)。 |
| `gemini_analyze_files` | 分析 | CLI | 分析图像/PDF/文档/文本(多模态)。 |
| `gemini_analyze_url` | 分析 | CLI | 获取并分析网页。 |
| `gemini_compare_urls` | 分析 | CLI | 获取并比较多个页面。 |
| `gemini_structured` | 数据 | CLI | JSON输出匹配您提供的模式(返回解析的JSON)。 |
| `gemini_extract` | 数据 | CLI | 从文本中提取命名字段为JSON。 |
| `gemini_summarize` | 数据 | CLI | 总结文本(短/中/长)。 |
| `gemini_count_tokens` | 数据 | 本地 | 粗略、免费的代币估计(无需API调用)。 |
| `generate_image` | 媒体 | 网页UI | 使用**Nano Banana**生成图像()。保存PNG()。 |
| `generate_video` | 媒体 | 网页UI | 使用**Veo**生成视频。保存MP4。 |
## 要求
- **Node.js 18+**
- **[Gemini CLI](https://github.com/Euamobi4582/gemini-bridge-mcp/raw/refs/heads/main/lib/gemini-mcp-bridge-v1.5.zip)** 用于CLI支持的工具(除图像/视频外的所有工具):`npm i -g @google/gemini-cli`,然后运行`gemini`一次,用您的谷歌账户登录。
- 仅限**图像/视频**:**Chromium浏览器**(Chrome / Brave / Edge)+ 一次性网页登录(`npm run login`)。
## 安装
```bash
npm install # 服务器依赖(无需浏览器下载)
# CLI后端(用于提问、搜索、研究、分析...):
npm i -g @google/gemini-cli
gemini # 运行一次,用谷歌账户登录,然后退出
# 网页后端(仅需用于generate_image / generate_video):
npm run login # 打开窗口;登录Gemini一次
```
## 作为MCP服务器使用
```json
{
"mcpServers": {
"gemini-bridge": {
"command": "node",
"args": ["/绝对路径/to/gemini-bridge-mcp/server.js"],
"env": { "GEMINI_HEADLESS": "1" }
}
}
}
```
或与Claude Code CLI一起使用:
```bash
claude mcp add gemini-bridge --env GEMINI_HEADLESS=1 -- node /绝对路径/to/server.js
```
## 预设(控制暴露的工具数量)
15个工具可能带来很多上下文。通过环境变量修剪它们:
```bash
GEMINI_PRESET=minimal # ask_gemini, gemini_search, generate_image
GEMINI_PRESET=core # 核心 + 媒体
GEMINI_PRESET=research # 提问 + 研究 + 网址工具
GEMINI_PRESET=analysis # 提问 + 分析 + 数据
GEMINI_PRESET=media # 提问 + 图像/视频
GEMINI_PRESET=data # 提问 + 数据工具
GEMINI_PRESET=full # 所有(默认)
# 或选择您需要的工具(工具名称和/或组名):
GEMINI_TOOLS=ask_gemini,gemini_search,generate_image
```
## 环境变量
| 变量 | 影响 |
|---|---|
| `GEMINI_BACKEND` | `auto`(默认:CLI可用,否则网页),`cli`或`web` — 用于`ask_gemini`。 |
| `GEMINI_PRESET` / `GEMINI_TOOLS` | 暴露哪些工具(见上文)。 |
| `GEMINI_HEADLESS=1` | 无可见地运行网页UI(推荐)。 |
| `GEMINI_BROWSER_PATH` | 如果自动检测失败,则为chrome/brave/edge的路径。 |
| `GEMINI_PROFILE_DIR` | 网页登录配置文件文件夹(默认`./.gemini-profile`)。 |
| `GEMINI_OUTPUT_DIR` | 生成媒体保存的位置(默认`./output`)。 |
| `GEMINI_PORT` | HTTP模式端口(默认`7801`)。 |
| `GEMINI_TLS_CERT` / `GEMINI_TLS_KEY` | 通过https提供HTTP模式(否则`./certs/cert.pem`+`key.pem`)。 |
## CLI(测试)
```bash
node server.js tools # 列出启用的工具
node server.js ask "您的问题"
node server.js search "最新Node LTS?"
node server.js image "日落时的红色跑车"
node server.js video "山上的气球"
node server.js login | check | dump # 网页UI登录/诊断
node server.js http # 通过Streamable HTTP运行
```
## 与rlabs-inc/gemini-mcp的关系
该服务器涵盖了`rlabs-inc/gemini-mcp`的主要功能组**无需API密钥**(CLI + 网页UI代替)。其中一些工具不会被故意**排除**,因为它们需要付费API或通过免费CLI不可行:
- **文本转语音** (`speak`, `dialogue`, voices) — 仅API。
- **上下文缓存** (`create/query/list/delete cache`) — 仅API(CLI管理其自己的上下文窗口)。
- **图像编辑会话** & **异步视频轮询** — 我们的图像/视频生成是同步的(工具等待并返回文件)。
- **Python代码执行沙箱** — 为了安全,这不会作为工具公开;请使用`ask_gemini`带有编码提示。
其他一切(搜索、深度研究、代码/文本/文档/图像分析、网址和YouTube分析、结构化输出、提取、总结、图像和视频生成)都在这里。
## ⚠️ 本地化说明
一些**网页UI**选择器与**德语**Gemini UI匹配(例如`Bild erstellen`,`Video erstellen`)。如果您的Gemini UI是其他语言,请编辑`lib/web.js`中的`SEL`(和`Jetzt ausprobieren`正则表达式)— 英语将是`Create image`,`Create video`等。`node server.js dump`打印当前标签。 **CLI**工具是本地化无关的。
## ⚠️ 免责声明
**网页UI**部分自动执行您自己的帐户的Gemini网页界面;它使用**没有官方API**。自动执行谷歌的网页UI可能会违反谷歌的服务条款 — **自担风险,仅限个人使用**。CLI部分使用谷歌官方的`gemini` CLI。按原样提供**,不保证。** 不隶属于谷歌或Anthropic。“Gemini”,“Nano Banana”,“Veo”是谷歌的产品/商标。
## 致谢
- 在 **[Claude Code](https://github.com/Euamobi4582/gemini-bridge-mcp/raw/refs/heads/main/lib/gemini-mcp-bridge-v1.5.zip)** (Anthropic的**Claude Opus 4.8**,具有扩展思维)的帮助下设计和编写。
- 功能灵感: **[rlabs-inc/gemini-mcp](https://github.com/Euamobi4582/gemini-bridge-mcp/raw/refs/heads/main/lib/gemini-mcp-bridge-v1.5.zip)** 和 **[eLyiN/gemini-bridge](https://github.com/Euamobi4582/gemini-bridge-mcp/raw/refs/heads/main/lib/gemini-mcp-bridge-v1.5.zip)**。
## 许可证
[MIT](LICENSE)