Skip to main content
Glama

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.

v1.7.5 — production-grade, batch-tested on overnight runs of 1 000+ questions. New: batch_to_vault is now a first-class MCP tool (no HTTP server required) on top of the existing POST /batch-to-vault endpoint. See RTFM integration for the full pattern. 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

MCP Claude Code n8n GitHub


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

  • RTFM retrieval layer/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.


Quick Start

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.

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 window

See Docker Guide for NAS deployment (Synology, QNAP).


Documentation

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


Roadmap

See ROADMAP.md for planned features and version history.

Latest releases:

  • v1.7.5 — Three end-user bugs fixed: (1) /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_auth

  • v1.7.4 — Expose create_notebook and delete_notebooks_from_nblm as MCP tools (handlers existed but lacked a tool definition + dispatch case); 30/30 alignment audit passes

  • v1.7.3 — Fix: list_notebooks_from_nblm MCP tool was declared but unreachable (missing dispatch case) — now resolves correctly

  • v1.7.2 — Claude Code plugin manifest (.claude-plugin/plugin.json) + cross-file version sync script enforced in CI; README "Install via Claude Code marketplace" one-liner

  • v1.7.0batch_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

  • v1.6.0/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 vault

  • v1.5.9 — Restore mcpName field for MCP Registry npm-package ownership verification

  • v1.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 @JulienCANTONI

  • v1.5.6 — Citation extraction major rewrite (97% success rate), browser-verified auth at startup, profile auto-sync

  • v1.5.5 — Multi-account state-path bug fix, Windows startup scripts, hidden-window MCP proxy

  • v1.5.4 — Mid-session auto-reauth with stored credentials, TOTP support

  • 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


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!

Install Server
A
license - permissive license
A
quality
C
maintenance

Maintenance

Maintainers
1dResponse time
4dRelease cycle
42Releases (12mo)

Latest Blog Posts

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