mcpField
N
notebooklm-mcp-secure

notebooklm-mcp-secure

本地服务
github.com/Pantheon-Security记忆与知识888 周前更新

关于 notebooklm-mcp-secure

notebooklm-mcp-secure 是 NotebookLM MCP 服务的安全加固分支,可查询、创建和管理 NotebookLM 笔记本。README 将其定位为面向企业安全需求的版本,但部分表述属于营销性质。

主要功能

  1. 01基于来源内容的笔记本问答
  2. 02程序化创建与批量创建笔记本
  3. 03生成音频与视频概览
  4. 04提取笔记本来源中的数据表
  5. 05加密、审计日志与密钥扫描等安全功能

适用场景

  1. 01让 Agent 查询已上传资料并获得基于来源的回答
  2. 02批量创建笔记本并添加本地 PDF 文件
  3. 03从笔记本来源中提取结构化数据表

MCP 相关

该项目是一个 MCP 服务,向 MCP 客户端暴露约 48 个工具,涵盖笔记本问答、来源管理、音频与视频生成、Gemini API 研究及 Webhook 等功能。

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

mcp.json · 通用配置
{
"mcpServers": {
"pantheon-security-notebooklm-mcp-secure": {
"command": "npx",
"args": [
"-y",
"@pan-sec/notebooklm-mcp"
]
}
}
}
启动命令npx -y @pan-sec/notebooklm-mcp

本地服务需要在你的电脑上安装运行环境(如 Node.js 18+)。各客户端的配置文件位置不同,请参考客户端文档。

安装包
npm@pan-sec/notebooklm-mcp2026.5.0

工具

25

收录的工具列表 · 更新于 2 周前

参数类型必填说明
questionstring是要向 NotebookLM 提出的问题
session_idstring否用于上下文对话的可选会话 ID。若省略,则会创建新会话。
notebook_idstring否资料库中的可选笔记本 ID。若省略,则使用活动笔记本。使用 list_notebooks 查看可用笔记本。
notebook_urlstring否可选的笔记本 URL(优先于 notebook_id)。用于临时查询资料库中没有的笔记本。
show_browserboolean否显示浏览器窗口以进行调试(简易版)。如需高级控制(输入速度、隐身模式等),请改用 browser_options。
browser_optionsobject否可选的浏览器行为设置。Claude 可以控制所有内容:可见性、输入速度、隐身模式、超时。适用于调试或微调。
browser_options.showboolean否显示浏览器窗口(默认:取自 ENV 或 false)
browser_options.stealthobject否用于避免被检测到的类人行为设置
browser_options.stealth.enabledboolean否所有隐身功能的总开关(默认:true)
browser_options.stealth.delay_max_msnumber否操作之间的最长延迟,单位为毫秒(默认:400)
browser_options.stealth.delay_min_msnumber否操作之间的最短延迟,单位为毫秒(默认:100)
browser_options.stealth.human_typingboolean否类人的输入模式(默认:true)
browser_options.stealth.random_delaysboolean否操作之间的随机延迟(默认:true)
browser_options.stealth.typing_wpm_maxnumber否最高输入速度,单位为 WPM(默认:240)
browser_options.stealth.typing_wpm_minnumber否最低输入速度,单位为 WPM(默认:160)
browser_options.stealth.mouse_movementsboolean否逼真的鼠标移动(默认:true)
browser_options.headlessboolean否以无头模式运行浏览器(默认:true)
browser_options.viewportobject否浏览器视口大小
browser_options.viewport.widthnumber否视口宽度(像素,默认值:1920)
browser_options.viewport.heightnumber否视口高度(像素,默认值:1080)
browser_options.timeout_msnumber否浏览器操作超时时间,单位为毫秒(默认:30000)

详细介绍

NotebookLM MCP 服务(安全强化版)

🏆 全球最先进的 NotebookLM MCP 服务

零幻觉回答 • Gemini Deep Research • 17 层安全防护 • 企业级合规

npm CalVer TypeScript MCP Platform Security Post-Quantum Gemini Documents Notebooks Compliance Tests

2026 年更新 • Deep Research • 文档 API • 创建笔记本 • 安全性 • 安装

唯一具备企业级安全、后量子加密和完整 Gemini API 集成的 NotebookLM MCP 服务。

基于 PleasePrompto/notebooklm-mcp 的安全强化分支 • 由 Pantheon Security 维护

⚡ 简而言之——你将获得
  • 🔍 查询 NotebookLM 笔记本 — 基于来源、零幻觉的回答
  • 📚 以编程方式创建和管理笔记本 — 无需手动点击
  • 🎙️ 生成音频概览 — 以播客形式总结文档
  • 🎬 生成视频概览 — 提供 10 种视觉风格的 AI 视频摘要 新功能
  • 📊 提取数据表格 — 从笔记本来源生成结构化 JSON 新功能
  • 🔬 Gemini 3 + Deep Research — 支持思维控制的最新模型(可选 API) 新功能
  • 📄 文档 API — 无需浏览器即可上传和查询 PDF(可选 API)
  • 🔐 17 层安全防护 — 后量子加密、审计日志、密钥扫描
  • ✅ 满足合规要求的架构 — 按照 GDPR、SOC2 和 CSSF 标准构建(已实施控制措施;正式认证需经第三方审计)
  • 💡 无需 API 密钥 — 核心功能仅需浏览器身份验证即可使用

🚀 2026 年新功能

最新版本:v2026.3.1 — 已解决全部 334 个审计问题。631 项测试。完全符合 MCP 协议。

版本亮点
v2026.3.1安全审计完成 — 已解决独立审计发现的全部 334 个问题。测试:609 → 631。代码质量:URL 解析去重、处理器提取、消除非空断言。补齐测试缺口:validateNotebookId、错误响应正文结构、delete_document 确认保护、清理后的异常抛出、日志轮换、速率限制器内存上限、范围钳制。
v2026.3.0安全审计版本 — 围绕 334 个问题开展了四项并行 AI 代码审查(安全、协议、架构、测试)。已解决所有高危和中危问题。测试:50 个文件中的测试从 139 项增至 609 项(4.4×)。完全符合 MCP 协议:structuredContent、isError、传输标签。全部 48 个工具均设置了架构边界。注解准确无误。修复 Webhook SSRF 漏洞。审计日志完整性(哈希链、并发写入锁、轮换连续性)。每页互斥锁。HandlerContext DI。撤回证书固定(使声明与实现一致)。
v2026.2.10安全加固版本 — 新增 3 个安全层(从 14 层增至 17 层):默认安全的身份验证、指数退避锁定、凭据隔离。架构全面改造:将 3,611 行处理器拆分为 9 个领域模块,采用工具注册表模式。Gemini API 重试并采用退避机制。多阶段 Docker 构建。Token CLI(token show/rotate)。168 项测试。
v2026.2.9performSetup 不再在 Chrome 打开前清除凭据,避免启动失败时破坏身份验证
v2026.2.8cleanup_data 永不删除身份验证目录(browser_state/、chrome_profile/)——所有清理操作均会保留身份验证状态
v2026.2.7阻止无头模式下调用 setup_auth;改进独立脚本 auth-now.mjs,支持处理 Chrome 配置文件锁
v2026.2.6新增 add_folder 工具,支持批量上传 PDF/文件;改进 NotebookLM Plus 的层级检测
v2026.2.5修复 setup_auth 中的 show_browser 被静默忽略的问题——现在会可靠地打开浏览器进行身份验证
v2026.2.4身份验证稳定性:状态有效期为 7 天、验证时调用 touchStateFile、阻止无头模式下调用 re_auth
v2026.2.3恢复 Studio Panel 工具:重新启用视频概览、数据表生成
v2026.2.1扩展标准配置:工具数量从 14 个增至 33 个——默认提供笔记本创建、音频和来源管理功能
v2026.2.0Gemini 3 模型(2.5 将于 3 月 31 日停用)、视频概览、数据表、思考级别、结构化 JSON、SDK 1.41
v2026.1.12安全加固:常量时间身份验证、修复命令注入、修复内存泄漏、MCP SDK 1.26.0
v2026.1.11提取笔记本同步功能以适配新的 Angular UI,新增 NOTEBOOKLM_NO_GEMINI 环境变量
v2026.1.10优化工具描述,提升与多种 LLM 的兼容性
v2026.1.9改进文档和用户体验,修复 npm audit 问题
v2026.1.8重大依赖更新(zod 4.x、dotenv 17.x、post-quantum 0.5.4)
v2026.1.7MCP 协议用户体验:工具图标、易读标题、行为注解
v2026.1.4纵深防御式路径验证、安全加固
v2026.1.1深度健康检查、聊天历史提取、上下文管理
# Quick install
claude mcp add notebooklm -- npx @pan-sec/notebooklm-mcp@latest
为什么选择这个 MCP?
能力其他 MCP这个 MCP
查询 NotebookLM✅ 基础功能✅ + 会话管理、配额
以编程方式创建笔记本❌✅ 独家功能
Gemini Deep Research❌✅ 独家功能
文档 API(无需浏览器)❌✅ 独家功能
后量子加密❌✅ 混合后量子静态加密
企业合规性❌✅ 满足 GDPR/SOC2/CSSF 要求
视频概览生成❌✅ 新增
数据表提取❌✅ 新增
聊天历史提取❌✅
深度健康验证❌✅

🔬 2026 年安全审计——发现与修复的问题

2026 年 4 月,我们委托使用 4 名专业 AI 代码审查员,对 v2026.2.11(main @ 2973097)进行了并行深度审计。每名审查员分别专注于不同的攻击面:安全漏洞、协议正确性、架构质量以及测试缺口和边缘情况。4 名审查员独立工作,以免彼此影响审查结果。他们共整理出一份包含 334 项问题的主问题清单,涉及协议正确性、安全漏洞、架构缺陷、测试缺口和文档准确性。所有 334 项问题均已在 v2026.3.0 和 v2026.3.1 中修复。

审计数据一览
指标修复前(v2026.2.11)修复后(v2026.3.1)
测试139631 项,分布在 50 个文件中
测试套件~650
TypeScript 错误(tsc --noEmit)00(保持不变)
npm audit 漏洞00(保持不变)
MCP 协议合规性部分符合完全符合(structuredContent、isError、传输标签)
审计日志完整性基本读取时验证哈希链
并发写入安全性❌✅ 已加写锁
Webhook SSRF❌✅ 已阻止
4 名审查员的发现

安全审查员: 发现 validateToken() 中的 forceAuth 绕过问题,导致未经身份验证即可访问文件系统工具;Webhook 可通过未经验证的投递目标发起 SSRF;读取时未验证审计日志哈希链;并发写入审计日志时条目会交错;认证令牌盐值未持久化(重启后令牌失效)。

协议审查员: 发现 38 个工具返回的响应格式不正确(缺少 structuredContent、isError 语义错误、传输标签泄漏到内容中);全部 48 个工具的 readOnlyHint/idempotentHint/destructiveHint 注解都不正确或缺失;9 个工具的架构缺少数值范围限制,可能导致输入超出范围。

架构审查员: 指出 3,611 行的 handlers.ts 难以维护;领域函数中到处导入单例,导致无法进行单元测试;500 行的 switch/case 分发增加了 O(n) 开销,也使工具注册容易出错。

测试与边缘情况审查员: 发现测试套件仅有 139 项测试,对安全关键模块的覆盖很少;mcp-auth.ts 的覆盖率接近零;没有针对提示词注入模式、审计日志篡改或并发浏览器会话状态的测试;DSAR 处理程序存在未被发现的竞态条件。

关键修复
  • 修复了 17 个安全漏洞(认证绕过、SSRF、审计完整性、竞态条件、选择器注入漏洞)
  • MCP 协议完全合规——全部 48 个工具均返回正确的 structuredContent/isError 格式;注解准确;强制执行架构范围限制
  • 拆分架构——将 handlers.ts 拆分为 9 个领域模块,并通过 HandlerContext 注入依赖;无需进程模拟即可进行 100% 的单元测试
  • 测试覆盖——新增 15 个安全关键测试套件,涵盖浏览器会话、认证、提示词注入、审计日志、Webhook、DSAR 和合规性
  • 声明与实际一致——移除证书固定(该实现已在审计第 1 天撤回);准确说明 PQ 加密的适用范围;合规性措辞使用“已实施控制措施”,而非“已认证”
📋 完整功能列表(48 个工具) #### 核心 NotebookLM(无需 API 密钥) | 工具 | 描述 | |------|-------------| | `ask_question` | 查询笔记本,获取基于来源的回答 | | `add_notebook` | 将笔记本添加到你的库中 | | `list_notebooks` | 列出库中的所有笔记本 | | `select_notebook` | 设置当前笔记本 | | `update_notebook` | 更新笔记本元数据 | | `remove_notebook` | 从库中移除笔记本 | | `create_notebook` | 以编程方式创建新笔记本 | | `batch_create_notebooks` | 一次创建多个笔记本 | | `sync_library` | 将库与 NotebookLM 同步 | | `list_sources` | 列出笔记本中的来源 | | `add_source` | 向笔记本添加来源 | | `add_folder` | 将本地文件夹中的 PDF/文件批量上传到笔记本 | | `remove_source` | 从笔记本移除来源 | | `generate_audio_overview` | 创建播客风格的音频 | | `get_audio_status` | 检查音频生成状态 | | `download_audio` | 下载生成的音频 | | `generate_video_overview` | 创建 AI 视频概览(10 种风格) | | `get_video_status` | 检查视频生成状态 | | `generate_data_table` | 生成结构化数据表 | | `get_data_table` | 将数据表提取为 JSON | | `list_sessions` | 列出活跃会话 | | `close_session` | 关闭会话 | | `reset_session` | 重置会话历史 | | `get_health` | 检查服务和身份验证状态 | | `setup_auth` | 初始身份验证 | | `re_auth` | 重新进行身份验证 | | `cleanup_data` | 清理本地数据 | | `get_quota` | 检查使用配额 | | `set_quota_tier` | 设置配额等级 | | `get_query_history` | 查看过往查询 | | `get_notebook_chat_history` | 提取浏览器聊天记录 | | `get_project_info` | 获取项目上下文 | | `export_library` | 导出库备份 |
Gemini API(可选——需要 GEMINI_API_KEY)
工具描述
deep_research全面的研究 Agent
gemini_query快速、基于来源的查询
get_research_status检查研究进度
upload_document将文档上传到 Gemini
query_document查询已上传的文档
query_chunked_document查询大型文档
list_documents列出已上传的文档
delete_document删除已上传的文档
Webhook 和集成
工具描述
configure_webhook设置 Webhook 通知
list_webhooks列出已配置的 Webhook
test_webhook测试 Webhook 投递
remove_webhook移除 Webhook
企业合规(另外提供 16 个工具)

完整列表请参阅合规文档。


Gemini 深度研究(v1.8.0)

为 AI Agent 提供最强大的研究能力——现已集成到你的 MCP 工具包中。

v1.8.0 将 Gemini Interactions API 引入为稳定、基于 API 的研究后端,并与浏览器自动化并行使用。这让你的 Agent 可以使用 Google 最先进的 Deep Research Agent。

重要意义
挑战解决方案
浏览器界面变更会导致自动化失效Gemini API 稳定且有版本控制
需要全面研究,但没有研究 AgentDeep Research Agent 可代你完成研究
需要附带引用的最新信息内置 Google Search grounding
需要可靠、快速的查询基于 API,因此不依赖界面
新工具
deep_research——全面的研究 Agent
"Research the security implications of post-quantum cryptography adoption in financial services"
  • 运行 Google 的 Deep Research Agent(与 Gemini Advanced 中相同)
  • 进行全面且基于网络的分析需要 1–5 分钟
  • 返回带有引用和来源的结构化答案
  • 非常适合需要综合多个来源的复杂主题
gemini_query — 快速事实依据查询
"What are the latest CVEs for Log4j in 2025?" (with Google Search)
"Calculate the compound interest on $10,000 at 5% over 10 years" (with code execution)
"Summarize this security advisory: [URL]" (with URL context)
  • Google Search grounding — 获取当前信息,而不只是训练数据
  • 代码执行 — 执行计算和数据分析
  • URL context — 按需分析网页
  • 模型:gemini-3-flash-preview(默认)、gemini-3-pro-preview(性能强大)、gemini-2.5-flash(旧版)
get_research_status — 后台任务监控

在后台运行深度研究并查看进度:

"Start researching [topic] in the background"
... continue other work ...
"Check research status for interaction_abc123"
混合架构
┌──────────────────────────────────────────────────────────────────────────────┐
│                      NotebookLM MCP Server v2026.3.x                         │
├──────────────────────────────────────────────────────────────────────────────┤
│                                                                              │
│  ┌────────────────────────────────┐    ┌──────────────────────────────────┐  │
│  │      BROWSER AUTOMATION        │    │          GEMINI API              │  │
│  │    ✅ NO API KEY NEEDED        │    │    ⚡ OPTIONAL - needs API key   │  │
│  ├────────────────────────────────┤    ├──────────────────────────────────┤  │
│  │                                │    │                                  │  │
│  │  QUERY                         │    │  RESEARCH                        │  │
│  │  • ask_question                │    │  • deep_research                 │  │
│  │  • get_notebook_chat_history   │    │  • gemini_query                  │  │
│  │                                │    │  • get_research_status           │  │
│  │  CREATE & MANAGE               │    │                                  │  │
│  │  • create_notebook             │    │  DOCUMENTS                       │  │
│  │  • batch_create_notebooks      │    │  • upload_document               │  │
│  │  • manage_sources              │    │  • query_document                │  │
│  │  • generate_audio              │    │  • query_chunked_document        │  │
│  │  • generate_video_overview     │    │  • list/delete_document          │  │
│  │  • generate_data_table         │    │                                  │  │
│  │  • sync_notebook               │    │                                  │  │
│  │                                │    │                                  │  │
│  │  HEALTH & SESSIONS     v2026   │    │                                  │  │
│  │  • get_health (deep_check)     │    │  Fast API • 48h retention        │  │
│  │  • get_query_history           │    │  Auto-chunking for large PDFs    │  │
│  └────────────────────────────────┘    └──────────────────────────────────┘  │
│                                                                              │
│                      ┌─────────────────────────────────┐                     │
│                      │       17 SECURITY LAYERS        │                     │
│                      │   Post-Quantum • Audit Logs     │                     │
│                      │   Secrets Scan • Memory Wipe    │                     │
│                      │  GDPR • SOC2 • CSSF Ready*      │                     │
│                      └─────────────────────────────────┘                     │
└──────────────────────────────────────────────────────────────────────────────┘

💡 Gemini API 完全可选! 所有 NotebookLM 核心功能(ask_question、notebooks、sessions、audio)都可通过浏览器自动化使用,无需 API 密钥。以下 Gemini 工具是额外功能,供希望直接访问 API 的用户使用。

Gemini 配置(可选)
# Only required if you want Gemini API features (deep_research, gemini_query, upload_document)
GEMINI_API_KEY=your-api-key          # Get from https://aistudio.google.com/apikey

# Optional settings
GEMINI_DEFAULT_MODEL=gemini-3-flash-preview  # Default model (was gemini-2.5-flash)
GEMINI_DEEP_RESEARCH_ENABLED=true            # Enable Deep Research
GEMINI_TIMEOUT_MS=30000                      # API timeout
如何选择工具
任务最佳工具原因
关于你自己的文档的问题ask_question基于你上传的来源提供依据
全面研究某个主题deep_research综合多个来源并附上引用
时事/最新信息gemini_query + google_search实时网络数据
代码计算gemini_query + code_execution可靠的计算
分析网页gemini_query + url_context直接分析页面
快速分析 PDF/文档upload_document + query_documentAPI 响应快,无需浏览器(新增!)

📄 文档 API(v1.9.0)

通过 Gemini API 直接上传和查询文档 — 无需浏览器自动化。

v1.9.0 引入了 Gemini Files API,用于快速、可靠地分析文档。上传 PDF 后即可立即分析,完成后可将其删除。

这为何重要
功能浏览器模式文档 API
速度秒级毫秒级
可靠性依赖界面API 稳定
文件支持通过 NotebookLM50MB PDF,1000 页
保留时间永久48 小时
设置身份验证 + Cookie仅需 API 密钥
新工具
upload_document — 快速上传文档

将任意文档上传到 Gemini,以便立即查询:

Upload /path/to/research-paper.pdf
  • 支持的格式:PDF(50MB,1000 页)、TXT、MD、HTML、CSV、JSON、DOCX、图像、音频、视频
  • 保留 48 小时 — 文件会自动过期,也可以手动删除
  • 返回用于查询的文件 ID
query_document — 提出有关文档的问题
"What are the main findings in this research paper?"
"Summarize section 3 of the document"
"Extract all statistics mentioned in the PDF"
  • 全面理解文档内容(文本、表格、图表、示意图)
  • 多文档查询(比较多个文件)
  • API 响应快(无需等待浏览器)
list_documents — 查看所有已上传文件
List all my uploaded documents

显示文件名、大小、MIME 类型和过期时间。

delete_document — 清理敏感文件
Delete file xyz123

立即移除文件(无需等待 48 小时后过期)。

工作流示例
1. upload_document("/research/paper.pdf")
   → Returns: files/abc123

2. query_document("files/abc123", "What methodology was used?")
   → Returns: "The paper uses a mixed-methods approach combining..."

3. query_document("files/abc123", "List all cited authors")
   → Returns: "Smith et al. (2024), Johnson (2023)..."

4. delete_document("files/abc123")
   → File removed
大型 PDF 自动分块(v1.10.0)

无文件大小限制 — 系统会自动处理任意大小的 PDF。

上传的 PDF 超出 Gemini 限制(50MB 或 1000 页)时,系统会自动:

  1. 检测超大 PDF
  2. 拆分为最佳大小的分块(每块 500 页)
  3. 上传所有分块(并行处理)
  4. 返回用于查询的分块元数据
upload_document("/research/massive-2000-page-report.pdf")

→ Returns:
{
  "wasChunked": true,
  "totalPages": 2000,
  "chunks": [
    { "fileName": "files/abc1", "pageStart": 1, "pageEnd": 500 },
    { "fileName": "files/abc2", "pageStart": 501, "pageEnd": 1000 },
    { "fileName": "files/abc3", "pageStart": 1001, "pageEnd": 1500 },
    { "fileName": "files/abc4", "pageStart": 1501, "pageEnd": 2000 }
  ],
  "allFileNames": ["files/abc1", "files/abc2", "files/abc3", "files/abc4"]
}
query_chunked_document — 一次查询所有分块

对于分块文档,使用此工具查询所有部分并获取汇总答案:

query_chunked_document(
  file_names: ["files/abc1", "files/abc2", "files/abc3", "files/abc4"],
  query: "What are the key recommendations in this report?"
)

→ Queries each chunk, then synthesizes a unified answer
何时使用文档 API,何时使用 NotebookLM
场景使用
快速进行一次性文档分析文档 API — 速度快,无需设置
构建永久知识库NotebookLM — 永久存储
分析敏感文档文档 API — 48 小时后自动删除
长期进行多来源研究NotebookLM — 笔记本井然有序
CI/CD 管道文档处理文档 API — 原生 API 支持
大型 PDF(1000 页以上)文档 API — 自动分块

以编程方式创建笔记本(v1.7.0+)

完全通过代码创建 NotebookLM 笔记本,无需手动点击。

大多数 MCP 服务只能从 NotebookLM 读取 内容。此服务可以创建笔记本、添加来源并生成音频——全部以编程方式完成。

create_notebook — 即刻构建笔记本

通过一条命令创建包含多个来源的完整笔记本:

{
  "name": "Security Research 2025",
  "sources": [
    { "type": "url", "value": "https://owasp.org/Top10" },
    { "type": "file", "value": "/path/to/security-report.pdf" },
    { "type": "text", "value": "Custom analysis notes...", "title": "My Notes" }
  ],
  "description": "OWASP security best practices",
  "topics": ["security", "owasp", "vulnerabilities"]
}

支持的来源类型:

  • URL — 网页、文档、文章
  • File — PDF、DOCX、TXT 等
  • Text — 原始文本、代码片段、笔记
batch_create_notebooks — 扩大规模

单次操作即可创建最多 10 个笔记本:

{
  "notebooks": [
    { "name": "React Docs", "sources": [{ "type": "url", "value": "https://react.dev/reference" }] },
    { "name": "Node.js API", "sources": [{ "type": "url", "value": "https://nodejs.org/api/" }] },
    { "name": "TypeScript Handbook", "sources": [{ "type": "url", "value": "https://www.typescriptlang.org/docs/" }] }
  ]
}

非常适合:

  • 搭建项目文档库
  • 为新团队成员准备精选知识库,帮助其快速上手
  • 批量创建特定主题的研究笔记本
manage_sources — 动态管理来源

从现有笔记本中添加或移除来源:

{
  "notebook_id": "abc123",
  "action": "add",
  "sources": [{ "type": "url", "value": "https://new-documentation.com" }]
}
generate_audio — 创建音频概览

以编程方式生成 NotebookLM 著名的“Audio Overview”播客:

"Generate an audio overview for my Security Research notebook"
sync_notebook — 保持来源更新

从本地目录同步笔记本来源:

{
  "notebook_id": "abc123",
  "directory": "/path/to/docs",
  "patterns": ["*.md", "*.pdf"]
}
这样做的意义
传统工作流使用此 MCP
在浏览器中手动创建笔记本create_notebook → 完成
为每份文档点击“Add source”通过单条命令批量添加
浏览界面以生成音频generate_audio → 播客就绪
手动更新来源通过 sync_notebook 从本地文件同步

现在,你的 Agent 可以自主构建完整的知识库。


🎬 视频概览与数据表(v2026.2.0)

以编程方式为任意笔记本生成 AI 视觉摘要并提取结构化数据。

NotebookLM 的 Studio 面板现在提供视频概览和数据表,以及音频概览。本次发布为这两项功能带来了全面自动化。

generate_video_overview — AI 视频摘要

以 10 种视觉风格生成笔记本内容的视频概览:

风格描述
auto-select由 NotebookLM 选择最佳风格(默认)
classic简洁的演示风格
whiteboard手绘白板风格
kawaii可爱的插画风格
anime受动漫启发的视觉风格
watercolour水彩画风格
retro-print复古印刷风格
heritage传统经典风格
paper-craft纸艺视觉风格
custom自定义视觉风格

两种格式:

  • Explainer — 完整讲解(5-15 分钟)
  • Brief — 快速摘要(1-3 分钟)
"Generate a kawaii-style brief video overview for my Security Research notebook"
get_video_status — 检查生成进度

视频生成需要 3-10 分钟。检查进度:

"Check video status for my Security Research notebook"
→ { "status": "generating", "progress": 0 }
→ { "status": "ready" }
generate_data_table — 提取结构化数据

根据笔记本来源生成结构化表格。NotebookLM 会将关键信息提取到行和列中:

"Generate a data table for my research notebook"
get_data_table — 将表格提取为 JSON

将生成的表格提取为结构化 JSON,以便处理:

"Get the data table from my research notebook"
→ {
    "headers": ["Title", "Year", "Key Finding", "Methodology", ...],
    "rows": [["Paper A", "2025", "Finding X", "Survey", ...], ...],
    "totalRows": 27,
    "totalColumns": 7
  }
如何选择 Studio 功能
任务最佳工具原因
播客风格的音频摘要generate_audio_overview可分享的音频内容
研究内容的视觉演示generate_video_overview引人入胜的视频摘要
用于分析的结构化数据generate_data_table + get_data_table机器可读的 JSON
快速检查状态get_audio_status / get_video_status非阻塞式进度查询

📊 查询历史与聊天内容提取(v2026.1.0)

跟踪研究记录,并从 NotebookLM 笔记本中恢复对话。

get_query_history — 查看过往研究(v1.10.8)

通过 MCP 发出的所有查询都会自动记录,供后续查看:

"Show me my recent NotebookLM queries"
"Find queries about security from last week"
"What did I ask the fine-tuning notebook?"
  • 自动记录 — 保存每组问答及其元数据
  • 搜索 — 在所有查询中查找特定主题
  • 筛选 — 按笔记本、会话或日期筛选
  • 配额跟踪 — 查看查询次数和耗时
get_notebook_chat_history — 提取浏览器对话(v2026.1.0)

直接从 NotebookLM 笔记本的聊天界面提取对话历史,并通过上下文管理避免占满 AI 上下文窗口:

快速审查(预览模式):

{ "notebook_id": "my-research", "preview_only": true }

仅返回消息数量,不包含内容——先试试看,再提取内容。

导出到文件(避免上下文溢出):

{ "notebook_id": "my-research", "output_file": "/tmp/chat-history.json" }

将完整历史记录写入磁盘,而不是返回到上下文中。

分页浏览历史记录:

{ "notebook_id": "my-research", "limit": 20, "offset": 0 }
{ "notebook_id": "my-research", "limit": 20, "offset": 20 }

逐页浏览较长的历史记录,无需一次性全部加载。

返回内容:

{
  "notebook_url": "https://notebooklm.google.com/notebook/xxx",
  "notebook_name": "My Research",
  "total_messages": 150,
  "returned_messages": 40,
  "user_messages": 75,
  "assistant_messages": 75,
  "offset": 0,
  "has_more": true,
  "messages": [...]
}

使用场景:

  • 恢复对话 — 找回直接在 NotebookLM 浏览器中进行的对话(MCP 不会跟踪这些对话)
  • 审查研究 — 查看在笔记本中发起了哪些查询
  • 延续上下文 — 从上一个会话中断的位置继续
  • 核对配额 — 了解配额为何似乎不准确

为什么选择此分支?

原版 NotebookLM MCP 非常适合提高效率,但 MCP 服务会处理敏感数据:

  • 通过 Google 身份验证的浏览器会话
  • 存储在磁盘上的** Cookie 和令牌**
  • 可能包含专有信息的查询历史

此分支增加了17 层安全强化措施,以保护这些数据。


安全功能

层功能防护
🔐后量子加密ML-KEM-768 + ChaCha20-Poly1305 混合加密(本地静态数据)
🔍机密信息扫描检测 30 多种凭据模式(AWS、GitHub、Slack……)
🧹内存清理使用后清零敏感数据
📝审计日志使用哈希链确保日志具有防篡改能力
⏱️会话超时8 小时硬性限制 + 闲置 30 分钟后自动注销
🎫MCP 身份验证基于令牌的身份验证,支持暴力破解锁定
🛡️响应验证检测提示词注入尝试
✅输入验证URL 白名单、净化处理
🚦速率限制按会话限制请求频率
🙈日志净化在所有输出中遮蔽凭据
🐍MEDUSA 集成自动安全扫描
🖥️跨平台原生支持 Linux、macOS、Windows
🔒默认安全的身份验证默认启用身份验证,必须明确选择退出
📈指数退避逐步延长锁定时间:5 分钟 → 15 分钟 → 45 分钟 → 最长 4 小时
🗝️凭据隔离SecureCredential TTL + 从 process.env 中清理环境变量
后量子密码原语(本地静态数据)

磁盘上机密信息的加密使用混合后量子密码原语:

ML-KEM-768 (Kyber) + ChaCha20-Poly1305
  • ML-KEM-768:NIST 标准化的后量子密钥封装机制
  • ChaCha20-Poly1305:现代流密码(不受时序攻击影响)

坦诚说明范围:这是针对本地静态数据的加密。两个密钥都存放在同一台机器上——PQ 私钥由从机器绑定机密派生的经典密钥进行封装,而非由远程接收方持有。此机制可防止单个加密文件遭受离线盗窃,但无法防御“先收集、后解密”攻击(这类攻击需要由持有解封密钥的远程 PQ 接收方来应对)。

跨平台支持

全面原生支持所有主流操作系统:

平台文件权限数据目录
LinuxUnix chmod(0o600/0o700)~/.local/share/notebooklm-mcp/
macOSUnix chmod(0o600/0o700)~/Library/Application Support/notebooklm-mcp/
Windows通过 icacls 设置 ACL(仅当前用户)%LOCALAPPDATA%\notebooklm-mcp\

在所有平台上,所有敏感文件(加密密钥、身份验证令牌、审计日志)都会自动设置为仅所有者可访问。

面向企业合规的架构(v1.6.0+)

按照受监管行业所需的标准构建。所有代码级技术控制均已实现——全面合规还需要组织流程控制(政策、培训、供应商管理)。正式认证(SOC2 Type II 报告、GDPR 注册、CSSF 提交)需要第三方审计。

法规已实施的控制措施
GDPR同意管理、DSAR 处理、删除权、数据可携权
SOC2 Type II哈希链式审计日志、事件响应、可用性监控
CSSF7 年保留期限、SIEM 集成、政策文档
合规工具(16 个 MCP 工具)
compliance_dashboard    - Real-time compliance status
compliance_report       - Generate audit reports (JSON/CSV/HTML)
compliance_evidence     - Collect evidence packages
grant_consent          - Record user consent
submit_dsar            - Handle data subject requests
request_erasure        - Right to be forgotten
export_user_data       - Data portability export
create_incident        - Security incident management
...and 8 more

完整文档请参阅 COMPLIANCE-SPEC.md。


安装

开箱即用的功能(无需 API 密钥)

只需通过浏览器进行身份验证,即可立即使用所有核心 NotebookLM 功能:

功能工具描述
🔍 查询笔记本ask_question获取基于文档内容的回答
📚 管理资料库add_notebook、list_notebooks 等整理笔记本集合
🎙️ 音频概览generate_audio_overview创建播客风格的摘要
🎬 视频概览generate_video_overview采用 10 种视觉风格的 AI 视频摘要 新功能
📊 数据表格generate_data_table、get_data_table将结构化数据提取为 JSON 新功能
📝 创建笔记本create_notebook以编程方式创建新笔记本
🔄 会话管理list_sessions、reset_session管理对话上下文
📊 聊天记录get_notebook_chat_history提取过往对话
❤️ 健康检查get_health验证身份验证状态

**可选:**添加 GEMINI_API_KEY,即可使用 deep_research、gemini_query 和 upload_document 等额外功能。

如需可重复的身份验证测试,请参阅身份验证测试操作手册。


Claude Code
claude mcp add notebooklm -- npx @pan-sec/notebooklm-mcp@latest
使用身份验证 + Gemini(推荐)
claude mcp add notebooklm \
  --env NLMCP_AUTH_ENABLED=true \
  --env NLMCP_AUTH_TOKEN=$(openssl rand -base64 32) \
  --env GEMINI_API_KEY=your-gemini-api-key \
  -- npx @pan-sec/notebooklm-mcp@latest
Codex
codex mcp add notebooklm -- npx @pan-sec/notebooklm-mcp@latest
Cursor

添加到 ~/.cursor/mcp.json:

{
  "mcpServers": {
    "notebooklm": {
      "command": "npx",
      "args": ["-y", "@pan-sec/notebooklm-mcp@latest"],
      "env": {
        "NLMCP_AUTH_ENABLED": "true",
        "NLMCP_AUTH_TOKEN": "your-secure-token",
        "GEMINI_API_KEY": "your-gemini-api-key"
      }
    }
  }
}
Google Antigravity

添加到 ~/.gemini/antigravity/mcp_config.json(macOS/Linux)或 %USERPROFILE%\.gemini\antigravity\mcp_config.json(Windows):

{
  "mcpServers": {
    "notebooklm": {
      "command": "npx",
      "args": ["-y", "@pan-sec/notebooklm-mcp@latest"]
    }
  }
}

可选环境变量:

{
  "mcpServers": {
    "notebooklm": {
      "command": "npx",
      "args": ["-y", "@pan-sec/notebooklm-mcp@latest"],
      "env": {
        "GEMINI_API_KEY": "your-gemini-api-key"
      }
    }
  }
}

注意: Antigravity 不支持 ${workspaceFolder} 变量。请使用绝对路径。

OpenCode

添加到 ~/.config/opencode/opencode.json(全局)或项目根目录下的 opencode.json:

{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "notebooklm": {
      "type": "local",
      "command": ["npx", "-y", "@pan-sec/notebooklm-mcp@latest"],
      "enabled": true,
      "environment": {
        "GEMINI_API_KEY": "your-gemini-api-key"
      }
    }
  }
}

注意: OpenCode 使用 "mcp"(而不是 "mcpServers"),且 "command" 是一个数组。

Windsurf

添加到 ~/.codeium/windsurf/mcp_config.json:

{
  "mcpServers": {
    "notebooklm": {
      "command": "npx",
      "args": ["-y", "@pan-sec/notebooklm-mcp@latest"],
      "env": {
        "GEMINI_API_KEY": "your-gemini-api-key"
      }
    }
  }
}
VS Code + Copilot

添加到 VS Code 的 settings.json:

{
  "mcp": {
    "servers": {
      "notebooklm": {
        "command": "npx",
        "args": ["-y", "@pan-sec/notebooklm-mcp@latest"],
        "env": {
          "GEMINI_API_KEY": "your-gemini-api-key"
        }
      }
    }
  }
}
其他 MCP 客户端

大多数 MCP 客户端使用以下标准格式:

{
  "mcpServers": {
    "notebooklm": {
      "command": "npx",
      "args": ["-y", "@pan-sec/notebooklm-mcp@latest"],
      "env": {
        "GEMINI_API_KEY": "your-gemini-api-key"
      }
    }
  }
}

常见配置位置:

客户端配置文件
Claude Desktop~/.config/claude/claude_desktop_config.json
Cursor~/.cursor/mcp.json
Antigravity~/.gemini/antigravity/mcp_config.json
OpenCode~/.config/opencode/opencode.json
Windsurf~/.codeium/windsurf/mcp_config.json

快速入门

1. 安装(见上文)
2. 进行身份验证
"Log me in to NotebookLM"

Chrome 会打开 → 使用 Google 账号登录

3. 添加笔记本

前往 notebooklm.google.com → 创建笔记本 → 上传文档 → 分享链接

4. 使用
"Research [topic] using this NotebookLM: [link]"
5. 试用 Deep Research(新功能!)
"Use deep research to investigate [complex topic]"

完整工具参考

研究工具
工具说明后端
ask_question查询你的 NotebookLM 笔记本浏览器
deep_research带引用的全面研究Gemini API
gemini_query使用 grounding 工具进行快速查询Gemini API
get_research_status查看后台研究进度Gemini API
笔记本管理
工具说明
add_notebook将笔记本添加到资料库
list_notebooks列出所有笔记本
get_notebook获取笔记本详情
update_notebook更新笔记本元数据
remove_notebook从资料库中移除
select_notebook设置当前笔记本
search_notebooks按查询内容搜索
来源管理(v1.7.0+)
工具说明
manage_sources添加/移除/列出来源
generate_audio创建音频概览
sync_notebook从本地文件同步来源
Studio 功能(v2026.2.0)
工具说明
generate_video_overview创建 AI 视频概览(10 种视觉风格,2 种格式)
get_video_status查看视频生成进度
generate_data_table根据来源生成结构化数据表
get_data_table将数据表提取为 JSON(表头 + 行)
会话与系统
工具说明
list_sessions查看活动会话
close_session关闭会话
reset_session重置会话聊天记录
get_health服务健康检查(可通过 deep_check 验证 UI)
get_query_history搜索/筛选并查看以往查询
get_notebook_chat_history提取浏览器对话(支持分页、文件导出)
setup_auth初始身份验证
re_auth重新进行身份验证
cleanup_data深度清理工具
get_library_stats资料库统计信息
get_quota查看使用限制和剩余配额
合规(v1.6.0+)

16 个合规工具,满足 GDPR、SOC2 和 CSSF 要求。


受保护的内容

数据保护措施
浏览器 Cookie静态数据采用抗量子加密
会话令牌自动过期 + 内存擦除
查询历史记录记录审计日志并检测篡改
Google 连接使用 TLS 并验证响应
日志输出自动脱敏凭据
API 响应扫描是否泄露机密信息
Gemini API 密钥安全处理内存

配置

所有安全功能均默认启用。通过环境变量覆盖:

# Authentication
NLMCP_AUTH_ENABLED=true
NLMCP_AUTH_TOKEN=your-secret-token

# Gemini API (v1.8.0+)
GEMINI_API_KEY=your-api-key
GEMINI_DEFAULT_MODEL=gemini-3-flash-preview  # Default (was gemini-2.5-flash)
GEMINI_DEEP_RESEARCH_ENABLED=true
GEMINI_TIMEOUT_MS=30000
NOTEBOOKLM_NO_GEMINI=false       # Set to true to disable all Gemini tools

# Tool Profiles
NOTEBOOKLM_PROFILE=standard      # minimal (5 tools) | standard (33 tools) | full (all 47)
NOTEBOOKLM_DISABLED_TOOLS=       # Comma-separated list of tools to hide

# Encryption
NLMCP_USE_POST_QUANTUM=true
NLMCP_ENCRYPTION_KEY=base64-32-bytes  # Optional custom key

# Session Limits
NLMCP_SESSION_MAX_LIFETIME=28800  # 8 hours
NLMCP_SESSION_INACTIVITY=1800     # 30 minutes

# Secrets Scanning
NLMCP_SECRETS_SCANNING=true
NLMCP_SECRETS_BLOCK=false         # Block on detection
NLMCP_SECRETS_REDACT=true         # Auto-redact

# Audit Logging
NLMCP_AUDIT_ENABLED=true

# Multi-Session Support (v2026.1.2+)
NOTEBOOK_PROFILE_STRATEGY=isolated  # isolated|single|auto
NOTEBOOK_CLONE_PROFILE=true         # Clone auth from base profile
多会话模式

使用隔离的浏览器配置文件,同时运行多个 Claude Code 会话:

# Add to ~/.bashrc or ~/.zshrc
export NOTEBOOK_PROFILE_STRATEGY=isolated
export NOTEBOOK_CLONE_PROFILE=true
变量值说明
NOTEBOOK_PROFILE_STRATEGYsingle、auto、isolatedisolated = 每个会话使用独立配置文件
NOTEBOOK_CLONE_PROFILEtrue、false将已通过身份验证的基础配置文件克隆到隔离实例中

工作原理:

  • 每个会话都有自己的 Chrome 配置文件(不会发生锁冲突)
  • 隔离配置文件从已通过身份验证的基础配置文件克隆而来
  • 身份验证协调机制确保克隆会等待正在进行的身份验证完成

请参阅 SECURITY.md 了解完整的配置参考。


安全扫描

运行 MEDUSA 安全扫描器:

npm run security-scan

或集成到 CI/CD 中:

- name: Security Scan
  run: npx @pan-sec/notebooklm-mcp && npm run security-scan

对比

与其他 NotebookLM MCP 的对比
功能其他方案@pan-sec/notebooklm-mcp
零幻觉问答✅✅
知识库管理✅✅
以编程方式创建笔记本❌✅ 独有
批量创建(10 个笔记本)❌✅ 独有
Gemini 深度研究❌✅ 独有
文档 API(无需浏览器)❌✅ 独有
自动分块(1000 页以上的 PDF)❌✅ 独有
聊天历史提取❌✅ 新增
深度健康验证❌✅ 新增
查询历史记录与搜索❌✅
配额管理❌✅
源管理(添加/移除)❌✅
音频概览生成❌✅
视频概览生成(10 种风格)❌✅ 新增
数据表提取(JSON)❌✅ 新增
Gemini 3 + 思考控制❌✅ 新增
结构化 JSON 输出❌✅ 新增
从本地目录同步❌✅
安全与合规(此分支独有)
功能其他方案@pan-sec/notebooklm-mcp
跨平台(Linux/macOS/Windows)⚠️ 部分支持✅ 完全支持
抗量子加密❌✅ ML-KEM-768 + ChaCha20(本地静态数据加密)
机密信息扫描❌✅ 30 多种模式
内存擦除❌✅ 释放时清零
审计日志❌✅ 哈希链
MCP 身份验证❌✅ 令牌 + 锁定
提示词注入检测❌✅ 响应验证
GDPR 合规❌✅ 已实施控制措施*
SOC2 Type II❌✅ 已实施控制措施*
CSSF(卢森堡)❌✅ 已实施控制措施*

* 可为合规做好准备:已实施代码层面的技术控制措施。要实现全面合规,还需要组织流程控制措施,并通过第三方审计获得正式认证。

总之:如果你需要的不只是基础查询,或者重视安全,那么只有一个选择。


版本历史

版本亮点
v2026.3.1✅ 安全审计完成 — 所有 334 个问题均已解决。测试数从 609 增至 631。代码质量与测试覆盖缺口阶段。
v2026.3.0🔬 安全审计版本 — 完成 334 项独立审计。测试数从 139 增至 609(50 个文件)。全面符合 MCP 协议。修复 Webhook SSRF。读取时验证审计日志哈希链。每页互斥锁。HandlerContext 依赖注入。撤回证书固定。
v2026.2.9🔐 performSetup 不再在 Chrome 打开前销毁凭据 — 修复了身份验证循环的最后一个根本原因
v2026.2.8🛡️ cleanup_data 在所有删除路径中排除 browser_state/ 和 chrome_profile/ — 清理后身份验证仍然有效
v2026.2.7🚫 禁止无头模式下运行 setup_auth;独立脚本 auth-now.mjs 可处理 Chrome 配置文件锁定和静默保存失败
v2026.2.6📁 新增 add_folder 工具 — 可将 PDF/文件批量上传到笔记本,并支持进度显示、dry_run 和自动拆分
v2026.2.5🔧 修复:现在会将 show_browser 正确传递给 performSetup — 浏览器可稳定打开以完成身份验证
v2026.2.4🔑 提升身份验证稳定性:状态有效期延长至 7 天(原为 24 小时),每次验证时 touchStateFile 都会重置计时,无头模式下禁止 re_auth
v2026.2.3🎬 恢复 Studio Panel 工具 — UI 更新后重新启用视频概览生成和数据表工具
v2026.2.1🔧 扩展标准配置:工具从 14 个增至 33 个 — 默认即可使用所有关键功能
v2026.2.0🚀 Gemini 3 模型(2.5 将于 3 月 31 日停用)、视频概览(10 种风格)、数据表提取(JSON)、思考级别控制、结构化 JSON 输出、SDK 1.41
v2026.1.12🔒 安全加固 — 修复时序攻击、命令注入,修复 6 处内存泄漏,MCP SDK 1.26.0
v2026.1.11🔄 为 Angular UI 提取笔记本同步功能,新增 NOTEBOOKLM_NO_GEMINI 环境变量
v2026.1.10📝 明确工具描述,提升多 LLM 兼容性(修复 OpenCode 问题)
v2026.1.9📄 文档与 UX 改进,修复 npm audit 报告的问题
v2026.1.8📦 主要依赖项更新(zod 4.x、dotenv 17.x、post-quantum 0.5.4)
v2026.1.7🎨 MCP 协议 UX — 工具图标、标题、行为注释
v2026.1.4🛡️ 深度防御式路径验证,安全加固
v2026.1.2🔗 多会话身份验证协调 — 为并发会话提供锁定系统
v2026.1.1🔍 深度健康检查 — 验证 NotebookLM 聊天 UI 是否实际加载
v2026.1.0📊 带上下文管理的聊天历史提取,CalVer 版本控制
v1.10.8查询历史记录、配额跟踪
v1.10.0为大型 PDF(1000 页以上)自动分块
v1.9.0文档 API:通过 Gemini Files API 上传、查询和删除
v1.8.0Gemini 深度研究、带依据的查询、后台任务
v1.7.0以编程方式创建笔记本、批量操作、音频生成
v1.6.0企业合规:GDPR、SOC2 Type II、CSSF
v1.5.0跨平台支持(Windows ACL、macOS、Linux)
v1.4.0后量子加密、密钥扫描

报告漏洞

发现安全问题?请勿公开提交 GitHub 问题。

电子邮件:[email protected]


致谢

许可证

MIT — 与原项目相同。


由 Pantheon Security 提供安全加固 🔒

由 Google Gemini 3 驱动 🚀

完整安全文档 • 合规指南 • 报告漏洞

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。