mcpbeat

Notebooklm

sanjay3290/notebooklm

Query and manage Google NotebookLM notebooks with persistent profile auth, source sync, batch/multi queries, and structured exports. Use when user asks to query NotebookLM, 'ask my notebook', shares NotebookLM notebook URLs, wants to list/create notebooks, manage sources, do bulk folder sync, dedupe, or audit exports.

31k tokens
context cost
the whole folder, loaded on every use
13
files
ships runnable scripts
0
copies elsewhere
how many repositories repackaged it
363
stars on the repo
on the repository, not the skill itself

Install

one command, takes just this skill from the repository
npx skills add https://github.com/sanjay3290/ai-skills --skill notebooklm

The instruction itself

4 sections, as written by the author

NotebookLM Skill

Query NotebookLM notebooks and manage notebooks/sources via Playwright browser automation.

All commands run from the skill directory. All scripts output JSON to stdout and exit 1 on error. Use --help on any script for full flag reference.

Workflow

  • Authenticate: python scripts/auth_manager.py setup --profile <name>
  • Register notebook: python scripts/notebook_manager.py add --url <url> --name <name> --description <desc> --topics <topics>
  • Ask questions: python scripts/ask_question.py --question "..." --notebook-id <id>
  • Manage sources: python scripts/remote_manager.py add-source|sync-sources ...

Key Behaviors

  • Runs headless by default; use --show-browser for debugging only.
  • Persistent Chrome profiles stored at ~/.config/claude/notebooklm-skill/ (override with NOTEBOOKLM_DATA_DIR).
  • Hash-based dedupe: file uploads skip unchanged sources automatically.
  • --dry-run available on all destructive/bulk operations (create, add-source, delete-source, sync-sources).
  • --retries N retries transient browser failures with screenshot/HTML artifact capture.
  • Batch mode (--questions "q1||q2||q3") and multi-notebook comparison (--compare-notebook-ids) supported.
  • Exports to JSON or Markdown via --export-format markdown --save-notes.
  • Answers include a follow-up reminder prompting Claude to ask clarifying questions before replying.

Quick Reference

# Auth
python scripts/auth_manager.py setup --profile work
python scripts/auth_manager.py status --profile work

# Library
python scripts/notebook_manager.py add --url "..." --name "..." --description "..." --topics "..."
python scripts/notebook_manager.py list

# Ask
python scripts/ask_question.py --question "..." --notebook-id <id>
python scripts/ask_question.py --questions "q1||q2" --notebook-id <id>

# Sources
python scripts/remote_manager.py add-source --notebook-id <id> --dir ./docs --recursive
python scripts/remote_manager.py sync-sources --notebook-id <id> --dir ./docs --recursive --delete-missing --dry-run

For full command reference with all flags and examples, see references/commands.md.

How to use it

Copy the folder

Take sanjay3290/notebooklm from the repository into ~/.claude/skills for personal use, or into .claude/skills inside a project.

Check the name does not clash

The agent identifies a skill by the name field in its header. Two skills with the same name cannot sit side by side — one of them will be ignored.