Skip to main content

notebooklm-skill

Source-grounded NotebookLM automation for terminals and AI agents.

CI PyPI Python License: MIT

繁體中文

notebooklm-skill gives humans and MCP clients one consistent interface for Google NotebookLM. It creates notebooks from URLs, raw text, and local files; asks grounded questions with citation metadata; completes fast or deep web research; and generates or downloads NotebookLM artifacts.

The project is built around notebooklm-py 0.7.x and includes:

  • a JSON-first core CLI;
  • five end-to-end research pipelines;
  • a 13-tool FastMCP server;
  • profile-aware authentication and Skill installers;
  • one shared compatibility layer, so CLI, pipelines, and MCP use the same behavior.

This is an unofficial integration with NotebookLM's web API. Google can change the service, availability, quotas, or artifact behavior without notice.

Quick start

Isolated source install

The installer creates a dedicated virtual environment, installs Chromium, links five commands into ~/.local/bin, and installs the Claude Code Skill using the standard directory layout.

git clone https://github.com/claude-world/notebooklm-skill.git
cd notebooklm-skill
./install.sh

notebooklm-auth setup
notebooklm-skill list

Ensure ~/.local/bin is on PATH.

PyPI or uvx

# Persistent virtual environment
python3 -m venv .venv
source .venv/bin/activate
python -m pip install notebooklm-skill
python -m playwright install chromium
notebooklm-auth setup

# Or run without a persistent install
uvx --from notebooklm-skill notebooklm-auth setup
uvx --from notebooklm-skill notebooklm-skill list

Direct upstream login is also available:

uvx --from notebooklm-py notebooklm login

Sessions are profile-aware. Select one with --profile NAME before a CLI subcommand, or set NOTEBOOKLM_PROFILE.

To use the locally installed Google Chrome instead of bundled Chromium:

notebooklm-auth setup --browser chrome --fresh

Core CLI

All successful commands print structured JSON to stdout. Diagnostics go to stderr; authentication errors return exit code 4 and argument errors return exit code 2.

# Mixed-source ingestion with truthful per-source outcomes
notebooklm-skill create \
  --title "Research" \
  --sources https://example.com/article \
  --files ./paper.pdf \
  --text-sources "Interview notes" \
  --strict

notebooklm-skill ask \
  --notebook "Research" \
  --query "Which conclusions have the strongest evidence?"

notebooklm-skill research \
  --notebook "Research" \
  --query "Recent independent evaluations" \
  --mode deep --max-sources 10

notebooklm-skill generate \
  --notebook "Research" \
  --type slides --lang zh-TW \
  --output ./output/deck.pptx --output-format pptx

notebooklm-skill list-artifacts --notebook "Research" --type slides

Commands resolve an exact ID, unique title, or unique title substring. Use IDs for repeatable automation. Deletes require --yes; downloads refuse existing files or symlinks unless an explicit safe overwrite is requested with --force.

Artifact types

Type Default download Notes
audio M4A deep-dive, brief, critique, or debate
video MP4 explainer/brief and multiple visual styles
cinematic MP4 cinematic video workflow
slides PDF PDF or PPTX
report Markdown briefing, study guide, blog, or custom
study-guide Markdown report shortcut
quiz JSON JSON, Markdown, or HTML
flashcards JSON JSON, Markdown, or HTML
mind-map JSON immediate generation result
infographic PNG orientation, detail, and style options
data-table CSV structured extraction

Use notebooklm-skill generate --help for the live option matrix. Long-running generations support --no-wait, and later downloads can select --artifact-id.

Pipelines

notebooklm-pipeline research-to-article \
  --sources https://example.com/a https://example.com/b \
  --title "Evidence review" --audience "engineers"

notebooklm-pipeline research-to-social \
  --files ./brief.pdf --platform linkedin --variants 3

notebooklm-pipeline batch-digest \
  --rss https://example.com/feed.xml --max-entries 20 --qa-count 5

notebooklm-pipeline generate-all \
  --files ./paper.pdf --types audio slides report mind-map \
  --output-dir ./output --artifact-concurrency 2

trend-to-content requires the optional trend-pulse command. Pipelines return drafts and local artifacts; they do not publish to social platforms or remote CMSs.

MCP server

The default stdio transport is suitable for Claude Code, Cursor, and other MCP clients:

{
  "mcpServers": {
    "notebooklm": {
      "command": "uvx",
      "args": ["--from", "notebooklm-skill", "notebooklm-mcp"]
    }
  }
}

The 13 tools cover notebook CRUD, mixed sources, grounded chat, summaries, artifact generation/list/download, full research lifecycles, research pipelines, and trend research. Notebook deletion requires confirm=true.

Optional HTTP mode is deliberately loopback-only:

notebooklm-mcp --http --host 127.0.0.1 --port 8765

Do not expose it directly to a network. See SECURITY.md.

Additional commands

Command Purpose
notebooklm-auth Setup, verify, or clear a selected auth profile
notebooklm-install-skill Install SKILL.md for a user or project, with safe backups
notebooklm-install-skill --scope project
notebooklm-auth --profile work verify

Development

python3 -m venv .venv
source .venv/bin/activate
python -m pip install -e '.[dev]'
ruff check .
ruff format --check .
mypy scripts mcp_server
pytest --cov --cov-report=term-missing
python -m build
twine check dist/*

More detail: setup guide, Skill instructions, API compatibility notes, and changelog.

License

MIT

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

notebooklm_skill-1.3.0.tar.gz (65.0 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

notebooklm_skill-1.3.0-py3-none-any.whl (44.6 kB view details)

Uploaded Python 3

File details

Details for the file notebooklm_skill-1.3.0.tar.gz.

File metadata

  • Download URL: notebooklm_skill-1.3.0.tar.gz
  • Upload date:
  • Size: 65.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for notebooklm_skill-1.3.0.tar.gz
Algorithm Hash digest
SHA256 26b4c21d4d4819e0c2b2014d6d485cc9b0860376edf0e9d7f2bae1775957a8bd
MD5 51c620cd5d0057c40fe7d0500c006b0c
BLAKE2b-256 97f13111615aa6014186b38062b1159504fff9753a5f08bb4987929353ee7983

See more details on using hashes here.

Provenance

The following attestation bundles were made for notebooklm_skill-1.3.0.tar.gz:

Publisher: release.yml on claude-world/notebooklm-skill

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file notebooklm_skill-1.3.0-py3-none-any.whl.

File metadata

File hashes

Hashes for notebooklm_skill-1.3.0-py3-none-any.whl
Algorithm Hash digest
SHA256 fe6f8474e47fe8eafa9c15284ea4e9bdcbb78459472b09205c78de63f650d24c
MD5 4a818fba4b696e217deabdbdf2f67db4
BLAKE2b-256 fb3ef1f6090048a0a7eb4404f8e8148e87a958eeb3c844d3e7163827d34997ff

See more details on using hashes here.

Provenance

The following attestation bundles were made for notebooklm_skill-1.3.0-py3-none-any.whl:

Publisher: release.yml on claude-world/notebooklm-skill

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Release history Release notifications | RSS feed

This release

1.3.0 This release

2 files

1.2.1

2 files

1.2.0

2 files

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page