NotebookLM
Google NotebookLM is an AI-powered research assistant that analyzes documents, generates podcasts, creates quizzes, and answers questions from your source material. Two CLI tools bring this functionality to your terminal: nlm (Go-based, focused on notebook management and audio) and notebooklm-py (Python-based, broader feature set including Claude Code integration via MCP skill).
What Is NotebookLM?
Google NotebookLM is an AI research assistant that can analyze documents, generate podcasts, create quizzes, and answer questions from your source material. Two CLI tools bring this functionality to your terminal: nlm (Go-based, focused on notebook management and audio) and notebooklm-py (Python-based, broader feature set including Claude Code integration via MCP skill).
nlm CLI
Installation
go install github.com/tmc/nlm@latest
Commands
| Command | Description |
|---|---|
nlm auth |
Authenticate via browser (Google account) |
nlm auth --profile "name" |
Use specific Chrome profile |
nlm list |
Display all notebooks |
nlm create "title" |
Create a new notebook |
nlm rm <id> |
Remove a notebook |
nlm sources <id> |
Show notebook contents |
nlm add <id> <input> |
Add URL, file, or stdin as source |
cat file.txt | nlm add <id> - |
Pipe stdin to notebook |
nlm audio-create <id> |
Generate audio overview (podcast) |
notebooklm-py
Installation
pip install "notebooklm-py[browser]"
playwright install chromium
Commands
| Command | Description |
|---|---|
notebooklm login |
Authenticate via browser |
notebooklm create "name" |
Create a new notebook |
notebooklm source add "url" |
Add web source |
notebooklm source add "./file.pdf" |
Add local file as source |
notebooklm ask "question" |
Query your sources |
notebooklm generate audio |
Generate podcast |
notebooklm generate quiz --difficulty medium |
Generate quiz |
notebooklm generate flashcards --quantity 20 |
Generate flashcards |
notebooklm generate slide-deck |
Generate presentation |
notebooklm generate mind-map |
Generate mind map |
notebooklm skill install |
Enable @notebooklm-mcp in Claude Code |
Claude Code Integration
The notebooklm-py package includes an MCP (Model Context Protocol) skill that connects NotebookLM directly to Claude Code sessions. This lets you use natural language to create notebooks, add sources, and generate content without leaving your terminal.
Setting Up the Integration
Install and enable the skill:
notebooklm skill install
Verify the skill is available:
claude mcp list
# Should show: notebooklm-mcp
CLAUDE.md Integration Example
Add NotebookLM context loading to your project's CLAUDE.md file so Claude Code automatically has access to your research notebooks.
# Project Research Context
## NotebookLM Integration
This project uses NotebookLM for research management.
### Available Notebooks
- Project Research (ID: abc123) — primary research sources
- Competitor Analysis (ID: def456) — market research
### Loading Context
To load research context into this session:
1. Run: notebooklm ask "Summarize key findings" --notebook abc123
2. Or use MCP: @notebooklm-mcp ask "What are the main themes?"
### Adding Sources
To add new sources to the research notebook:
- notebooklm source add "https://example.com/article" --notebook abc123
- notebooklm source add "./docs/report.pdf" --notebook abc123
- cat README.md | nlm add abc123 -
Quick Reference
Quick Reference: NotebookLM Commands
| Task | nlm | notebooklm-py |
|---|---|---|
| Authenticate | nlm auth |
notebooklm login |
| List notebooks | nlm list |
notebooklm list |
| Create notebook | nlm create "title" |
notebooklm create "title" |
| Add source | nlm add <id> <url> |
notebooklm source add "url" |
| Generate audio | nlm audio-create <id> |
notebooklm generate audio |
| Claude Code skill | N/A | notebooklm skill install |