NotebookLM
STDIO让CLI代理与NotebookLM对话的零幻觉MCP服务器
让CLI代理与NotebookLM对话的零幻觉MCP服务器
Let your CLI agents (Claude, Cursor, Codex...) chat directly with NotebookLM for zero-hallucination answers based on your own notebooks
Installation • Quick Start • Why NotebookLM • Examples • Claude Code Skill • Documentation
When you tell Claude Code or Cursor to "search through my local documentation", here's what happens:
Let your local agents chat directly with NotebookLM — Google's zero-hallucination knowledge base powered by Gemini 2.5 that provides intelligent, synthesized answers from your docs.
Your Task → Local Agent asks NotebookLM → Gemini synthesizes answer → Agent writes correct code
The real advantage: No more manual copy-paste between NotebookLM and your editor. Your agent asks NotebookLM directly and gets answers straight back in the CLI. It builds deep understanding through automatic follow-ups — Claude asks multiple questions in sequence, each building on the last, getting specific implementation details, edge cases, and best practices. You can save NotebookLM links to your local library with tags and descriptions, and Claude automatically selects the relevant notebook based on your current task.
| Approach | Token Cost | Setup Time | Hallucinations | Answer Quality | 
|---|---|---|---|---|
| Feed docs to Claude | 🔴 Very high (multiple file reads) | Instant | Yes - fills gaps | Variable retrieval | 
| Web search | 🟡 Medium | Instant | High - unreliable sources | Hit or miss | 
| Local RAG | 🟡 Medium-High | Hours (embeddings, chunking) | Medium - retrieval gaps | Depends on setup | 
| NotebookLM MCP | 🟢 Minimal | 5 minutes | Zero - refuses if unknown | Expert synthesis | 
claude mcp add notebooklm npx notebooklm-mcp@latest
codex mcp add notebooklm -- npx notebooklm-mcp@latest
gemini mcp add notebooklm npx notebooklm-mcp@latest
Add to ~/.cursor/mcp.json:
{ "mcpServers": { "notebooklm": { "command": "npx", "args": ["-y", "notebooklm-mcp@latest"] } } }
amp mcp add notebooklm -- npx notebooklm-mcp@latest
code --add-mcp '{"name":"notebooklm","command":"npx","args":["notebooklm-mcp@latest"]}'
Generic MCP config:
{ "mcpServers": { "notebooklm": { "command": "npx", "args": ["notebooklm-mcp@latest"] } } }
Prefer Claude Code Skills over MCP? This server is now also available as a native Claude Code Skill with a simpler setup:
NotebookLM Claude Code Skill - Clone to ~/.claude/skills and start using immediately
Key differences:
Both use the same browser automation technology and provide zero-hallucination answers from your NotebookLM notebooks.
Say in your chat (Claude/Codex):
"Log me in to NotebookLM"
A Chrome window opens → log in with Google
Go to notebooklm.google.com → Create notebook → Upload your docs:
Share: ⚙️ Share → Anyone with link → Copy
"I'm building with [library]. Here's my NotebookLM: [link]"
That's it. Claude now asks NotebookLM whatever it needs, building expertise before writing code.
Challenge: n8n's API is new — Claude hallucinates node names and functions.
Solution:
Watch the AI-to-AI conversation:
Claude → "How does Gmail integration work in n8n?"
NotebookLM → "Use Gmail Trigger with polling, or Gmail node with Get Many..."
Claude → "How to decode base64 email body?"
NotebookLM → "Body is base64url encoded in payload.parts, use Function node..."
Claude → "How to parse OpenAI response as JSON?"
NotebookLM → "Set responseFormat to json, use {{ $json.spam }} in IF node..."
Claude → "What about error handling if the API fails?"
NotebookLM → "Use Error Trigger node with Continue On Fail enabled..."
Claude → ✅ "Here's your complete workflow JSON..."
Result: Perfect workflow on first try. No debugging hallucinated APIs.
NotebookLM refuses to answer if information isn't in your docs. No invented APIs.
Claude asks follow-up questions automatically, building complete understanding before coding.
Save NotebookLM links with tags and descriptions. Claude auto-selects the right notebook for your task.
"Add [link] to library tagged 'frontend, react, components'"
Set up once, use everywhere. Claude Code, Codex, Cursor — all share the same library.
Fresh start anytime. Scans entire system for NotebookLM data with categorized preview.
graph LR A[Your Task] --> B[Claude/Codex] B --> C[MCP Server] C --> D[Chrome Automation] D --> E[NotebookLM] E --> F[Gemini 2.5] F --> G[Your Docs] G --> F F --> E E --> D D --> C C --> B B --> H[Accurate Code]
| Intent | Say | Result | 
|---|---|---|
| Authenticate | "Open NotebookLM auth setup" or "Log me in to NotebookLM" | Chrome opens for login | 
| Add notebook | "Add [link] to library" | Saves notebook with metadata | 
| List notebooks | "Show our notebooks" | Lists all saved notebooks | 
| Research first | "Research this in NotebookLM before coding" | Multi-question session | 
| Select notebook | "Use the React notebook" | Sets active notebook | 
| Update notebook | "Update notebook tags" | Modify metadata | 
| Remove notebook | "Remove [notebook] from library" | Deletes from library | 
| View browser | "Show me the browser" | Watch live NotebookLM chat | 
| Fix auth | "Repair NotebookLM authentication" | Clears and re-authenticates | 
| Switch account | "Re-authenticate with different Google account" | Changes account | 
| Clean restart | "Run NotebookLM cleanup" | Removes all data for fresh start | 
| Keep library | "Cleanup but keep my library" | Preserves notebooks | 
| Delete all data | "Delete all NotebookLM data" | Complete removal | 
Is it really zero hallucinations? Yes. NotebookLM is specifically designed to only answer from uploaded sources. If it doesn't know, it says so.
What about rate limits? Free tier has daily query limits per Google account. Quick account switching supported for continued research.
How secure is this? Chrome runs locally. Your credentials never leave your machine. Use a dedicated Google account if concerned.
Can I see what's happening? Yes! Say "Show me the browser" to watch the live NotebookLM conversation.
What makes this better than Claude's built-in knowledge? Your docs are always current. No training cutoff. No hallucinations. Perfect for new libraries, internal APIs, or fast-moving projects.
Without NotebookLM MCP: Write code → Find it's wrong → Debug hallucinated APIs → Repeat
With NotebookLM MCP: Claude researches first → Writes correct code → Ship faster
Stop debugging hallucinations. Start shipping accurate code.
# Get started in 30 seconds claude mcp add notebooklm npx notebooklm-mcp@latest
This tool automates browser interactions with NotebookLM to make your workflow more efficient. However, a few friendly reminders:
About browser automation: While I've built in humanization features (realistic typing speeds, natural delays, mouse movements) to make the automation behave more naturally, I can't guarantee Google won't detect or flag automated usage. I recommend using a dedicated Google account for automation rather than your primary account—think of it like web scraping: probably fine, but better safe than sorry!
About CLI tools and AI agents: CLI tools like Claude Code, Codex, and similar AI-powered assistants are incredibly powerful, but they can make mistakes. Please use them with care and awareness:
I built this tool for myself because I was tired of the copy-paste dance between NotebookLM and my editor. I'm sharing it in the hope it helps others too, but I can't take responsibility for any issues, data loss, or account problems that might occur. Use at your own discretion and judgment.
That said, if you run into problems or have questions, feel free to open an issue on GitHub. I'm happy to help troubleshoot!
Found a bug? Have a feature idea? Open an issue or submit a PR!
MIT — Use freely in your projects.
Built with frustration about hallucinated APIs, powered by Google's NotebookLM
⭐ Star on GitHub if this saves you debugging time!