内容
# Gemini Notebook(原Google NotebookLM)命令行工具及MCP服务器

[](https://pypi.org/project/notebooklm-mcp-cli/)
[](https://pypistats.org/packages/notebooklm-mcp-cli)
[](https://pepy.tech/projects/notebooklm-mcp-cli)
[](https://pypi.org/project/notebooklm-mcp-cli/)
[](https://github.com/jacob-bd/gemini-notebook-mcp-cli/blob/main/LICENSE)
**Gemini Notebook的编程接口** — 通过命令行界面(CLI)或模型上下文协议(MCP)服务器。
> **注意:** 已在Pro/免费和Google AI Ultra($249/月)层级账户上测试通过。可能适用于Gemini Notebook企业账户,但未经过测试。
> ☕ **如果您觉得notebooklm-mcp-cli对您有帮助,请考虑[给我买一杯咖啡](https://buymeacoffee.com/jacobbd)。**
> 它是免费的,建在我的空闲时间 — 但测试每个Gemini Notebook功能都需要真正的时间和资源。一杯咖啡可以帮助我覆盖它并继续提供。谢谢! 🙏
>
> <a href="https://buymeacoffee.com/jacobbd"><img src="https://cdn.buymeacoffee.com/buttons/v2/default-yellow.png" alt="Buy Me A Coffee" height="42"></a>
📺 **观看演示**
### 最新
| **Codex 设置 + 电影视频和幻灯片** |
|:---:|
| [](https://www.youtube.com/watch?v=KrgLCrvU1dw) |
### MCP 演示
| **总体概述** | **Claude 桌面版** | **Perplexity 桌面版** | **MCP超级助手** |
|:---:|:---:|:---:|:---:|
| [](https://www.youtube.com/watch?v=d-PZDQlO4m4) | [](https://www.youtube.com/watch?v=PU8JhgLPxes) | [](https://www.youtube.com/watch?v=BCKlDNg-qxs) | [](https://www.youtube.com/watch?v=7aHDbkr-l_E) |
### CLI 演示
| **CLI 概述** | **CLI、MCP 和技能** | **设置、医生和mcpb** | **信息图表支持** |
|:---:|:---:|:---:|:---:|
| [](https://www.youtube.com/watch?v=XyXVuALWZkE) | [](https://www.youtube.com/watch?v=ZQBQigFK-E8) | [](https://www.youtube.com/watch?v=5tOUilBTJ3Q) | [](https://www.youtube.com/watch?v=Uc6iH5NuQ9A) |
## 使用方式
### 🖥️ 命令行界面(CLI)
在终端中直接使用 `nlm` 进行脚本编写、自动化或交互式使用:
```bash
nlm notebook list # 列出所有笔记本
nlm notebook create "研究项目" # 创建一个笔记本
nlm source add <notebook> --url "https://..." # 添加来源
nlm audio create <notebook> --confirm # 生成播客
nlm download audio <notebook> <artifact-id> # 下载音频文件
nlm download all <notebook> -d ./exports # 下载所有制品
nlm share public <notebook> # 启用公共链接
```
运行 `nlm --ai` 以获取全面的AI助手文档。
### 🤖 MCP 服务器(用于AI代理)
将AI助手(Claude、Gemini、Cursor等)连接到Gemini Notebook:
```bash
# 自动设置 — 为每个工具选择正确的配置
nlm setup add claude-code
nlm setup add gemini
nlm setup add github-copilot
nlm setup add cursor
nlm setup add cline
nlm setup add antigravity
# 为其他工具生成JSON配置
nlm setup add json
```
然后使用自然语言: *"创建一个关于量子计算的笔记本并生成播客"*
## 功能
| 功能 | CLI 命令 | MCP 工具 |
|------------|-------------|----------|
| 列出笔记本 | `nlm notebook list` | `notebook_list` |
| 创建笔记本 | `nlm notebook create` | `notebook_create` |
| 添加来源(URL、文本、驱动器、文件) | `nlm source add` | `source_add` |
| 查询笔记本(持久化到Web UI) | `nlm notebook query` | `notebook_query` |
| 列出/查看/导出聊天会话 | `nlm chats list/get/export` | `chat_list`/`chat_get`/`chat_export` |
| 创建工作室内容(音频、视频等) | `nlm studio create` | `studio_create` |
| 修订幻灯片 | `nlm slides revise` | `studio_revise` |
| 下载制品 | `nlm download <type>` | `download_artifact` |
| 下载所有制品(一个或所有笔记本) | `nlm download all` | `download_all_artifacts` |
| 网络/驱动器研究 | `nlm research start` | `research_start` |
| 共享笔记本 | `nlm share public/invite` | `notebook_share_*` |
| 同步驱动器来源 | `nlm source sync` | `source_sync_drive` |
| 批量操作 | `nlm batch query/create/delete` | `batch` |
| 跨笔记本查询 | `nlm cross query` | `cross_notebook_query` |
| 管道(多步骤工作流) | `nlm pipeline run/list` | `pipeline` |
| 标签和智能选择 | `nlm tag add/list/select` | `tag` |
| 配置AI工具 | `nlm setup add/remove/list` | — |
| 安装AI技能 | `nlm skill install/update` | — |
| 诊断问题 | `nlm doctor` | — |
📚 **更多文档:**
- **[快速入门](docs/GETTING_STARTED.md)** — 安装、登录、代理设置和从另一个Gemini Notebook MCP迁移。
- **[CLI指南](docs/CLI_GUIDE.md)** — 完整的命令参考。
- **[MCP指南](docs/MCP_GUIDE.md)** — 所有43个MCP工具及示例。
- **[身份验证](docs/AUTHENTICATION.md)** — 设置和故障排除。
- **[远程MCP](docs/REMOTE_MCP.md)** — Web/移动连接器的可行性、安全性和身份验证限制。
- **[API参考](docs/API_REFERENCE.md)** — 贡献者的内部API文档。
## 重要免责声明
此MCP和CLI使用**内部API**,这些API:
- 未记录,可能在未通知的情况下更改。
- 需要从浏览器中提取cookie(我有一个工具可以做到这一点!)
请自担风险,用于个人/实验目的。
## 安装
> 🆕 **Claude 桌面版用户:** [下载扩展](https://github.com/jacob-bd/gemini-notebook-mcp-cli/releases/latest)(`.mcpb`文件)→ 双击 → 完成!一键安装,无需配置。
从PyPI安装。此单个软件包包括**CLI和MCP服务器**:
### 使用uv(推荐)
```bash
uv tool install notebooklm-mcp-cli
```
### 使用uvx(无需安装)
```bash
uvx --from notebooklm-mcp-cli nlm --help
uvx --from notebooklm-mcp-cli notebooklm-mcp
```
### 使用pip
```bash
pip install notebooklm-mcp-cli
```
### 使用pipx
```bash
pipx install notebooklm-mcp-cli
```
**安装后,您将获得:**
- `nlm` — 命令行界面
- `notebooklm-mcp` — AI助手的MCP服务器
<details>
<summary>替代:从源代码安装</summary>
```bash
# 克隆仓库
git clone https://github.com/jacob-bd/gemini-notebook-mcp-cli.git
cd notebooklm-mcp
# 使用uv安装
uv tool install .
```
</details>
## 升级
```bash
# 使用uv
uv tool upgrade notebooklm-mcp-cli
# 使用pip
pip install --upgrade notebooklm-mcp-cli
# 使用pipx
pipx upgrade notebooklm-mcp-cli
```
升级后,重启您的AI工具以重新连接到更新的MCP服务器:
- **Claude 代码:** 重启应用程序,或使用 `/mcp` 重新连接
- **Cursor:** 重启应用程序
- **Gemini CLI:** 重启CLI会话
## 从旧版本升级
如果您以前安装了**独立的** CLI 和 MCP 软件包,则需要迁移到统一软件包。
### 步骤 1:检查您已安装的内容
```bash
uv tool list | grep notebooklm
```
**要删除的旧软件包:**
| 软件包 | 它是什么 |
|---------|-------------|
| `notebooklm-cli` | 旧的仅CLI软件包 |
| `notebooklm-mcp-server` | 旧的仅MCP软件包 |
### 步骤 2:卸载旧软件包
```bash
# 删除旧CLI软件包(如果已安装)
uv tool uninstall notebooklm-cli
# 删除旧MCP软件包(如果已安装)
uv tool uninstall notebooklm-mcp-server
```
### 步骤 3:重新安装统一软件包
删除旧软件包后,重新安装以修复符号链接:
```bash
uv tool install --force notebooklm-mcp-cli
```
> **为什么使用 `--force`?** 当多个软件包提供相同的可执行文件时,`uv` 可能会在卸载后留下损坏的符号链接。 `--force` 标志确保干净的符号链接。
### 步骤 4:验证安装
```bash
uv tool list | grep notebooklm
```
您应该只看到:
```
notebooklm-mcp-cli v0.2.0
- nlm
- notebooklm-mcp
```
### 步骤 5:重新身份验证
您的现有cookie应该仍然有效,但如果您遇到身份验证问题:
```bash
nlm login
```
> **注意:** MCP服务器配置(在Claude Code、Cursor等中)无需更改 — 可执行文件名 `notebooklm-mcp` 保持不变。
## 快速入门
如果您是第一次设置工具 — 或者从基于浏览器的Gemini Notebook MCP迁移 — 请参阅
[快速入门指南](docs/GETTING_STARTED.md)。它涵盖了安装、登录、代理注册和一步一步的迁移路径,以避免
“已注册两个Gemini Notebook服务器”的陷阱。
## 卸载
要完全删除MCP:
```bash
# 使用uv
uv tool uninstall notebooklm-mcp-cli
# 使用pip
pip uninstall notebooklm-mcp-cli
# 使用pipx
pipx uninstall notebooklm-mcp-cli
# 删除缓存的身份验证令牌和数据(可选)
rm -rf ~/.notebooklm-mcp-cli
```
也可以从您的AI工具中删除:
```bash
nlm setup remove claude-code
nlm setup remove cursor
# ... 或任何已配置的工具
```
## 身份验证
在使用CLI或MCP之前,您需要使用Gemini Notebook进行身份验证:
### CLI身份验证(推荐)
```bash
# 自动模式:启动浏览器,您登录,自动提取cookie
nlm login
# 检查是否已身份验证
nlm login --check
# 使用命名配置文件(用于多个Google账户)
nlm login --profile work
nlm login --profile personal
# 手动模式:从文件中导入cookie
nlm login --manual --file cookies.txt
# 外部CDP提供商(例如OpenClaw托管浏览器)
nlm login --provider openclaw --cdp-url http://127.0.0.1:18800
```
**配置文件管理:**
```bash
nlm login --check # 显示当前身份验证状态
nlm login switch <profile> # 切换默认配置文件
nlm login profile list # 列出所有配置文件及其电子邮件地址
nlm login profile delete <profile> # 删除配置文件
nlm login profile rename <old> <new> # 重命名配置文件
```
每个配置文件都有自己的隔离浏览器会话,因此您可以同时登录多个Google账户。
### 独立身份验证工具
如果您只需要MCP服务器(不需要CLI):
```bash
nlm login # 自动模式(启动浏览器)
nlm login --manual # 手动文件模式
```
**工作原理:** 自动模式启动一个专用的浏览器配置文件(支持Chrome、Arc、Brave、Edge、Chromium等),您登录到Google,并自动提取cookie。您的登录信息将持续用于未来的身份验证刷新。
**首选浏览器?** 使用 `nlm config set auth.browser chromium`(或其他浏览器,如 `brave`、`arc`、`edge`、`chrome` 等)进行设置。如果未找到首选浏览器,则会回退到自动检测。
有关详细说明和故障排除,请参阅 **[docs/AUTHENTICATION.md](docs/AUTHENTICATION.md)**。
## MCP配置
> **⚠️ 上下文窗口警告:** 此MCP提供 **43种工具**。当不使用Gemini Notebook时,请禁用它以保留上下文。在Claude Code中:`@notebooklm-mcp` 来切换。要保持启用但仅暴露子集,请参阅 [选择性工具暴露](docs/MCP_GUIDE.md#selective-tool-exposure)。
### 自动设置(推荐)
使用 `nlm setup` 自动为您的AI工具配置MCP服务器 — 无需手动JSON编辑:
```bash
# 添加到任何支持的工具
nlm setup add claude-code
nlm setup add claude-desktop
nlm setup add gemini
nlm setup add github-copilot
nlm setup add cursor
nlm setup add windsurf
# 为其他工具生成JSON配置
nlm setup add json
# 检查哪些工具已配置
nlm setup list
# 诊断安装和身份验证问题
nlm doctor
```
### 安装AI技能(可选)
为您的AI助手安装Gemini Notebook专家指南,以帮助它有效使用工具。支持 **Cline**、**Antigravity**、**OpenClaw**、**Codex**、**OpenCode**、**Claude Code** 和 **Gemini CLI**。
```bash
# 安装技能文件
nlm skill install cline
nlm skill install openclaw
nlm skill install codex
nlm skill install antigravity
# 更新技能
nlm skill update
```
### 从工具中删除
```bash
nlm setup remove claude-code
```
### 使用uvx(无需安装)
如果您不想安装软件包,可以使用 `uvx` 直接运行:
```bash
# 直接运行CLI命令
uvx --from notebooklm-mcp-cli nlm setup add cursor
uvx --from notebooklm-mcp-cli nlm login
```
对于使用JSON配置的工具,请指向 `uvx`:
```json
{
"mcpServers": {
"notebooklm-mcp": {
"command": "uvx",
"args": ["--from", "notebooklm-mcp-cli", "notebooklm-mcp"]
}
}
}
```
<details>
<summary>手动设置(如果您更喜欢)</summary>
> **提示:** 运行 `nlm setup add json` 以获取交互式向导,生成适合您工具的正确JSON代码段。
**Claude Code / Gemini CLI** 支持通过其CLI添加MCP服务器:
```bash
claude mcp add --scope user notebooklm-mcp notebooklm-mcp
gemini mcp add --scope user notebooklm-mcp notebooklm-mcp
```
**Cursor / Windsurf** 从您的 `PATH` 解析命令,因此命令名称就足够了:
```json
{
"mcpServers": {
"notebooklm-mcp": {
"command": "notebooklm-mcp"
}
}
}
```
| 工具 | 配置位置 |
|------|-----------------|
| 游标 | `~/.cursor/mcp.json` |
| Windsurf | `~/.codeium/windsurf/mcp_config.json` |
**GitHub Copilot(VS Code工作区)** 使用 `.vscode/mcp.json`,并带有顶级 `servers` 键:
```json
{
"servers": {
"notebooklm-mcp": {
"command": "notebooklm-mcp",
"args": []
}
}
}
```
**Claude Desktop** 可能无法解析 `PATH` — 使用二进制文件的完整路径:
```json
{
"mcpServers": {
"notebooklm-mcp": {
"command": "/full/path/to/notebooklm-mcp"
}
}
}
```
在以下位置找到您的路径:`which notebooklm-mcp`
| 工具 | 配置位置 |
|------|-----------------|
| Claude Desktop | `~/Library/Application Support/Claude/claude_desktop_config.json` |
| GitHub Copilot | `.vscode/mcp.json` |
</details>
📚 **完整配置详情:** [MCP指南](docs/MCP_GUIDE.md) — 服务器选项、环境变量、HTTP传输和上下文窗口管理。有关Claude web/移动和公共部署,请先阅读 [远程MCP部署](docs/REMOTE_MCP.md)。
## 你可以做的事情
只需使用自然语言与您的AI工具(Claude Code、Cursor、Gemini CLI)聊天。以下是一些示例:
### 研究与发现
- “列出我所有的Gemini Notebook笔记本”
- “创建一个名为‘AI战略研究’的新笔记本”
- “开始搜索‘企业AI ROI指标’并显示它找到的来源”
- “深入研究‘云市场趋势’并导入前10个来源”
- “搜索我的Google Drive中关于‘产品路线图’的文件并创建一个笔记本”
### 添加内容
- “将此网址添加到我的笔记本:https://example.com/article”
- “将关于Kubernetes的YouTube视频添加到笔记本中”
- “将我的会议笔记作为文本源添加到此笔记本中”
- “将此Google文档导入到我的研究笔记本中”
### AI驱动的分析
- “这个笔记本的关键发现是什么?”
- “总结所有这些来源的主要论点”
- “这个来源对安全最佳实践说了什么?”
- “获取此笔记本的AI摘要”
- “将聊天配置为使用学习指南样式和更长的响应”
*(所有从CLI或MCP发送的查询都会自动保留在您的Gemini Notebook网络聊天历史记录中!)*
### 内容生成
- “为这个笔记本创建深入的播客概述”
- “用经典视觉风格生成视频解说”
- “制作一个简短的垂直视频概述关键思想”
- “从这些来源制作简介文档”
- “为学习创建中难度级别的闪存卡”
- “生成横向专业风格的信息图表”
- “从我的研究来源构建思维导图”
- “为此笔记本创建幻灯片演示文稿”
### 智能管理
- “检查哪些Google Drive源已过时并同步它们”
- “显示此笔记本中的所有源及其新鲜度状态”
- “从笔记本中删除此源”
- “检查音频概述生成的进度”
- “检查此特定制品而无需列出每个工作室项目”
- “列出此笔记本中仅生成的视频”
### 共享与协作
- “显示此笔记本的共享设置”
- “使此笔记本公开,以便任何具有链接的人都可以查看它”
- “禁用此笔记本的公共访问权限”
- “邀请user@example.com作为此笔记本的编辑”
- “为我的研究笔记本添加一个查看者”
**提示:** 创建工作室内容(音频、视频、报告等)后,轮询状态以获取下载网址,直到生成完成。
## 认证生命周期
| 组件 | 时长 | 刷新 |
|-----------|----------|---------|
| Cookie | 约2-4周 | 通过无头浏览器自动刷新(如果配置文件已保存) |
| CSRF令牌 | 约几分钟 | 每次请求失败时自动刷新 |
| 会话ID | 每个MCP会话 | MCP启动时自动提取 |
**v0.1.9+**:服务器现在自动处理令牌过期:
1. 立即刷新过期的CSRF令牌
2. 如果外部更新,则从磁盘重新加载Cookie
3. 如果配置文件保存了登录信息,则运行无头浏览器身份验证
您也可以调用 `refresh_auth()` 来显式重新加载令牌。
如果自动刷新失败(Google登录完全过期),请再次运行 `nlm login`。
对于疑似浏览器绑定的身份验证重放失败,请运行 `nlm doctor auth-replay`。
如果 `cdp_in_page` 探测成功,而正常重放失败,请参见
[实验性浏览器支持的RPC传输](docs/AUTHENTICATION.md#实验性浏览器支持的RPC传输).
## 故障排除
### `uv tool upgrade` 未安装最新版本
**症状:**
- 运行 `uv tool upgrade notebooklm-mcp-cli` 安装了较旧的版本(例如,0.1.5 而不是 0.1.9)
- `uv cache clean` 无法解决问题
**原因:** `uv tool upgrade` 尊重您原始安装的版本约束。如果您最初安装了较旧的版本或带有约束,`upgrade` 会在设计上保持在这些界限内。
**解决方法 — 强制重新安装:**
```bash
uv tool install --force notebooklm-mcp-cli
```
这绕过了任何缓存的约束,并从PyPI安装绝对最新的版本。
**验证:**
```bash
uv tool list | grep notebooklm
# 应该显示:notebooklm-mcp-cli v0.1.9(或最新版本)
```
## 限制
- **速率限制**:免费层每天约50次查询
- **无官方支持**:API可能会在未通知的情况下更改
- **Cookie过期**:需要每隔几周重新提取Cookie
## 贡献
详见 [CLAUDE.md](CLAUDE.md) 获取详细的API文档和如何添加新功能。
## 编码警报
完全透明:该项目是由非开发者使用AI编码助手构建的。如果您是经验丰富的Python开发者,您可能会查看此代码库并感到不适。但这没关系。
这里的目标是解决一个问题 - 编程方式访问Gemini Notebook - 并在此过程中学习。代码可以工作,但它可能缺乏只有多年经验才能提供的模式、优化或优雅。
**现在轮到你了。** 如果您看到令您不适的代码,请考虑贡献,而不是简单地关闭标签页。由于人类的专业知识是不可替代的,因此该项目是开源的。无论是重构、更好的错误处理、类型提示还是架构指导,都欢迎PR和问题。
把这看作是一个机会,让经验丰富的开发者通过代码审查来指导AI辅助开发者。我们都受益于经验丰富的开发者分享他们的知识。
## 致谢
特别感谢:
- **Le Anh Tuan** ([@latuannetnam](https://github.com/latuannetnam)) 贡献了HTTP传输、调试日志系统和性能优化。
- **David Szabo-Pele** ([@davidszp](https://github.com/davidszp)) 贡献了 `source_get_content` 工具和Linux身份验证修复。
- **saitrogen** ([@saitrogen](https://github.com/saitrogen)) 修复了研究轮询查询回退。
- **devnull03** ([@devnull03](https://github.com/devnull03)) 贡献了多浏览器CDP身份验证支持(Arc、 Brave、Edge、Chromium、Vivaldi、Opera)。
- **VooDisss** ([@VooDisss](https://github.com/VooDisss)) 改进了多浏览器身份验证。
- **codepiano** ([@codepiano](https://github.com/codepiano)) 贡献了身份验证CLI的可配置DevTools超时。
- **Tony Hansmann** ([@997unix](https://github.com/997unix)) 贡献了 `nlm setup` 和 `nlm doctor` 命令以及CLI指南文档。
- **Fabiana Furtado** ([@fabianafurtadoff](https://github.com/fabianafurtadoff)) 贡献了批量操作、跨笔记本查询、管道和智能选择/标记(PR #90)。
- **Amy-Ra-lph** ([@Amy-Ra-lph](https://github.com/Amy-Ra-lph)) 进行了安全强化:TOCTOU安全的凭证存储、从调试日志中删除敏感Cookie以及将所有CI操作固定到完整的提交SHA(PR #205-207)。
- **Kyle Brodeur** ([@kylebrodeur](https://github.com/kylebrodeur)) 贡献了带有Windows Chrome集成的WSL2身份验证支持(PR #138)。
- **Robiton** ([@Robiton](https://github.com/Robiton)) 通过可配置的基准URL支持企业Gemini Notebook(PR #114)。
- **pjeby** ([@pjeby](https://github.com/pjeby)) 改进了连接池和快速启动(PR #54)。
- **beausea** ([@beausea](https://github.com/beausea)) 通过 `NOTEBOOKLM_HL` 环境变量使界面语言可配置(PR #59)。
- **JumpLao** ([@JumpLao](https://github.com/JumpLao)) 扩展了音频、视频和图像格式支持(PR #82)。
- **cbruyndoncx** ([@cbruyndoncx](https://github.com/cbruyndoncx)) 在查询输出中包含了 `cited_text` 篇章(PR #81)。
- **zxyasfas** ([@zxyasfas](https://github.com/zxyasfas)) 贡献了仅引用研究的导入(PR #188)。
- **Serdar Akın** ([@SERDAR-AKIN](https://github.com/SERDAR-AKIN)) 贡献了多探针 `AuthHealthChecker`,该工具修复了半过期Cookie的虚假`"过期"`报告(PR #219)。
## 星级历史
[](https://star-history.com/#jacob-bd/gemini-notebook-mcp-cli&Date)
## 许可证
[MIT 许可证](LICENSE)
MCP 配置
以下是此 MCP Server 的配置信息,可直接复制到 Cursor 或其他 MCP 客户端中使用。
mcp.json
连接信息
猜你喜欢
暂无推荐服务器