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

Bash
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

Bash
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:

Bash
notebooklm skill install

Verify the skill is available:

Bash
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.

CLAUDE.md
# 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