Claude Code 省 token 的秘密:让 NotebookLM 替它读书

Claude Code 省 token 的秘密:让 NotebookLM 替它读书

我先把结果摆在这里。
我前几天扔了一个 18 分钟的 YouTube 视频给 Claude Code,让它帮我做深度分析。整套操作下来,Claude 的 token 几乎没动。
不是因为视频短。
是因为我把「读视频」这件事,外包给了 NotebookLM。
Claude Code 调一个 MCP 把视频 URL 推过去,5 秒后 NotebookLM 那边返回带引用的结构化摘要,再加一张心智图。整个过程 Claude 只干了一件事:派活、收货、转交给我。
这就是今天要讲的事——给 Claude Code 接一个 NotebookLM MCP,5 分钟搞定。
不是为了多一个工具,是为了把它变成 Claude 的外包大脑。
这接法到底改变了什么
先讲一个画面。
你开一家小餐厅,自己当大厨。客人多了,你既要切菜、又要颠勺、又要上菜、还要结账。最后哪样都没做好。
聪明的做法是什么?招一个择菜的、一个洗碗的,自己只盯火候。
Claude Code 现在的处境就是那个累成狗的大厨。
它能写代码、能读文件、能调外部 API、能上网搜索。看起来什么都能干。但你真把一个 30 分钟的视频或者一份 200 页的 PDF 扔过去,它会发生什么?
**字幕几万 token 一口气塞满上下文。**前半段还记得你问过什么,后半段就开始遗忘。再看一眼计费——一次研究就吃掉了你当天订阅额度的三分之一。
NotebookLM 是 Google 出的什么东西?它是一个专门读书的 AI 助理。
你扔什么进去——PDF、网页、YouTube 视频、Google Docs、纯文本——它都消化掉,存成可以问答的知识库。问它任何问题,答案都带着原文引用,幻觉率极低。
更关键的一点:NotebookLM 跑的是 Gemini,不烧你 Claude 的钱。
把这两件事叠在一起,就是这次接入的全部逻辑:
| 能力 | 单用 Claude Code | Claude Code + NotebookLM |
|---|---|---|
| 长视频(>30 分钟)分析 | 字幕塞满上下文,token 飙升 | 异步外包,零 Claude token |
| 一次塞 50 份源做综合 | 单次上下文吃不下 | RAG 原生支持,跨源问答 |
| 生成信息图 / 心智图 / 播客 | 不支持 | 一键调 Studio(免费 3/天,Plus 20/天) |
| 代码生成 / 本地文件操作 | ✅ | ✅(这部分依然 Claude 的本职) |
| 引用可回溯到原句 | 弱 | 强制 citation,每条都有出处 |
注意最后一栏。
Claude Code 该干什么继续干什么。NotebookLM 是新招的研究员,不是来抢厨师位的。
划重点
- 接入 NotebookLM 不是给 Claude Code 加功能,是给它招员工
- 研究类工作(读视频、读 PDF、跨源综合)外包给 NotebookLM,省 Claude token
- Claude 只负责调度、整理、对外输出——它的本职
5 分钟接入:三步走
社区里目前有三条主流路线。先把全景摆出来,避免你装错:
| 路线 | 包名 | 命令 | 适合谁 |
|---|---|---|---|
| A. npm/TS 版 | notebooklm-mcp(PleasePrompto) | npx notebooklm-mcp | 只想试试水,不愿装 Python |
| B. Python 版(本文主推) | notebooklm-mcp-cli(jacob-bd) | nlm | 功能最全,多账号 profile 一等公民 |
| C. Python 另一支 | notebooklm-py(teng-lin) | notebooklm | 与 B 高度重叠,二选一 |
我自己用的是 B。
为什么不选视频里演示的 C?三个理由。
第一,命令名短一截。 nlm login 比 notebooklm login 短七个字符——一天敲十几次的命令,省下来就是体感。
第二,多账号 profile 是一等公民。 我有工作号、个人号两个 Google 账号,B 直接 nlm login switch work 切,不用导环境变量、不用改配置。
第三,工具集对 agent 调度更友好。 cross_notebook_query(跨笔记本查询)、research_start(深度研究)、pipeline(多步流水线)这些原生封装在 B 里都有,Claude Code 一调一个准。
下面三步,照着敲就行。
[截图:终端里 nlm --version 输出版本号,证明安装成功]
步骤 1:装 CLI(1 分钟)
# 推荐 uv(速度快,隔离干净)
uv tool install notebooklm-mcp-cli
# 或者 pip
pip install notebooklm-mcp-cli
装完跑一句 nlm --version 确认。写本文时最新版是 0.5.27。
这个 CLI 迭代很快,建议每月跑一次:
uv tool upgrade notebooklm-mcp-cli
步骤 2:登录 Google 账号(2 分钟)
nlm login
会自动弹出一个浏览器(Chrome / Arc / Edge / Brave 之一,脚本挑你装了的那个),登 Google 就行。
Cookie 写到 ~/.notebooklm-mcp-cli/profiles/default/auth.json。之后免登录,直到 session 过期。
多账号?再开一个 profile:
nlm login --profile work
nlm login switch work # 切到工作号
nlm login switch default # 切回个人号
步骤 3:注册到 Claude Code(1 分钟)
最快的方法:
nlm setup add claude-code
它会自动改你的 Claude Code MCP 配置。手动派也可以——在 claude_desktop_config.json 或对应配置里加:
"mcpServers": {
"notebooklm-mcp": {
"command": "notebooklm-mcp"
}
}
验证
重启 Claude Code,输入 /mcp。
看到 notebooklm-mcp 状态是 ✅ connected,就成了。
试一句:「帮我列一下 NotebookLM 里有哪些 notebook。」
返回列表 = 收工。
一定会踩的三个坑
我接入过几十次,每次都踩。直接告诉你:
坑一:「Authentication expired」
Session 大概 20 分钟过期。看到这条错误,跑一句 nlm login 重登。
这不是 bug,是 Google 的安全策略,不会改。 写脚本调用前可以先 nlm login --check 检查一下。
坑二:账号切换必须走 CLI
不要在 Claude Code 里说「切到我的工作号」——它没办法。必须在终端跑 nlm login switch <profile>。 切完之后下一次 MCP 调用就是新账号了。
坑三:非官方 API 风险
这套 MCP 用的是浏览器 cookie 调 NotebookLM 的内部 API,不是 Google 官方 API。
Google 改 UI、改协议,工具就可能炸。每次 NotebookLM 大版本更新,盯一下 GitHub issues。
实战:从一条 YouTube URL 到一张信息图
讲操作不如看一遍真的。
我现在就把这条流程走给你看——就是这篇文章的素材准备过程。
第一步:投送视频
我在 Claude Code 里说了一句:
把这个 YouTube 视频
https://www.youtube.com/watch?v=22bjps4LMmU推到 NotebookLM 的「Claude Code 接入 NotebookLM 教程素材」笔记本,等处理完。
Claude 调用了两个工具:
notebook_create——新建笔记本,拿到 IDsource_add(source_type="url", url=..., wait=true)——投送视频,等 NotebookLM 把字幕抓完、向量化完
整个过程 30 秒。
Claude 自己没看视频。 它只是把活派出去,等回执。
第二步:让 NotebookLM 出结构化摘要
接着我说:
问 NotebookLM 这个视频讲了什么。我要:作者、核心步骤、用到的工具、踩过的坑、章节顺序。
Claude 调 notebook_query,传了一段我写的提问 prompt。
返回的答案带着 10 处 citation,每条都标了原文出处。比我自己听一遍 + 做笔记快 20 倍。
更重要的是——这个查询消耗了 0 Claude token 用于视频内容本身。Claude 只看到了 NotebookLM 的总结输出,不是几万字的字幕原文。
[截图:Claude Code 对话框里 notebook_query 返回的带 citation 的答案]
第三步(可选):让它出图
我没在这次走这一步,但流程是这样:
让 NotebookLM 给这个视频生成一张信息图和一张心智图。
Claude 调 studio_create(artifact_type="infographic") 和 studio_create(artifact_type="mind_map"),然后用 studio_status 轮询,最后 download_artifact 把 PNG 下载到本地 素材/ 目录。
成本:你 NotebookLM 当天的 Studio 配额各一次(免费版 3 次/天,Plus 20 次/天)。Claude 那边?依然是 0。
视频里没讲的两个高阶用法
视频作者只演示了单视频投送。但 MCP 真正强的地方在这两点:
多视频批量分析
source_add(
notebook_id="...",
source_type="url",
urls=["https://...", "https://...", "https://..."] # 一次塞 20 条
)
20 条视频塞进同一个 notebook,然后 notebook_query 让它做横向对比。这是 Claude Code 单干根本做不了的事——单条视频字幕就能爆它的上下文。
跨笔记本查询
cross_notebook_query(
query="AI 在家居行业的最新进展",
notebook_ids=["notebook_AI研究", "notebook_智能家居", "notebook_地产趋势"]
)
这个 API 同时在你三个笔记本里搜,返回综合答案。相当于给你的所有研究素材建了一个全局搜索引擎。 视频里完全没提,是 jacob-bd 这个版本独家的能力。
视频里没告诉你的 5 个延伸玩法
接到这里,基础流程通了。
但如果你只把它当「视频摘要工具」用,就浪费了 80%。
下面 5 个场景,是我和社区里挖出来的实际用法。每一个都对应一种真实痛点。
玩法一:给第三方库文档建活字典
Claude 的训练数据有截止日期,新版本的库它可能不熟。你写一个 React Server Components 的最新功能,它给你的代码可能是去年的写法。
解法:把这个库的官方 docs、changelog、几个关键 PR 的讨论扔到一个 NotebookLM notebook 里。每次写代码前问一句:「这个 API 在 v3.2 里签名变成什么样了?」
NotebookLM 直接给你答案带原文引用。Claude 拿着权威答案再去写,错误率指数级下降。
玩法二:把长播客压缩成团队通勤听的播客
你订阅了一个 2 小时的创业者访谈。听完要 2 小时。
studio_create(artifact_type="audio")——10 分钟的 AI 对话播客版本,自动生成两个 AI 主持人聊原内容的「Deep Dive」。download_artifact 下载成 MP3,群里一发。
我用过这套给团队做行业 onboarding——一周看了 8 个长视频的内容,每人通勤路上听完。
玩法三:本地第二大脑 + 云端搜索的混合架构
最聪明的玩法不是把所有东西都堆到 NotebookLM。
我自己的设定是这样:本地用 Obsidian 存定稿笔记和私密素材,NotebookLM 存「在读的原始素材」——还没消化完的视频、PDF、长文。Claude Code 是中间的调度层。
我问问题时,Claude 先在本地翻一遍。本地没有,再 notebook_query 去 NotebookLM 搜。两层缓存,token 用得最省,覆盖率又最广。
玩法四:研究 → 自动变 Claude Skill
这个最爽。
你在 NotebookLM 里把某个方法论吃透了——比如「AARRR 增长黑客模型」。
让 Claude Code:「把刚才 NotebookLM 关于 AARRR 的研究结果转成一个 Claude Skill,存到 ~/.claude/skills/ 下。」
它会调 skill-creator 写出一个独立 Skill,以后你说「用 AARRR 帮我评估这个产品」,Skill 自动加载,不用每次重新研究。 等于把研究成果固化成 agent 的本能。
玩法五:跨语言素材的隐形翻译台
扔一堆英文 paper、日文教程进 NotebookLM。
generate_language="zh-CN" 参数指定中文输出。NotebookLM 用 Gemini 3 级模型做翻译 + 摘要 + 配图。
比单纯用 WebFetch 抓页面再让 Claude 翻——省 token、更准、还自动出引用。
划重点
- 把 NotebookLM 当 Claude Code 的「外包研究部门」,不是当「视频摘要工具」
- 5 个高阶玩法对应 5 种真实痛点:库文档新鲜度、团队 onboarding、本地+云端混合、研究固化、跨语言翻译
- 选一个你最痛的场景先用起来,比一次想清楚怎么用所有玩法更重要

最后说一件事:分工才是 AI agent 的正确姿势

你装 MCP 的时候,是不是这种心态——多一个 = 多一把刀?
我以前也是。
直到有一次,我同时装了两个功能重叠的 MCP,Claude 在它俩之间犹豫了半分钟,最后调错了一个,结果全错。
我删掉一个,反而顺了。
那一刻我才想明白:多一个 MCP,不是多一把刀,是多招了一个员工。
员工不是用来平行备胎的,是用来分工的。一个工作两个人抢着干,互相绊脚。一个工作没人负责,掉地上。
回到这次的接入。
Claude Code 的本职是调度 + 输出——写代码、改文件、和你对话。这部分它最强,别让它分心。
NotebookLM 的本职是吸收 + 压缩——读原始素材、做结构化、加引用。这部分它甩 Claude 几条街。
让 Claude 做 Claude 该做的,让 NotebookLM 做 NotebookLM 该做的。两个工具各自的价值才能发挥到最大。
这才是你装 MCP 真正该问的问题——
不是「这个工具能干什么」,而是「这个工具能从我现在的 agent 里接走哪一部分活」。
接得走,留下;接不走,删了。
现在你可以做这三件事
讲了这么多,最后给你三个具体的下一步。今晚就能做完。
第一件:打开终端,把 notebooklm-mcp-cli 装上。从 nlm login 跑到 /mcp 看到绿勾,5 分钟。
第二件:找一个你最近想深度看但一直没时间的 YouTube 视频或 PDF,扔给 Claude Code,让它推到 NotebookLM 做摘要。亲眼看一次零 token 消耗的研究流程。
第三件:花 10 分钟列一张你的 agent 分工图——你装的每个 MCP 在干什么活,有没有重叠。该删的删,该补的补。
第三件最值钱。
因为接 NotebookLM 只是一个例子。它告诉你的不是「装这个工具」,而是——
让专业的工具做专业的事,你的主 agent 才能轻装上阵。
你手头的 Claude Code 装了几个 MCP?哪几个真的在分工,哪几个只是摆设?欢迎留言聊聊你的踩坑和心得。