NotebookLM MCP服务器

一个安全的MCP服务器,用于查询Google NotebookLM笔记本,适用于Claude Code、Cursor、VS Code Copilot等MCP兼容的AI助手。

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

使用说明

笔记本-mcp-2026

用于查询Google NotebookLM笔记本电脑的安全MCP服务器。专为与Claude Code、Cursor、VS Code Copilot和任何兼容MCP的AI助手一起使用而设计。

在YouTube上观看: https://youtu.be/xdI3uEA5rew?si=FkD0sdCZSFFWpjhy

它做什么

notebookm-mcp-2026使AI助手可以直接访问您的Google notebooklm笔记本电脑。它作为本地子进程(stdio传输)运行,不需要HTTP服务器。您的AI助手可以列出您的笔记本,阅读源内容,并向NotebookLM AI询问有关您的源的问题。

快速开始

三个命令。适用于macOS、Linux和Windows。

步骤1:安装

macOS/Linux:

curl -LsSf https://astral.sh/uv/install.sh | sh
uv tool install notebooklm-mcp-2026

Windows(PowerShell):

powershell -ExecutionPolicy ByPass -c "irm https://astral.sh/uv/install.ps1 | iex"
uv tool install notebooklm-mcp-2026

已经有pipx了? 您可以使用 pipx install notebooklm-mcp-2026 相反。

第二步:设置

重要提示: 在运行安装程序之前,请完全关闭谷歌Chrome浏览器。登录过程需要启动带有特殊标志的Chrome,如果Chrome已经运行,则无法运行。

notebooklm-mcp-2026 setup

这将:

  1. 打开Chrome浏览器,以便登录您的谷歌帐户
  2. 检测您安装了哪些MCP客户端(Claude Code、Cursor、VS Code等)
  3. 自动配置它们

第三步:使用它

重新启动MCP客户端并询问AI助手:

“列出我的NotebookLM笔记本”

就是这样!

需求

  • 谷歌浏览器 (或Chromium)-需要一次性登录
  • Python 3.11+ --如果您使用,则会自动安装 uv

没有Chrome?

从这里下载 google.com/chrome在Linux上, chromium 也工作。

没有Python?

如果你使用 uv 要安装(推荐),您不需要单独安装Python-- uv 为您处理。

如果你喜欢手动安装Python:

平台 命令
macOS brew install python
Ubuntu/Debian sudo apt install python3
拱门/曼加洛 sudo pacman -S python
Fedora sudo dnf install python3
Windows 从下载 python.org --滴答声 “添加到PATH” 安装过程中

替代安装方法

快速入门使用 uv 因为它是最简单的(单个二进制,没有Python版本冲突)。其他选项:

# pipx (if you already have it)
pipx install notebooklm-mcp-2026

# pip (inside a virtual environment)
python -m venv .venv && source .venv/bin/activate
pip install notebooklm-mcp-2026

# From source
git clone https://github.com/julianoczkowski/notebooklm-mcp-2026.git
cd notebooklm-mcp-2026
pip install -e .

认证

notebookm-mcp-2026使用通过Chrome DevTools协议提取的谷歌会话Cookie。不存储密码,只存储会话Cookie。

重要提示: 在运行登录之前完全关闭Google Chrome。登录过程需要启动带有特殊调试标志的Chrome,如果Chrome已经在运行,则无法运行。

notebooklm-mcp-2026 login

这将打开Chrome浏览器,您登录谷歌,该工具将会话Cookie保存在本地。饼干持续2-4周。当它们过期时,运行 login 再一次。

如果无法自动找到Chrome,该工具将向您显示手动启动Chrome的确切命令,或者您可以指定路径:

notebooklm-mcp-2026 login --chrome-path "/path/to/chrome"

存储凭据的位置

平台 位置
Linux ~/.local/share/notebooklm-mcp-2026/auth.json
macOS ~/Library/Application Support/notebooklm-mcp-2026/auth.json
窗户 %LOCALAPPDATA%\notebooklm-mcp-2026\auth.json

覆盖: NOTEBOOKLM_MCP_DATA_DIR=/custom/path

CLI命令

命令 描述
notebooklm-mcp-2026 setup 交互式设置向导--对MCP客户端进行身份验证和配置
notebooklm-mcp-2026 login 通过Chrome进行身份验证(打开浏览器窗口)
notebooklm-mcp-2026 logout 删除存储的凭据并重新开始
notebooklm-mcp-2026 serve 通过stdio启动MCP服务器(由MCP客户端使用)
notebooklm-mcp-2026 status 显示身份验证和MCP客户端配置状态
notebooklm-mcp-2026 doctor 诊断常见问题(Chrome、身份验证、权限)
notebooklm-mcp-2026 version 打印版本

MCP客户端配置

这 setup 命令自动配置MCP客户端。您不需要手动编辑这些文件,但如果您这样做:

Claude Code — ~/.claude.json
{
  "mcpServers": {
    "notebooklm-mcp-2026": {
      "command": "notebooklm-mcp-2026",
      "args": ["serve"]
    }
  }
}
Cursor — ~/.cursor/mcp.json
{
  "mcpServers": {
    "notebooklm-mcp-2026": {
      "command": "notebooklm-mcp-2026",
      "args": ["serve"]
    }
  }
}
VS Code (Copilot) — mcp.json
{
  "servers": {
    "notebooklm-mcp-2026": {
      "command": "notebooklm-mcp-2026",
      "args": ["serve"]
    }
  }
}
Claude Desktop

Claude Desktop不继承终端的PATH,因此您 必须使用完整路径 到可执行文件。

首先,找到您的可执行路径:

# macOS / Linux
which notebooklm-mcp-2026

# Windows (PowerShell)
where notebooklm-mcp-2026

然后编辑您的配置文件:

  • macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
  • 窗户: %APPDATA%\Claude\claude_desktop_config.json

macOS示例:

{
  "mcpServers": {
    "notebooklm-mcp-2026": {
      "command": "/Users/YOUR_USER/.local/bin/notebooklm-mcp-2026",
      "args": ["serve"]
    }
  }
}

Windows示例:

{
  "mcpServers": {
    "notebooklm-mcp-2026": {
      "command": "C:\\Users\\YOUR_USER\\.local\\bin\\notebooklm-mcp-2026.exe",
      "args": ["serve"]
    }
  }
}

替换 YOUR_USER 使用您的实际用户名,或粘贴 which/where 上面的命令。

可用工具(9)

工具 说明 关键参数
login 启动Chrome以进行Google OAuth登录 timeout (默认值:300秒)
check_auth 验证存储的凭据是否有效 --
list_notebooks 列出所有带有元数据的笔记本 max_results (默认值:50)
get_notebook 获取笔记本详细信息+源列表 notebook_id
list_sources 在笔记本中列出来源 notebook_id
get_source_content 获取源的全文 source_id
query_notebook 问AI一个问题 notebook_id, query, source_ids?, conversation_id?
add_source_url 添加URL/UTube源 notebook_id, url
add_source_text 添加粘贴的文本源 notebook_id, text, title?

典型工作流程

1. list_notebooks          → find the notebook ID you want
2. list_sources            → see what sources are in it
3. query_notebook          → ask questions about the sources
4. get_source_content      → read raw source text if needed

输出示例

当你的AI助手来电时 list_notebooks,它返回的结构化数据如下:

{
  "status": "success",
  "count": 2,
  "notebooks": [
    {
      "id": "abc123-def456",
      "title": "Research Notes",
      "source_count": 3,
      "is_owned": true,
      "modified_at": "2026-01-15T10:30:00+00:00"
    },
    {
      "id": "ghi789-jkl012",
      "title": "Project Planning",
      "source_count": 5,
      "is_owned": true,
      "modified_at": "2026-01-14T08:00:00+00:00"
    }
  ]
}

和 query_notebook 返回:

{
  "status": "success",
  "answer": "Based on the sources, the main topics covered are...",
  "conversation_id": "conv-uuid-123",
  "turn_number": 1,
  "is_follow_up": false
}

后续对话

query_notebook 返回a conversation_id。将其传回去,在相同的对话背景下提出后续问题:

# First question
result = query_notebook(notebook_id="abc", query="What is the main topic?")
# result.conversation_id = "uuid-123"

# Follow-up
result = query_notebook(notebook_id="abc", query="Tell me more about that", conversation_id="uuid-123")

故障排除

“未通过身份验证”错误

跑 notebooklm-mcp-2026 login 在你的终端。

“Cookie过期”错误

会话cookie的寿命有限(2-4周)。跑 notebooklm-mcp-2026 login 再一次。

“未找到Chrome”错误

安装谷歌Chrome或Chromium。在Linux上,确保 google-chrome 或 chromium 在你的路径。您也可以直接指定路径:

notebooklm-mcp-2026 login --chrome-path "/path/to/chrome"

空笔记本列表

请确保您已登录到具有NotebookLM笔记本电脑的正确Google帐户。

“构建标签”错误

谷歌偶尔会轮换他们的构建标签。设置更新的标签:

NOTEBOOKLM_BL="boq_labs-tailwind-frontend_YYYYMMDD.XX_p0" notebooklm-mcp-2026 serve

速率限制错误

NotebookLM免费版每天允许约50次查询。等到第二天或升级。

还有别的吗?

运行诊断工具:

notebooklm-mcp-2026 doctor

环境变量

变量 默认值 描述
NOTEBOOKLM_MCP_DATA_DIR 平台默认值 覆盖数据存储位置
NOTEBOOKLM_BL boq_labs-tailwind-frontend_20260108.06_p0 谷歌构建标签
NOTEBOOKLM_QUERY_TIMEOUT 120.0 查询超时(秒)

安全

  • 未存储密码 --仅谷歌会话Cookie
  • 文件权限 --凭据已保存 0o600 (仅限所有者读/写)
  • 目录权限 --使用创建的数据目录 0o700 (仅限所有者)
  • 不 eval/exec --任何地方都没有动态代码执行
  • 不 shell=True --Chrome推出了显式参数列表
  • Cookie过滤 --仅保留必要的Google身份验证Cookie
  • Chrome清理 --Chrome进程始终终止于 finally 块
  • 输入验证 --使用前验证所有工具参数
  • 超时 --所有HTTP请求都有明确的超时
  • CSRF保护 --在请求正文中传递的令牌,到期时自动刷新

发展

# Install dev dependencies
pip install -e ".[dev]"

# Run tests
pytest

# Lint
ruff check src/ tests/

MCP检验员测试

这 MCP检查员 允许您在web UI中交互式测试服务器的工具:

npx @modelcontextprotocol/inspector notebooklm-mcp-2026 serve

这将打开一个浏览器,您可以在其中使用自定义参数调用9个工具中的每一个并检查响应。你必须跑 notebooklm-mcp-2026 login 第一。

获取帮助

许可证

麻省理工学院

作者