notebooklm-mcp
通过 MCP 协议将 Google NotebookLM 变成 AI Agent 可调用的本地工具,
加载项目详情…
本应用为开源项目,仅供学习研究,请遵守其开源协议。
通过 MCP 协议将 Google NotebookLM 变成 AI Agent 可调用的本地工具,
加载项目详情…
本应用为开源项目,仅供学习研究,请遵守其开源协议。
你有没有过这种经历:写了一堆笔记、PDF、文章,想让 AI 帮你分析总结,但粘贴进去太麻烦、直接问又容易瞎编?Google NotebookLM 就是来解决这个问题的——它允许你上传一组资料(文档、网页、PDF),然后让 Gemini 2.5 基于这些资料回答问题,并且会标注每个答案来自哪段原文,杜绝幻觉。
问题是:NotebookLM 本身是一个网页应用,AI Agent(如 Claude Code、OpenAI Codex)没有办法直接调用它。这正是 NotebookLM MCP Server 解决的问题——它把 NotebookLM 的核心能力封装成了 MCP(Model Context Protocol) 服务器,让任何支持 MCP 的 AI 工具都能像调用本地工具一样,无缝操作你的 NotebookLM 工作区:提问、添加资料、生成播客摘要、管理会话。
NotebookLM 由 Google Labs 开发,核心引擎是 Gemini 2.5。与普通大模型聊天不同,NotebookLM 要求用户先「喂」资料——可以是网页链接、PDF、文本片段,甚至 YouTube 视频。它会把这些资料全部理解后,再回答用户提问。更关键的是,它的回答会直接引用原文,标注 [1] [2] 等来源,让你一眼看出答案的出处。
这对于需要深度研究的技术团队来说非常实用:上传一个技术标准文档,问「这个协议支持哪些加密算法」;上传一组论文,问「这几篇论文在注意力机制上有什么分歧」;上传自己的项目文档,问「这个模块的设计决策是什么」。回答精准、可溯源,比直接让大模型「凭记忆回答」靠谱得多。
NotebookLM MCP Server 提供五类工具,覆盖了完整的 NotebookLM 工作流:
问答工具(ask_question):这是最核心的工具。向指定的笔记本提问,Gemini 2.5 会基于上传的资料给出带引用的答案。支持多种引用格式:inline(内联)、footnotes(脚注)、json(结构化),还支持 DOM 级引用提取,可精确到页面元素级别。
资料管理工具:包括 add_source(添加资料,支持 URL 爬取或粘贴文本)、delete_source(删除资料)、list_sources(列出当前笔记本所有资料)。v2 版本新增了对 URL 来源和纯文本的直接支持。
笔记本管理工具:add_notebook(通过分享链接注册笔记本)、delete_notebook(从本地库中移除)、list_notebooks(查看已注册的笔记本及基本信息)、get_notebook_url(获取指定笔记本的直接链接)。
会话管理工具:NotebookLM 支持多轮上下文对话。MCP 服务器提供 list_sessions(查看会话列表)、delete_session(清理会话)、get_session_info(查看会话统计信息)。支持在多个笔记本之间共享会话。
音频摘要工具(generate_audio):NotebookLM 最具特色的功能之一——「Audio Overview」,用两个 AI 虚拟主播以播客对话风格总结资料内容。v2 版本支持自定义提示词(custom_prompt)来引导播客的讨论方向。
这个项目最令人印象深刻的技术决策,是它选择用 Patchright(Puppeteer 的隐私导向 fork)来驱动一个真实的 Chrome 浏览器,而不是调用 NotebookLM 的私有 API。
这样做的好处是:只要 Google 不改变 NotebookLM 前端界面,功能就不会失效。但代价也很明显——这是一个浏览器自动化方案,不是 API 调用:
代码架构采用模块化设计:src/auth/ 负责认证和账号切换、src/browser/ 处理浏览器驱动和反检测逻辑、src/session/ 管理会话状态、src/library/ 管理笔记本库元数据、src/tools/ 定义 MCP 工具句柄、src/transport/ 支持 stdio 和 Streamable-HTTP 两种 MCP 传输协议。
依赖栈非常精简:TypeScript + @modelcontextprotocol/sdk + patchright + zod(参数校验),没有重型框架。ESLint + Prettier + TypeScript strict mode 确保代码质量。
安装极为简单,一行命令搞定:
npx notebooklm-mcp@latest
然后连接到 Claude Code:
claude mcp add notebooklm -- npx notebooklm-mcp@latest
首次运行会弹出浏览器窗口引导 Google 登录(Linux 无头服务器上用 xvfb-run -a npx notebooklm-mcp)。登录后 Cookie 持久化,后续所有调用均可无头运行。
MCP 工具参数通过 JSON Schema 定义,Claude Code 等客户端会自动解析并生成自然语言调用建议,用户无需记忆复杂的 API 签名。
add_source 仅支持 URL 和纯文本,不支持 PDF/Word 文件和 YouTube 链接,需要用户自行用 URL 方式提供。NotebookLM MCP Server 代表了 AI 工具链的一种新兴整合模式——不是等待官方提供 API,而是用 MCP 协议将任何有 UI 的 AI 产品「工具化」。随着 MCP 生态的壮大,预计会有更多类似项目出现,将 Notion、Obsidian、Linear 等工具接入 AI Agent 工作流。这种「UI 自动化封装」模式虽然不够优雅,但在官方 API 缺席的情况下是目前最可靠的集成方案。