NotebookLM MCP 服务器

NotebookLM MCP 服务器是一个用于 NotebookLM 的 MCP 服务器,提供多种工具来管理和分析 NotebookLM 笔记本。

  • by Morfeu333
  • Python
  • 本地部署
  • 1 星标
  • 更新于
在 GitHub 查看 Morfeu333/notebooklm-mcp

使用说明

NotebookLM MCP服务器

MCP服务器 笔记本LM (notebookrm.google.com)。

注: 使用专业版/免费版帐户进行测试。可能适用于NotebookLM Enterprise帐户,但尚未经过测试。

📺 观看Demos

总体概述 克劳德桌面 困惑桌面 MCP超级助手

特性

工具 说明
notebook_list 列出所有笔记本
notebook_create 创建新笔记本
notebook_get 通过来源获取笔记本详细信息
notebook_describe 获取AI生成的笔记本内容摘要
source_describe 获取AI生成的源摘要和关键字
source_get_content 从源获取原始文本内容(无人工智能处理)
notebook_rename 重命名笔记本
chat_configure 配置聊天目标/风格和响应长度
notebook_delete 删除笔记本(需要确认)
notebook_add_url 添加URL/YouTube作为源
notebook_add_text 将粘贴的文本添加为源
notebook_add_drive 将Google Drive文档添加为源
notebook_query 提问并获得AI答案
source_list_drive 列出新鲜度状态的来源
source_sync_drive 同步过时的驱动器源(需要确认)
source_delete 从笔记本中删除源(需要确认)
research_start 开始Web或Drive研究以发现来源
research_status 内置等待功能的民意调查研究进展
research_import 将发现的源导入笔记本
audio_overview_create 生成音频播客(需要确认)
video_overview_create 生成视频概述(需要确认)
infographic_create 生成信息图表(需要确认)
slide_deck_create 生成幻灯片(需要确认)
studio_status 检查工作室工件生成状态
studio_delete 删除工作室工件(需要确认)
refresh_auth 从磁盘重新加载身份验证令牌或运行无头重新身份验证
save_auth_tokens 保存Cookie以进行身份验证

重要免责声明

此MCP使用 内部API 即:

  • 没有文件记录,可能会随时更改,恕不另行通知
  • 需要从浏览器中提取cookie(我有一个工具!)

出于个人/实验目的使用,风险自负。

安装

使用您首选的Python包管理器从PyPI安装:

使用紫外线(推荐)

uv tool install notebooklm-mcp-server

使用pip

pip install notebooklm-mcp-server

使用pipx

pipx install notebooklm-mcp-server
Alternative: Install from Source
# Clone the repository
git clone https://github.com/jacob-bd/notebooklm-mcp.git
cd notebooklm-mcp

# Install with uv
uv tool install .

升级

# Using uv
uv tool upgrade notebooklm-mcp-server

# Using pip
pip install --upgrade notebooklm-mcp-server

# Using pipx
pipx upgrade notebooklm-mcp-server

升级后,重新启动AI工具以重新连接到更新的MCP服务器:

  • 克劳德代码: 重新启动应用程序,或使用 /mcp 重新连接
  • 光标: 重新启动应用程序
  • Gemini CLI: 重新启动CLI会话

卸载

要完全卸下MCP:

# Using uv
uv tool uninstall notebooklm-mcp-server

# Using pip
pip uninstall notebooklm-mcp-server

# Using pipx
pipx uninstall notebooklm-mcp-server

# Remove cached auth tokens (optional)
rm -rf ~/.notebooklm-mcp

同时从您的AI工具中删除:

工具 命令
克劳德代码 claude mcp remove notebooklm-mcp
Gemini CLI gemini mcp remove notebooklm-mcp
光标/VS代码 从中删除条目 ~/.cursor/mcp.json 或 ~/.vscode/mcp.json

认证

在使用MCP之前,您需要使用NotebookLM进行身份验证。运行:

# Recommended: Auto mode (launches Chrome, you log in)
notebooklm-mcp-auth

# Alternative: File mode (manual cookie extraction)
notebooklm-mcp-auth --file

自动模式 启动一个专用的Chrome配置文件,您登录谷歌,Cookie会自动提取。您的登录信息将保留,以便将来进行身份验证刷新。

文件模式 显示了从Chrome DevTools中手动提取Cookie并将其保存到文件的说明。

成功认证后,将MCP添加到您的AI工具中并重新启动。

有关详细说明、故障排除以及身份验证系统的工作原理,请参阅 docs/AUTHENTICATION.md.

MCP配置

⚠️ 上下文窗口警告: 此MCP提供 31工具 这会占用你的上下文窗口的很大一部分。建议 在不主动使用NotebookLM时禁用MCP 为您的其他工作保留上下文。在Claude Code中,使用 @notebooklm-mcp 打开/关闭它,或使用 /mcp 命令。

⚠️ 上下文窗口警告: 此MCP提供 31工具 这会占用你的上下文窗口的很大一部分。建议 在不主动使用NotebookLM时禁用MCP 为您的其他工作保留上下文。在Claude Code中,使用 @notebooklm-mcp 打开/关闭它,或使用 /mcp 命令。

CLI选项

您可以使用命令行参数配置服务器:

标志 描述 默认值
--transport, -t 传输协议(stdio, http, sse) stdio
--port, -p HTTP/SSE传输端口 8000
--host, -H 要绑定HTTP/SSE的主机 127.0.0.1
--debug 启用详细日志记录(API请求/响应) False
--query-timeout 查询超时(秒) 120.0

环境变量

或者,使用环境变量:

变量 描述
NOTEBOOKLM_MCP_TRANSPORT 运输类型(stdio, http, sse)
NOTEBOOKLM_MCP_PORT 要收听的端口
NOTEBOOKLM_MCP_HOST 要绑定的主机
NOTEBOOKLM_MCP_DEBUG true 启用调试日志记录
NOTEBOOKLM_QUERY_TIMEOUT 查询超时(秒)

HTTP支持(开放式WebUI)

作为HTTP服务器运行,用于远程访问或多用户设置:

notebooklm-mcp --transport http --port 8000

看 docs/MULTI_USER_ANALYSIS.md 获取详细的多用户部署指南。

Claude代码(推荐的CLI方法)

使用内置的CLI命令添加MCP服务器:

为所有项目添加(推荐):

claude mcp add --scope user notebooklm-mcp notebooklm-mcp

或者仅为当前项目添加:

claude mcp add notebooklm-mcp notebooklm-mcp

就是这样!重新启动Claude Code以使用MCP工具。

验证安装:

claude mcp list
Alternative: Manual JSON Configuration

如果您更喜欢手动编辑配置文件,请添加到 ~/.claude.json:

{
  "mcpServers": {
    "notebooklm-mcp": {
      "command": "notebooklm-mcp"
    }
  }
}

编辑后重新启动Claude Code。

光标、VS代码、克劳德桌面和其他IDE

对于使用JSON配置文件的工具:

工具 配置文件位置
光标 ~/.cursor/mcp.json
VS代码 ~/.vscode/mcp.json
克劳德桌面 ~/Library/Application Support/Claude/claude_desktop_config.json (macOS)

第一步: 查找您的安装路径:

which notebooklm-mcp

这通常会返回 /Users/<YOUR_USERNAME>/.local/bin/notebooklm-mcp 在macOS上。

第二步: 添加此配置(将路径替换为步骤1中的结果):

{
  "mcpServers": {
    "notebooklm-mcp": {
      "command": "/Users/<YOUR_USERNAME>/.local/bin/notebooklm-mcp"
    }
  }
}

添加配置后重新启动应用程序。

其他MCP兼容工具

带有内置MCP命令的CLI工具 (AIDER、Codex、OpenCode等):

<your-tool> mcp add notebooklm-mcp notebooklm-mcp

使用JSON配置文件的工具 --使用上面显示的全路径方法。

Gemini CLI(推荐的CLI方法)

使用内置的CLI命令添加MCP服务器:

为所有项目添加(推荐):

gemini mcp add --scope user notebooklm-mcp notebooklm-mcp

或者仅为当前项目添加:

gemini mcp add notebooklm-mcp notebooklm-mcp

就是这样!重新启动Gemini CLI以使用MCP工具。

验证安装:

gemini mcp list
Alternative: Manual JSON Configuration

增添 ~/.gemini/settings.json 在...之下 mcpServers (奔跑 which notebooklm-mcp 找到你的路):

"notebooklm-mcp": {
  "command": "/Users/<YOUR_USERNAME>/.local/bin/notebooklm-mcp"
}

编辑后重新启动Gemini CLI。

管理上下文窗口使用情况

由于此MCP有31个工具,因此最好在不使用时禁用它:

克劳德代码:

# Toggle on/off by @-mentioning in chat
@notebooklm-mcp

# Or use the /mcp command to enable/disable
/mcp

光标/Gemini命令行界面:

  • 不需要时,在配置文件中注释掉服务器
  • 或者使用工具的MCP管理功能(如果可用)

你能做什么

只需使用自然语言与您的AI工具(Claude Code、Cursor、Gemini CLI)聊天。以下是一些示例:

研究与发现

  • “列出我的所有NotebookLM笔记本”
  • “创建一个名为‘人工智能战略研究’的新笔记本”
  • “开始对‘企业人工智能投资回报率指标’进行网络研究,并向我展示它找到了什么来源”
  • “深入研究‘云市场趋势’,并导入前10个来源”
  • “在我的谷歌云端硬盘中搜索有关‘产品路线图’的文档,并创建一个笔记本”

添加内容

  • “将此URL添加到我的笔记本:https://example.com/article"
  • “将此关于Kubernetes的YouTube视频添加到笔记本”
  • “将我的会议笔记作为文本源添加到此笔记本”
  • “将此Google文档导入我的研究笔记本”

AI驱动的分析

  • “这本笔记本的主要发现是什么?”
  • “总结所有这些来源的主要论点”
  • “这个消息来源对安全最佳实践有什么看法?”
  • “获取此笔记本的AI摘要”
  • “将聊天配置为使用响应较长的学习指南样式”

内容生成

  • “以深入格式创建此笔记本的音频播客概述”
  • “生成具有经典视觉风格的视频解释器”
  • “根据这些来源制作一份简报文件”
  • “制作学习抽认卡,中等难度”
  • “生成横向信息图”
  • “根据我的研究来源构建思维导图”
  • “从此笔记本创建幻灯片演示文稿”

智能管理

  • “检查哪些Google Drive源已过期并同步它们”
  • “显示此笔记本中的所有来源及其新鲜度状态”
  • “从笔记本中删除此源”
  • “检查我的音频概览生成的状态”

专业提示: 创建工作室内容(音频、视频、报告等)后,在生成完成时轮询状态以获取下载URL。

身份验证生命周期

组件 持续时间 刷新
Cookie 约2-4周 通过无头Chrome自动刷新(如果个人资料已保存)
CSRF令牌 ~分钟 每次请求失败时自动刷新
会话ID 每个MCP会话 MCP启动时自动提取

v0.1.9+:服务器现在自动处理令牌过期:

  1. 过期后立即刷新CSRF令牌
  2. 如果外部更新,则从磁盘重新加载Cookie
  3. 如果配置文件已保存登录信息,则运行无头Chrome身份验证

您也可以致电 refresh_auth() 显式重新加载令牌。

如果自动刷新失败(Google登录完全过期),请运行 notebooklm-mcp-auth 再一次。

故障排除

uv tool upgrade 不安装最新版本

症状:

  • 跑步 uv tool upgrade notebooklm-mcp-server 安装旧版本(例如,0.1.5而不是0.1.9)
  • uv cache clean 无法解决问题

为什么会发生这种情况: uv tool upgrade 遵守原始安装的版本限制。如果您最初安装的是旧版本或有限制, upgrade 通过设计保持在这些范围内。

修复--强制重新安装:

uv tool install --force notebooklm-mcp-server

这将绕过任何缓存的约束,并从PyPI安装绝对最新版本。

验证:

uv tool list | grep notebooklm
# Should show: notebooklm-mcp-server v0.1.9 (or latest)

Chrome DevTools MCP不工作(光标/Gemini CLI)

如果Chrome DevTools MCP显示“没有工具、提示或资源”或无法启动,则可能是由于已知的 npx 木偶师核心模块的错误。

症状:

  • Cursor/GGemini CLI显示MCP已连接,但“没有工具、提示或资源”
  • 日志中的进程生成错误: spawn pnpx ENOENT 或模块未找到错误
  • 无法提取NotebookLM身份验证的Cookie

修复:

  1. 安装pnpm (如果尚未安装):

    npm install -g pnpm
    
  2. 更新Chrome DevTools MCP配置:

    对于光标 (~/.cursor/mcp.json):

    "chrome-devtools": {
      "command": "pnpm",
      "args": ["dlx", "chrome-devtools-mcp@latest", "--browser-url=http://127.0.0.1:9222"]
    }
    

    适用于Gemini CLI (~/.gemini/settings.json):

    "chrome-devtools": {
      "command": "pnpm",
      "args": ["dlx", "chrome-devtools-mcp@latest"]
    }
    
  3. 重新启动IDE/CLI 以使更改生效。

为什么会发生这种情况: Chrome DevTools MCP使用 puppeteer-core 它改变了v23+中的模块路径,但 npx 缓存行为会导致模块解析失败。使用 pnpm dlx 避免了这个问题。

相关问题:

局限性

  • 费率限制:免费套餐每天约有50个查询
  • 没有官方支持:API可能会更改,恕不另行通知
  • Cookie过期:需要每隔几周重新提取饼干

贡献

看 CLAUDE.md 了解API的详细文档以及如何添加新功能。

振动编码警报

完全透明:该项目由非开发人员使用AI编码助手构建。如果你是一个经验丰富的Python开发人员,你可能会看看这个代码库和wince。没关系。

这里的目标是解决一个棘手的问题——对NotebookLM进行编程访问——并在此过程中学习。代码可以工作,但它可能缺少只有多年经验才能提供的模式、优化或优雅。

这就是你进来的地方。 如果你看到一些让你感到尴尬的事情,请考虑做出贡献,而不仅仅是关闭标签。这是开源的,因为人类的专业知识是不可替代的。无论是重构、更好的错误处理、类型提示还是架构指导,都欢迎PR和问题。

将其视为通过代码审查指导人工智能辅助开发人员的机会。当经验丰富的开发人员分享他们的知识时,我们都会受益。

学分

特别感谢:

  • Le Anh Tuan酒店 (@拉脱维亚)用于贡献HTTP传输、调试日志系统和性能优化。
  • 大卫·萨博-贝利 (@davidszp)对于 source_get_content 工具和Linux身份验证修复。

许可证

MIT许可证