Skip to main content
Glama
rinaldops
by rinaldops

πŸ““ notebooklm-mcp

MCP (Model Context Protocol) server for Google NotebookLM β€” source-grounded, citation-backed answers from your own documents, inside Claude Code and any MCP client.

Version VS Code Marketplace License Node TypeScript MCP

πŸ‡¬πŸ‡§ English Β· πŸ‡§πŸ‡· PortuguΓͺs

⚠️ Notice. Unofficial project, not affiliated with Google. Automating a logged-in session may be considered automated access under NotebookLM's Terms, with risk to your account. Use at your own risk. Subject to usage limits (e.g. ~50 questions/day on the free plan).


✨ Highlights

  • Source-grounded answers β€” every reply comes from your uploaded documents (Gemini), drastically reducing hallucinations.

  • Any MCP client β€” works with Claude Code, Cursor, and anything that speaks the Model Context Protocol over stdio.

  • No official API β€” browser automation with Patchright, reusing a logged-in Google session.

  • Smart Add β€” NotebookLM itself describes a notebook's name, content, and topics so your library stays accurate.

  • Zero Python friction β€” pure TypeScript/Node, distributed via npx. No interpreter, venv, or pip.

Related MCP server: notebooklm-mcp

πŸ“‹ Prerequisites

Requirement

Notes

Node.js β‰₯ 20

Runtime for the server and CLI.

Google account

With access to your NotebookLM notebooks.

Chromium-based browser

System Google Chrome by default; Patchright's Chromium can be installed on demand.

πŸš€ Installation & usage

# 1. Interactive login (once; opens the browser for you to log in to Google)
npx @rinaldops/notebooklm-mcp login

# 2. Register with Claude Code (consumed over stdio)
claude mcp add notebooklm -- npx -y @rinaldops/notebooklm-mcp

# Library management (optional; equivalent MCP tools also exist)
npx @rinaldops/notebooklm-mcp notebooks add "<url>" "My Notebook" "Description" "topic1,topic2"
npx @rinaldops/notebooklm-mcp notebooks list           # local library
npx @rinaldops/notebooklm-mcp notebooks remote         # all notebooks in the account
npx @rinaldops/notebooklm-mcp notebooks describe <url> # Smart Add: discovers the notebook's metadata

πŸ’‘ Prefer the editor experience? Install the VS Code extension in packages/extension β€” it registers the server and auto-configures Claude Code / Cursor in your workspace.

Smart Add (catalog with automatic metadata)

Recommended flow to populate the library without making up descriptions:

  1. notebooks remote (or the notebooklm_list_remote_notebooks tool) β†’ get the URL.

  2. notebooks describe <url> (or notebooklm_describe_notebook) β†’ NotebookLM itself describes the name, content, and topics.

  3. notebooks add <url> <name> <description> <topics> based on step 2.

🧰 Exposed tools

Tool

Purpose

notebooklm_ask

Ask a notebook (active, by id, or by URL)

notebooklm_list_notebooks

List the local library

notebooklm_list_remote_notebooks

Discover all notebooks in the account (scrapes the panel)

notebooklm_describe_notebook

Smart Add: ask the notebook what it contains (name/description/topics)

notebooklm_add_notebook

Add a notebook

notebooklm_activate_notebook

Set the active notebook

notebooklm_remove_notebook

Remove a notebook

notebooklm_auth_status

Session status

βš™οΈ Configuration (env)

Variable

Default

Description

NOTEBOOKLM_CONFIG_DIR

~/.notebooklm-mcp

Data/session directory

NOTEBOOKLM_HEADLESS

true

Headless browser for questions

NOTEBOOKLM_BROWSER_CHANNEL

chrome

Chromium channel (chrome/msedge/...)

NOTEBOOKLM_DEFAULT_NOTEBOOK_URL

β€”

Default notebook when none is active

πŸ› οΈ Development

Monorepo with npm workspaces:

  • packages/mcp-server β€” the MCP server (publishable via npx).

  • packages/extension β€” the VS Code extension (registers/auto-configures the server). Built with tsup; debug with F5 (Extension Development Host).

npm install                 # install all workspaces (from the root)
npm run build               # build all packages
npm run typecheck

# Server commands (run inside the package):
cd packages/mcp-server
npm run dev -- login        # login via tsx, no build
npm start                   # node dist/cli.js (after build)

See PLAN.md for the development plan and the status of each part, and CHANGELOG.md for release history.

πŸ“„ License

MIT Β© 2026 Rinaldo Paulino de Souza. Unofficial project, not affiliated with Google β€” use at your own risk; see the notice at the top.

Related MCP Connectors

Related MCP Servers