notebooklm-mcp
The NotebookLM MCP Server provides full automation of Google NotebookLM via MCP protocol or HTTP REST API.
Q&A & Research
Ask questions and receive citation-backed answers with 5 citation formats (none, inline, footnotes, json, expanded)
Multi-turn conversations with session management (create, list, reset, close)
Content Generation
Audio overviews: podcast-style discussions in 80+ languages
Videos: brief or explainer style with 6 visual styles (classroom, documentary, animated, corporate, cinematic, minimalist)
Infographics: horizontal (16:9) or vertical (9:16)
Reports, presentations, and data tables — all support custom instructions and 80+ languages
Content Download & Export
Download audio (MP3), video (MP4), infographics (PNG)
Export presentations to Google Slides, data tables to Google Sheets
Source Management
Add sources: files (PDF, DOCX, TXT), URLs, plain text, YouTube videos, Google Drive links
List and delete sources from notebooks
Notebook Library Management
Add notebooks manually or via auto-discovery (auto-generates name, description, tags)
List, search, select, update, remove notebooks; view library stats
Scrape NotebookLM homepage to discover all notebooks with IDs and names
Bulk delete notebooks
Notes Management
Create notes with markdown formatting
Save chat conversations to a note
Convert notes into source documents for RAG
Authentication & Maintenance
Browser-based Google login setup, re-authentication, and de-authentication
Check server health (auth status, active sessions, config)
Deep cleanup across 8 data categories with optional library preservation
Integration & Deployment
MCP protocol clients: Claude Code, Cursor, Codex
HTTP REST API for n8n, Zapier, Make.com
Docker/Docker Compose support with noVNC for headless visual authentication
Enables querying Google's NotebookLM service to retrieve zero-hallucination answers synthesized from user-uploaded documentation, with support for multiple notebooks and citation-backed responses.
Supports HTTP REST API integration with Make.com, allowing automation scenarios to query NotebookLM knowledge bases for documentation-driven responses.
Provides HTTP REST API integration for n8n workflows, allowing automation tasks to query NotebookLM knowledge bases and receive synthesized answers from documentation.
Offers HTTP REST API access for Zapier integrations, enabling automated workflows to query NotebookLM notebooks and retrieve documentation-based answers.
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@notebooklm-mcpsummarize the key points from our API documentation notebook"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
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 across personal and Google Workspace accounts.
v3.0.0 — major refactor: dual transport. The data plane now drives NotebookLM's internal
batchexecuteRPC API (the same one the web app calls) instead of scraping the DOM — immune to UI rebrands, 10-100× faster (list notebooks ~1 s vs ~30 s, generate a report ~13 s vs minutes), and more correct. The Playwright browser is kept as an automatic fallback (NOTEBOOKLM_TRANSPORT=domforces it) plus login / auto-reauth, so nothing breaks if an internal endpoint shifts — both paths ship permanently for robustness. Adds 5 new tools: notebook sharing, study aids (flashcards / quiz), mind maps, source labels, and web research / source discovery. Still batch-tested on overnight runs of 1 000+ questions. See the changelog. Compare withPleasePrompto/notebooklm-mcpfor when this project is the right pick (REST API, full Studio, auto-reauth).
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 Type | Formats | Options |
Audio Overview | Podcast-style discussion | Language (80+), custom instructions |
Video | Brief, Explainer | 6 visual styles, language, custom instructions |
Infographic | Horizontal, Vertical | Language, custom instructions |
Report | Summary, Detailed | Language, custom instructions |
Presentation | Overview, Detailed | Language, custom instructions |
Data Table | Simple, Detailed | Language, 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
Accounts & Localization
Personal and Google Workspace accounts — recognizes both NotebookLM hosts (
notebooklm.google.comand thenotebook.google.comWorkspace alias), so Workspace sessions authenticate cleanly instead of looping on "session expired"UI-language-aware — drives NotebookLM whether its interface is in English, French, German, or Japanese (
en·fr·de·ja); add a language in a single JSON file
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-vaultwrites citation-backed answers as markdown + JSON sidecars (nblm-answer-v1schema), indexable by RTFM (FTS5 + semantic) for unlimited offline queries. Ideal for academic / SOTA workflows. Guide.
Related MCP server: NotebookLM MCP Server
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):
/plugin marketplace add roomi-fields/claude-plugins
/plugin install notebooklm@roomi-fieldsThat 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)
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# 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)
# 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)
# 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 windowSee Docker Guide for NAS deployment (Synology, QNAP).
Documentation
Full docs site: https://roomi-fields.github.io/notebooklm-mcp/ · OpenAPI 3.1 spec
Guide | Description |
Step-by-step setup for HTTP and MCP modes | |
Environment variables and security | |
Complete HTTP endpoint documentation (33 endpoints) | |
Production batch pattern with auto-reauth and rotation | |
Pipeline pattern: NotebookLM as one-shot ingestion, RTFM as retrieval layer. | |
Workflow automation setup | |
Common issues and solutions | |
Multi-notebook management | |
Autonomous metadata generation | |
Audio, video, infographic, report, presentation | |
Multiple accounts with TOTP auto-reauth | |
Docker and Docker Compose deployment | |
Run Claude Desktop + HTTP simultaneously | |
Feature matrix vs the upstream MCP-only server | |
Profile locking (solved in v1.3.6+) | |
i18n system for multilingual UI support |
Roadmap
See ROADMAP.md for planned features and version history.
Latest releases:
v2.2.1 — Recognize both NotebookLM hosts so Google Workspace accounts authenticate (the
notebook.google.comalias); notebook listing no longer wastes ~30s after the "Gemini Notebook" rebrand; HTTP banner reads the real version. Diagnosis + patch by @kpietkaa (#19)v2.2.0 — Fix new-answer detection timing out when an answer repeats an earlier one (position-based identity, not text-hash); graceful shutdown on stdio disconnect; Japanese UI locale
v2.1.1 — Thai UI selectors for
notebook_create(partial, #18)v2.1.0 —
note_listandnote_getMCP tools (#17)v2.0.4 — German UI selectors (closes #14)
v2.0.0 — Tools renamed to a namespaced tree (
notebook_ask,source_add,session_list,server_health,vault_batch…) across 9 namespaces;tools/listadvertises only the canonical names. Backward compatible — the legacy flat names still work as aliases, so existing scripts and configs keep running. Also adds MCPannotations(read-only / destructive / idempotent / open-world hints) andoutputSchema+structuredContenton every tool. Published on the Smithery registry.v1.7.0 —
batch_to_vaultexposed as a first-class MCP tool (parity with the HTTP endpoint, no localhost server required); sharedrunBatchToVaulthelper deduplicates the loop across both transportsv1.6.0 —
/batch-to-vaultendpoint + RTFM integration (nblm-answer-v1JSON Schema published at schemas.roomi-fields.com/nblm-answer-v1.json) for caching NotebookLM answers as a searchable markdown vaultv1.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 @JulienCANTONIv1.5.6 — Citation extraction major rewrite (97% success rate), browser-verified auth at startup, profile auto-sync
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
Intermediate patch and hardening releases (1.5.x–1.7.x) are in the full CHANGELOG.
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
Acknowledgments
Thanks to everyone who has contributed code, ideas, and bug reports:
Gérôme Dexheimer — @PleasePrompto, author of the upstream
notebooklm-mcpthis project builds onKhizar Jamshaid Iqbal — @KhizarJamshaidIqbal, 2025 UI selector fixes, doctor script, PII scrub
Kazik Pietka — @kpietkaa,
notebook.google.comrebrand supportRui Ruiberriz — @Excauboi,
hl=<uiLocale>on app URLs + click-through scrape fallback@he0xwhale —
note_list/note_getMCP tools@eminsnow — canonical tool names (
_over.)Julien Cantoni — @JulienCANTONI
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.
Built with frustration about hallucinated APIs, powered by Google's NotebookLM
⭐ Star on GitHub if this saves you debugging time!
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Servers
- Alicense-qualityBmaintenanceProduction-grade Model Context Protocol server for Google NotebookLM that lets any MCP-capable client (Claude, ChatGPT, Cursor, etc.) interact with NotebookLM notebooks, sources, chats, and artifacts.Last updatedMIT
- AlicenseAqualityCmaintenanceProvides CLI and MCP server to programmatically access Google NotebookLM, enabling AI assistants to create notebooks, add sources, generate podcasts, and more, with support for both personal and enterprise accounts.Last updated41MIT
- Alicense-qualityCmaintenanceMCP server that connects AI agents to Google NotebookLM, enabling natural language interaction with notebooks, including Q&A, source ingestion, and audio overview generation.Last updated5,298MIT
- Alicense-qualityFmaintenanceMCP server for Google NotebookLM that lets AI agents chat with notebooks, add sources, generate audio overviews, and extract citations via a real Chrome browser.Last updatedMIT
Related MCP Connectors
A comprehensive Model Context Protocol (MCP) server that enables AI assistants to interact with yo…
Search, read, and write your Apple Notes from ChatGPT/Claude via a local Mac agent + MCP relay.
Create, browse, remix, collaborate on, and run durable AI workflow nodes from MCP hosts.
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/roomi-fields/notebooklm-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server