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

Chat directly with NotebookLM for zero-hallucination answers based on your own notebooks

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

MCP Claude Code n8n GitHub


Why NotebookLM?

ApproachToken CostHallucinationsAnswer Quality
Feed docs to ClaudeVery highYes - fills gapsVariable
Web searchMediumHigh - unreliable sourcesHit or miss
Local RAGMedium-HighMedium - retrieval gapsDepends on setup
NotebookLM MCPMinimalZero - refuses if unknownExpert synthesis

NotebookLM is pre-indexed by Gemini, provides citation-backed answers, and requires no infrastructure.


Quick Start

Option 1: MCP Mode (Claude Code, Cursor, Codex)

# Claude Code
claude mcp add notebooklm npx @roomi-fields/notebooklm-mcp@latest

# Cursor - add to ~/.cursor/mcp.json
{
  "mcpServers": {
    "notebooklm": {
      "command": "npx",
      "args": ["-y", "@roomi-fields/notebooklm-mcp@latest"]
    }
  }
}

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"}'

Documentation

GuideDescription
InstallationStep-by-step setup for HTTP and MCP modes
ConfigurationEnvironment variables and security
API ReferenceComplete HTTP endpoint documentation
n8n IntegrationWorkflow automation setup
TroubleshootingCommon issues and solutions
Notebook LibraryMulti-notebook management
Auto-DiscoveryAutonomous metadata generation
Multi-InterfaceRun Claude Desktop + HTTP simultaneously
Chrome LimitationProfile locking (solved in v1.3.6+)

Core Features

  • Zero Hallucinations — NotebookLM refuses to answer if info isn't in your docs
  • Multi-Notebook Library — Manage multiple notebooks with validation and smart selection
  • Auto-Discovery — Automatically generate metadata via NotebookLM queries
  • HTTP REST API — Use from n8n, Zapier, Make.com, or any HTTP client
  • Daemon Mode — Run as background process with PM2 (npm run daemon:start)
  • Cross-Tool — Works with Claude Code, Cursor, Codex, and any MCP client

Architecture

Your Task → Agent/n8n → MCP/HTTP Server → Chrome Automation → NotebookLM → Gemini 2.5 → Your Docs
                                                                    ↓
                                                            Accurate Output

Roadmap

See ROADMAP.md for planned features and version history.

v1.3.6: Multi-interface mode via stdio-HTTP proxy (run Claude Desktop + HTTP simultaneously).

Next up (v1.4.0): Separate Chrome profiles for independent authentication per mode.


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.


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!

Related Servers