loading…
Search for a command to run...
loading…
Full automation of Google NotebookLM — Q&A with citations, audio podcasts, video, content generation, source management, and notebook library. MCP + HTTP REST A
Full automation of Google NotebookLM — Q&A with citations, audio podcasts, video, content generation, source management, and notebook library. MCP + HTTP REST API.
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.4 — production-grade, batch-tested on overnight runs of 1 000+ questions. Tools are now a namespaced tree (
notebook_ask,source_add,session_list…) with MCPannotations+outputSchemaon 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.
CI npm version npm downloads codecov License: MIT TypeScript Node.js
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
/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.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-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.
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.
# 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.
# 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).
Full docs site: https://roomi-fields.github.io/notebooklm-mcp/ · OpenAPI 3.1 spec
| Guide | Description |
|---|---|
| Installation | Step-by-step setup for HTTP and MCP modes |
| Configuration | Environment variables and security |
| REST API reference | Complete HTTP endpoint documentation (33 endpoints) |
| Run 1 000 questions overnight | Production batch pattern with auto-reauth and rotation |
| RTFM integration — cache as searchable vault | Pipeline pattern: NotebookLM as one-shot ingestion, RTFM as retrieval layer. /batch-to-vault endpoint, nblm-answer-v1 schema. |
| n8n integration | Workflow automation setup |
| Troubleshooting | Common issues and solutions |
| Notebook library | Multi-notebook management |
| Auto-discovery | Autonomous metadata generation |
| Content management | Audio, video, infographic, report, presentation |
| Multi-account rotation | Multiple accounts with TOTP auto-reauth |
| Docker | Docker and Docker Compose deployment |
| Multi-interface | Run Claude Desktop + HTTP simultaneously |
| Compare with PleasePrompto v2.0.0 | Feature matrix vs the upstream MCP-only server |
| Chrome profile limitation | Profile locking (solved in v1.3.6+) |
| Adding a language | i18n system for multilingual UI support |
See ROADMAP.md for planned features and version history.
Latest releases:
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.ip-address ≤10.1.0 (pulled in via @modelcontextprotocol/sdk → express-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.add_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 shellsadd_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 deliverablecreate_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)/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_authcreate_notebook and delete_notebooks_from_nblm as MCP tools (handlers existed but lacked a tool definition + dispatch case); 30/30 alignment audit passeslist_notebooks_from_nblm MCP tool was declared but unreachable (missing dispatch case) — now resolves correctly.claude-plugin/plugin.json) + cross-file version sync script enforced in CI; README "Install via Claude Code marketplace" one-linerbatch_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/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 vaultmcpName field for MCP Registry npm-package ownership verification.highlighted) and Docker multi-stage build — PR #1 by @JulienCANTONINot yet implemented:
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.
Found a bug? Have an idea? Open an issue or submit a PR!
See CONTRIBUTING.md for guidelines.
MIT — Use freely in your projects. See LICENSE.
Romain Peyrichou — @roomi-fields
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:
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!
Run in your terminal:
claude mcp add roomi-fields-notebooklm-mcp -- npx Yes, roomi-fields/notebooklm-mcp MCP is free — one-click install via Unyly at no cost.
No, roomi-fields/notebooklm-mcp runs without API keys or environment variables.
Self-hosted: the server runs locally on your machine via the install command above.
Open roomi-fields/notebooklm-mcp on unyly.org, pick your client tab (Claude Desktop, Claude Code, Cursor) and press Install — the config is generated automatically, no JSON editing.
Transcripts, channel stats, search
by YouTubeAI image generation using various models.
by modelcontextprotocolUnified GPU inference API with 30 AI services (LLM, image gen, video, TTS, whisper, embeddings, reranking, OCR) as MCP tools. Pay-per-use via x402 USDC or API k
by gpu-bridgeA powerful image generation tool using Google's Imagen 3.0 API through MCP. Generate high-quality images from text prompts with advanced photography, artistic,
by hamflxNot sure what to pick?
Find your stack in 60 seconds
Author?
Embed badge for your README
Browse similar
All media MCPs