内容
# 笔记本LM CLI & 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/notebooklm-mcp-cli/blob/main/LICENSE)
[](https://buymeacoffee.com/jacobbd)
**编程访问 Google NotebookLM** — 通过命令行界面(CLI)或模型上下文协议(MCP)服务器。
> **注意:** 已在 Pro/免费和 Google AI Ultra($249/月)层级帐户上测试。可能适用于 NotebookLM 企业帐户,但未经过测试。
📺 **观看演示**
### 最新
| **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 share public <notebook> # 启用公共链接
```
运行 `nlm --ai` 以获取全面的 AI 助手文档。
### 🤖 MCP 服务器(用于 AI 代理)
将 AI 助手(Claude、Gemini、Cursor 等)连接到 NotebookLM:
```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 studio create` | `studio_create` |
| 修订幻灯片 | `nlm slides revise` | `studio_revise` |
| 下载工件 | `nlm download <type>` | `download_artifact` |
| 网络/驱动器研究 | `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)** — 安装、登录、代理设置和从另一个 NotebookLM MCP 迁移
- **[CLI 指南](docs/CLI_GUIDE.md)** — 完整的命令参考
- **[MCP 指南](docs/MCP_GUIDE.md)** — 所有 35 个 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/notebooklm-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/notebooklm-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` 保持不变。
## 快速入门
如果您是第一次设置工具 — 或者从基于浏览器的 NotebookLM MCP 迁移 — 请参阅
[快速入门指南](docs/GETTING_STARTED.md)。它涵盖了安装、登录、代理注册和一步一步的迁移路径,以避免
“两个 NotebookLM 服务器已注册”的陷阱。
## 卸载
要完全删除 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 之前,您需要使用 NotebookLM 进行身份验证:
### 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 提供 **39 种工具**。在不使用 NotebookLM 时,请禁用它以保留上下文。在 Claude Code 中:`@notebooklm-mcp` 以切换。
### 自动设置(推荐)
使用 `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 助手安装 NotebookLM 专家指南,以帮助它有效使用工具。支持 **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 | `~/.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/mobile 和公共部署,请先阅读 [远程 MCP 部署](docs/REMOTE_MCP.md)。
## 你可以做的事情
只需使用自然语言与您的 AI 工具(Claude Code、Cursor、Gemini CLI)聊天。以下是一些示例:
### 研究与发现
- “列出我的所有 NotebookLM 笔记本”
- “创建一个名为‘AI 战略研究’的新笔记本”
- “开始搜索‘企业 AI ROI 指标’并显示它找到的来源”
- “深入研究‘云市场趋势’并导入前 10 个来源”
- “搜索我的 Google Drive 中关于‘产品路线图’的文件并创建一个笔记本”
### 添加内容
- “将此 URL 添加到我的笔记本:https://example.com/article”
- “将关于 Kubernetes 的 YouTube 视频添加到笔记本”
- “将我的会议笔记作为文本源添加到此笔记本”
- “将此 Google 文档导入到我的研究笔记本”
### AI 驱动的分析
- “此笔记本的关键发现是什么?”
- “总结所有这些来源的主要论点”
- “此来源对安全最佳实践说了什么?”
- “获取此笔记本的 AI 摘要”
- “将聊天配置为使用学习指南样式和更长的响应”
*(从 CLI 或 MCP 发送的所有查询都会自动保留在您的 NotebookLM 网络聊天历史记录中!)*
### 内容生成
- “为这个笔记本创建深度格式的音频播客概述”
- “用经典视觉样式生成视频解说器”
- “从这些来源制作简介文档”
- “为学习创建中难度级别的闪存卡”
- “生成横向专业样式的信息图表”
- “从我的研究来源创建一个思维导图”
- “从这个笔记本创建一个幻灯片演示文稿”
### 智能管理
- “检查哪些 Google Drive 来源已过时并同步它们”
- “显示此笔记本中的所有来源及其新鲜度状态”
- “从笔记本中删除此来源”
- “检查我的音频概述生成状态”
### 共享与协作
- “显示此笔记本的共享设置”
- “使此笔记本公开,以便任何具有链接的人都可以查看它”
- “禁用此笔记本的公共访问权限”
- “邀请 user@example.com 作为此笔记本的编辑”
- “将查看者添加到我的研究笔记本”
**提示:** 创建工作室内容(音频、视频、报告等)后,请轮询状态以获取下载 URL,当生成完成时。
## 身份验证生命周期
| 组件 | 持续时间 | 刷新 |
|-----------|----------|---------|
| Cookie | ~2-4 周 | 自动刷新(如果保存了配置文件,则通过无头浏览器) |
| CSRF Token | ~分钟 | 请求失败时自动刷新 |
| 会话 ID | 每个 MCP 会话 | 在 MCP 启动时自动提取 |
**v0.1.9+**:服务器现在自动处理令牌过期:
1. 刷新 CSRF 令牌过期后立即刷新
2. 如果外部更新 cookie,则从磁盘重新加载
3. 如果配置文件保存了登录信息,则运行无头浏览器身份验证
您也可以调用 `refresh_auth()` 来显式重新加载令牌。
如果自动刷新失败(Google 登录完全过期),请再次运行 `nlm login`。
## 故障排除
### `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 文档和如何添加新功能。
## Vibe 编码警报
完全透明:这个项目是由非开发者使用 AI 编程助手构建的。如果你是一位经验丰富的 Python 开发者,你可能会查看这个代码库并感到不适。但这没关系。
这里的目标是解决一个需求 - NotebookLM 的程序化访问 - 并在此过程中学习。代码可以运行,但它可能缺乏只有多年经验才能提供的模式、优化或优雅。
**这就是你发挥作用的地方。** 如果你看到某些让你感到不适的代码,请考虑贡献,而不是简单地关闭标签页。这个项目是开源的,特别是因为人类专家的知识是不可替代的。无论是重构、更好的错误处理、类型提示还是架构指导,欢迎提交 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)) 为 WSL2 身份验证支持与 Windows Chrome 集成(PR #138)做出了贡献。
- **Robiton** ([@Robiton](https://github.com/Robiton)) 为企业 NotebookLM 支持通过可配置的 base URL(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 的错误 `"stale"` 报告(PR #219)。
## 星级历史
[](https://star-history.com/#jacob-bd/notebooklm-mcp-cli&Date)
## 许可证
[MIT 许可证](LICENSE)
MCP 配置
以下是此 MCP Server 的配置信息,可直接复制到 Cursor 或其他 MCP 客户端中使用。
mcp.json
连接信息
猜你喜欢
暂无推荐服务器