NotebookLM MCP

内容与创意

by roomi-fields

Automate Google NotebookLM — Q&A with citations, audio, video, content generation

什么是 NotebookLM MCP

Automate Google NotebookLM — Q&A with citations, audio, video, content generation

README

<div align="center">

NotebookLM REST API + MCP server

Automate Google NotebookLM at scale. 33-endpoint HTTP REST API for n8n / Zapier / Make / curl, plus an MCP server for Claude Code / Cursor / Codex. Citation-backed Q&A, full Studio generation (audio · video · infographic · report · presentation · data table), multi-account rotation with auto-reauth.

v2.0.0 — production-grade, batch-tested on overnight runs of 1 000+ questions. Tools are now a dot-notation tree (notebook.ask, source.add, session.list…) with MCP annotations + outputSchema on every tool — the old flat names still work as aliases, nothing breaks. See the changelog for the full mapping. Compare with PleasePrompto/notebooklm-mcp v2.0.0 to see when this project is the right pick (REST API, full Studio, auto-reauth) and when the MCP-only upstream is.

<!-- Badges -->

CI npm version npm downloads codecov License: MIT TypeScript Node.js

MCP Claude Code n8n GitHub

<!-- End Badges --> </div>

Features

Q&A with Citations

  • Ask questions to NotebookLM and get accurate, citation-backed answers
  • Source citation extraction with 5 formats: none, inline, footnotes, json, expanded (97% excerpt success rate)
  • Session management for multi-turn conversations with auto-reauth on session expiry

Content Generation

Generate multiple content types from your notebook sources:

Content TypeFormatsOptions
Audio OverviewPodcast-style discussionLanguage (80+), custom instructions
VideoBrief, Explainer6 visual styles, language, custom instructions
InfographicHorizontal, VerticalLanguage, custom instructions
ReportSummary, DetailedLanguage, custom instructions
PresentationOverview, DetailedLanguage, custom instructions
Data TableSimple, DetailedLanguage, custom instructions

Video Visual Styles: classroom, documentary, animated, corporate, cinematic, minimalist

Content Download

  • Download Audio — WAV audio files
  • Download Video — MP4 video files
  • Download Infographic — PNG image files
  • Text-based content (report, presentation, data_table) is returned in the API response

Source Management

  • Add sources: Files (PDF, TXT, DOCX), URLs, Text, YouTube videos, Google Drive
  • List sources: View all sources in a notebook

Notebook Library

  • Multi-notebook management with validation and smart selection
  • Auto-discovery: Automatically generate metadata via NotebookLM queries
  • Search notebooks by keyword in name, description, or topics
  • Scrape notebooks: List all notebooks from NotebookLM with IDs and names
  • Bulk delete: Delete multiple notebooks at once

Integration Options

  • MCP Protocol — Claude Code, Cursor, Codex, any MCP client
  • HTTP REST API — n8n, Zapier, Make.com, custom integrations
  • Docker — Isolated deployment with Docker or Docker Compose
  • RTFM retrieval layer/batch-to-vault writes citation-backed answers as markdown + JSON sidecars (nblm-answer-v1 schema), indexable by RTFM (FTS5 + semantic) for unlimited offline queries. Ideal for academic / SOTA workflows. Guide.

Quick Start

Option 0 — Claude Code marketplace (one-liner, recommended for Claude Code users)

The fastest way to get NotebookLM into Claude Code. Distributed via the roomi-fields/claude-plugins marketplace alongside RTFM (the retrieval companion — see RTFM integration guide):

text
/plugin marketplace add roomi-fields/claude-plugins
/plugin install notebooklm@roomi-fields

That registers the MCP server, runs npx -y @roomi-fields/notebooklm-mcp@<pinned-version> automatically (Node ≥ 18 required), and lets you upgrade with two commands when a new release ships: /plugin marketplace update roomi-fields then /reload-plugins. Then run npm run setup-auth once to log into Google. To install RTFM at the same time: /plugin install rtfm@roomi-fields.

Option 1 — HTTP REST API (n8n, Zapier, Make, curl, any HTTP client)

bash
git clone https://github.com/roomi-fields/notebooklm-mcp.git
cd notebooklm-mcp
npm install && npm run build
npm run setup-auth   # One-time Google login
npm run start:http   # Start REST API on port 3000
bash
# Citation-backed Q&A, single curl, JSON response
curl -X POST http://localhost:3000/ask \
  -H 'Content-Type: application/json' \
  -d '{"question": "Summarize chapter 3", "notebook_id": "your-id", "source_format": "json"}'

The full surface is 33 documented endpoints — see the REST API reference. For overnight batches of 1 000+ questions, see the batch pattern.

Option 2 — MCP Mode (Claude Code, Cursor, Codex)

bash
# Build (same package, MCP transport)
git clone https://github.com/roomi-fields/notebooklm-mcp.git
cd notebooklm-mcp
npm install && npm run build

# Claude Code
claude mcp add notebooklm node /path/to/notebooklm-mcp/dist/index.js

# Cursor — add to ~/.cursor/mcp.json
{
  "mcpServers": {
    "notebooklm": {
      "command": "node",
      "args": ["/path/to/notebooklm-mcp/dist/index.js"]
    }
  }
}

Then say: "Log me in to NotebookLM" → Chrome opens → log in with Google.

Option 3 — Docker (NAS, server, headless)

bash
# Build and run
docker build -t notebooklm-mcp .
docker run -d --name notebooklm-mcp -p 3000:3000 -p 6080:6080 -v notebooklm-data:/data notebooklm-mcp

# Authenticate via noVNC
# 1. Open http://localhost:6080/vnc.html
# 2. Run: curl -X POST http://localhost:3000/setup-auth -d '{"show_browser":true}'
# 3. Login to Google in the VNC window

See Docker Guide for NAS deployment (Synology, QNAP).


Documentation

Full docs site: https://roomi-fields.github.io/notebooklm-mcp/ · OpenAPI 3.1 spec

GuideDescription
InstallationStep-by-step setup for HTTP and MCP modes
ConfigurationEnvironment variables and security
REST API referenceComplete HTTP endpoint documentation (33 endpoints)
Run 1 000 questions overnightProduction batch pattern with auto-reauth and rotation
RTFM integration — cache as searchable vaultPipeline pattern: NotebookLM as one-shot ingestion, RTFM as retrieval layer. /batch-to-vault endpoint, nblm-answer-v1 schema.
n8n integrationWorkflow automation setup
TroubleshootingCommon issues and solutions
Notebook libraryMulti-notebook management
Auto-discoveryAutonomous metadata generation
Content managementAudio, video, infographic, report, presentation
Multi-account rotationMultiple accounts with TOTP auto-reauth
DockerDocker and Docker Compose deployment
Multi-interfaceRun Claude Desktop + HTTP simultaneously
Compare with PleasePrompto v2.0.0Feature matrix vs the upstream MCP-only server
Chrome profile limitationProfile locking (solved in v1.3.6+)
Adding a languagei18n system for multilingual UI support

Roadmap

See ROADMAP.md for planned features and version history.

Latest releases:

  • v2.0.0 — Tools renamed to a dot-notation tree (notebook.ask, source.add, session.list, server.health, vault.batch…) across 9 namespaces; tools/list advertises only the canonical names. Backward compatible — the legacy flat names still work as aliases, so existing scripts and configs keep running. Also adds MCP annotations (read-only / destructive / idempotent / open-world hints) and outputSchema + structuredContent on every tool. Published on the Smithery registry.
  • v1.7.9 — Security: resolve moderate XSS advisory GHSA-v2v4-37r5-5v8g in transitive ip-address ≤10.1.0 (pulled in via @modelcontextprotocol/sdkexpress-rate-limit) by pinning ip-address ^10.2.0 in overrides. npm audit clean. Unblocks the CI security gate that 1.7.8 had been failing.
  • v1.7.8add_source false-negative fix (verified at runtime against a live MCP session this time): the count-based success detection now runs on every poll cycle instead of only after the upload dialog closes, since NotebookLM 2026 keeps the dialog open to allow chained uploads. Also fixes a long-standing packaging bug where dist/index.js was published in mode 644 (no +x), causing silent Permission denied failures in sandbox shells
  • v1.7.7add_source defensive patch: broaden selectors to cover the empty/fresh-notebook "Upload sources" CTA (EN+FR), and replace the bare Could not find "Add source" button error with a structured DOM dump (URL, title, top 25 buttons + their aria-label/text/class) so the next iteration can be precise. Not validated runtime — the enriched diagnostic is the deliverable
  • v1.7.6 — Fixes two tools shipped in 1.7.4 without live-runtime validation: (1) create_notebook now waits for the final UUID-based URL (no more notebook/creating/c) and verifies the rename actually applied (returns name_applied/actual_name); (2) delete_notebooks_from_nblm now uses the same id-based DOM strategy as list_notebooks_from_nblm (the old button[aria-labelledby*="project-"] selector was broken on the current NotebookLM DOM)
  • v1.7.5 — Three end-user bugs fixed: (1) /plugin marketplace update roomi-fields + /reload-plugins now actually upgrades the running MCP (npx pin in plugin.json); (2) list_notebooks_from_nblm no longer hardcodes "Notebook" as title — id-based scrape returns real names; (3) get_health.current_account no longer returns a stale email after re_auth
  • v1.7.4 — Expose create_notebook and delete_notebooks_from_nblm as MCP tools (handlers existed but lacked a tool definition + dispatch case); 30/30 alignment audit passes
  • v1.7.3 — Fix: list_notebooks_from_nblm MCP tool was declared but unreachable (missing dispatch case) — now resolves correctly
  • v1.7.2 — Claude Code plugin manifest (.claude-plugin/plugin.json) + cross-file version sync script enforced in CI; README "Install via Claude Code marketplace" one-liner
  • v1.7.0batch_to_vault exposed as a first-class MCP tool (parity with the HTTP endpoint, no localhost server required); shared runBatchToVault helper deduplicates the loop across both transports
  • v1.6.0/batch-to-vault endpoint + RTFM integration (nblm-answer-v1 JSON Schema published at schemas.roomi-fields.com/nblm-answer-v1.json) for caching NotebookLM answers as a searchable markdown vault
  • v1.5.9 — Restore mcpName field for MCP Registry npm-package ownership verification
  • v1.5.8 — NotebookLM 2026 UI adaptations (icon-label sanitization, Discussion-panel recovery, count-based source detection) — PR #5 by @KhizarJamshaidIqbal
  • v1.5.7 — Citation extraction selector fix (.highlighted) and Docker multi-stage build — PR #1 by @JulienCANTONI
  • v1.5.6 — Citation extraction major rewrite (97% success rate), browser-verified auth at startup, profile auto-sync
  • v1.5.5 — Multi-account state-path bug fix, Windows startup scripts, hidden-window MCP proxy
  • v1.5.4 — Mid-session auto-reauth with stored credentials, TOTP support
  • v1.5.3 — Docker deployment with noVNC for visual authentication + NAS support (Synology, QNAP)
  • v1.5.2 — Notebook scraping from NotebookLM + Bulk delete + Bug fixes
  • v1.5.1 — Multilingual UI support (FR/EN) with i18n selector system + E2E tests (76 tests)
  • v1.5.0 — Complete Studio content generation (video, infographic, presentation, data_table) + Notes management + Delete sources
  • v1.4.0 — Content management (sources, audio, generation) + Multi-account

Not yet implemented:

  • Discover sources (Web/Drive search with Fast/Deep modes)
  • Edit notes (create, delete, and convert are implemented)

Disclaimer

This tool automates browser interactions with NotebookLM. Use a dedicated Google account for automation. CLI tools like Claude Code can make mistakes — always review changes before deploying.

See full Disclaimer below.


Contributing

Found a bug? Have an idea? Open an issue or submit a PR!

See CONTRIBUTING.md for guidelines.

License

MIT — Use freely in your projects. See LICENSE.

Author

Romain Peyrichou@roomi-fields


<details> <summary><a name="disclaimer-details"></a>Full Disclaimer</summary>

About browser automation: While I've built in humanization features (realistic typing speeds, natural delays, mouse movements), I can't guarantee Google won't detect or flag automated usage. Use a dedicated Google account for automation.

About CLI tools and AI agents: CLI tools like Claude Code, Codex, and similar AI-powered assistants are powerful but can make mistakes:

  • Always review changes before committing or deploying
  • Test in safe environments first
  • Keep backups of important work
  • AI agents are assistants, not infallible oracles

I built this tool for myself and share it hoping it helps others, but I can't take responsibility for any issues that might occur. Use at your own discretion.

</details>
<div align="center">

Built with frustration about hallucinated APIs, powered by Google's NotebookLM

Star on GitHub if this saves you debugging time!

</div>

常见问题

NotebookLM MCP 是什么?

Automate Google NotebookLM — Q&A with citations, audio, video, content generation

相关 Skills

文档共著

by anthropics

Universal
热门

围绕文档、提案、技术规格、决策记录等写作任务,按上下文收集、结构迭代、读者测试三步协作共创,减少信息遗漏,写出更清晰、经得起他人阅读的内容。

写文档、方案或技术规格时容易思路散、信息漏,它用结构化共著流程帮你高效传递上下文、反复打磨内容,还能从读者视角做验证。

内容与创意
未扫描137.2k

内部沟通

by anthropics

Universal
热门

按公司常用模板和语气快速起草内部沟通内容,覆盖 3P 更新、状态报告、领导汇报、项目进展、事故复盘、FAQ 与 newsletter,适合需要统一格式的团队沟通场景。

按公司偏好的模板快速产出状态汇报、领导更新和 FAQ,既省去反复改稿,也让内部沟通更统一、更专业。

内容与创意
未扫描137.2k

平面设计

by anthropics

Universal
热门

先生成视觉哲学,再落地成原创海报、艺术画面或其他静态设计,输出 .png/.pdf,强调构图、色彩与空间表达,适合需要高完成度视觉成品的场景。

做海报、插画或静态视觉稿时,用它能快速产出兼顾美感与版式的PNG/PDF成品,原创设计更省心,也更适合规避版权风险。

内容与创意
未扫描137.2k

相关 MCP Server

免费的加密新闻聚合 MCP,汇集 Bitcoin、Ethereum、DeFi、Solana 与 altcoins 资讯源。

内容与创意
210

by ProfessionalWiki

热门

让 Large Language Model 客户端无缝连接任意 MediaWiki 站点,可创建、更新、搜索页面,并通过 OAuth 2.0 安全管理内容。

内容与创意16 个工具
94

为 AI agents 提供准确的 UE5 C++ API 文档,避免臆造函数签名与 include 声明。

内容与创意
77

评论