notebooklm MCP
Chat with Google NotebookLM via MCP or HTTP REST API for zero-hallucination answers from your docs. Perfect for n8n workflows and automation.
NotebookLM MCP Server
Forked from PleasePrompto/notebooklm-mcp
Full automation of Google NotebookLM: Q&A, audio podcasts, and source management
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
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
Quick Start
Option 1: MCP Mode (Claude Code, Cursor, Codex)
# Clone and build locally
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 2: HTTP REST API (n8n, Zapier, Make.com)
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 server on port 3000
# Query the API
curl -X POST http://localhost:3000/ask \
-H "Content-Type: application/json" \
-d '{"question": "Explain X", "notebook_id": "my-notebook"}'
Option 3: Docker (NAS, Server)
# 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
| Guide | Description |
|---|---|
| Installation | Step-by-step setup for HTTP and MCP modes |
| Configuration | Environment variables and security |
| API Reference | Complete HTTP endpoint documentation |
| n8n Integration | Workflow automation setup |
| Troubleshooting | Common issues and solutions |
| Notebook Library | Multi-notebook management |
| Auto-Discovery | Autonomous metadata generation |
| Docker | Docker and Docker Compose deployment |
| Multi-Interface | Run Claude Desktop + HTTP simultaneously |
| Chrome Limitation | Profile locking (solved in v1.3.6+) |
| Adding a Language | i18n system for multilingual UI support |
Roadmap
See ROADMAP.md for planned features and version history.
Latest releases:
- 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
Full Disclaimer
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!
相关服务器
Bexio MCP
Complete Swiss accounting integration for Bexio via MCP. Works with Claude Desktop, n8n, and any MCP client. 221 tools for invoices, contacts, projects & more.
Lunch Roulette MCP Server
Manages and randomly selects from a list of lunch restaurants, storing choices and visit statistics locally.
JotForm
An MCP server for interacting with the Jotform API to manage online forms and submissions.
FullScope-MCP
An MCP server for content summarization, supporting web scraping, file reading, and direct model calls.
Pandoc
A server for converting document formats using Pandoc.
Monarch Money
Access and manage your Monarch Money financial data and operations.
activity-mcp
An MCP server for interacting with various services like Slack, Harvest, and GitHub to manage activities and data.
Clawdentials
Trust layer for AI agent commerce: escrow payments, verifiable reputation, and bounty marketplace with USDC/USDT/BTC Lightning support.
Kanka
An MCP server for integrating with the Kanka API, a worldbuilding and campaign management tool for tabletop RPGs.
WxO Agent MCP
Simple MCP (Model Context Protocol) server that invokes a single Watson Orchestrate agent remotely. The agent is defined once via environment variables or MCP config. Use this when you want a lightweight MCP that only chats with one agent—no tool management, no agent listing, no flows. Just invoke_agent(message) and get_agent().