Claude Code Tools

notebooklm-skill

github

NotebookLM does the research, Claude writes the content. Research → Synthesis → Content Creation → Publishing. Claude Code Skill + MCP Server.

Stars
⭐ 223
License
MIT
Last Updated
2026-05-20
Source
github

notebooklm-skill

NotebookLM does the research, Claude writes the content.

The only tool that connects trending topic discovery → NotebookLM deep research → AI content creation → multi-platform publishing. Works as a Claude Code Skill or standalone MCP Server.

License: MIT

繁體中文版 README


Demo

LanguageYouTubeSlides
EnglishWatch6 pages, auto-generated
繁體中文Watch5 pages, auto-generated

All slides, podcasts, and videos were generated by NotebookLM using this tool.


What is this?

notebooklm-skill bridges NotebookLM’s research capabilities with Claude’s content generation. Feed it URLs, PDFs, or trending topics — it creates a NotebookLM notebook, runs deep research queries, and hands structured findings to Claude for polished output: articles, social posts, newsletters, podcasts, or any format you need.

Built on notebooklm-py v0.3.4 — pure async Python, no OAuth setup needed.

Sources (URLs, PDFs)          NotebookLM                Claude               Artifacts & Platforms
+-----------------+    +------------------+    +-----------------+    +----------------------+
| Web articles    |--->| Create notebook  |--->| Draft article   |--->| Blog / CMS           |
| Research papers |    | Add sources      |    | Social posts    |    | Threads / X          |
| YouTube videos  |    | Ask questions    |    | Newsletter      |    | Newsletter           |
| Trending topics |    | Extract insights |    | Any format      |    | Any platform         |
+-----------------+    +------------------+    +-----------------+    +----------------------+
     Phase 1                Phase 2                Phase 3                  Phase 4
                                |
                                v
                       +------------------+
                       | Generate artifacts|
                       | Audio (podcast)   |
                       | Video             |
                       | Slides            |
                       | Report            |
                       | Quiz              |
                       | Flashcards        |
                       | Mind map          |
                       | Infographic       |
                       | Data table        |
                       | Study guide       |
                       +------------------+
                            Phase 2b

Quick Start

# Option A: uvx (recommended — zero install)
uvx notebooklm-skill --help
uvx --from notebooklm-skill notebooklm-mcp   # Start MCP server

# Option B: pip install from PyPI
pip install notebooklm-skill

# Option C: Install from source
git clone https://github.com/claude-world/notebooklm-skill.git
cd notebooklm-skill && pip install .

# Option D: One-line install (pip + Playwright + Claude Code Skill)
git clone https://github.com/claude-world/notebooklm-skill.git
cd notebooklm-skill && ./install.sh

# Authenticate with Google (one-time, opens browser)
uvx notebooklm login              # if using uvx
# or: python3 -m notebooklm login  # if using pip install

# Use commands (uvx or direct — both work the same)
notebooklm-skill create --title "My Research" --sources https://example.com/article
notebooklm-skill ask --notebook "My Research" --query "What are the key findings?"
notebooklm-skill podcast --notebook "My Research" --lang en --output podcast.m4a
notebooklm-pipeline research-to-article --sources https://example.com --title "Topic"
notebooklm-mcp                   # Start MCP server (stdio mode)

Or use scripts directly: python scripts/notebooklm_client.py create ...

See docs/SETUP.md for the full setup guide.

Authentication

notebooklm-py uses browser-based Google login. No API keys, no OAuth Client ID, no Google Cloud project needed.

# One-time login (opens Chromium, sign in with Google)
uvx notebooklm login              # if using uvx
python3 -m notebooklm login       # if using pip install
StepCommandWhat happens
Loginuvx notebooklm loginOpens Chromium, user logs into Google
Session storageAutomaticSaved to ~/.notebooklm/storage_state.json
Subsequent useAll CLI / MCP commandsReads saved session, pure HTTP calls
Verifyuvx notebooklm-skill listLists notebooks to confirm auth works
Clearrm -rf ~/.notebooklmRemoves stored session

Session typically lasts weeks. Re-run login if you get authentication errors.

Two Ways to Use

Claude Code SkillMCP Server
Best forClaude Code users who want NotebookLM in their workflowAny MCP-compatible client (Cursor, Gemini CLI, etc.)
SetupCopy skill to .claude/skills/Add server to MCP config
InvocationClaude auto-detects when relevantTools appear in client tool list
ConfigSKILL.md + .env.mcp.json + .env
RequirementsPython 3.10+, notebooklm-pyPython 3.10+, notebooklm-py

Features

FeatureDescriptionStatus
Notebook CRUDCreate, list, delete notebooksAvailable
Source ingestionAdd URLs, PDFs, YouTube links, plain textAvailable
Research queriesAsk questions against notebook sources with citationsAvailable
Structured extractionGet key facts, arguments, timelinesAvailable
Content generationUse research output as context for ClaudeAvailable
Batch operationsProcess multiple sources or queries at onceAvailable
trend-pulse integrationAuto-discover trending topics to researchAvailable
threads-viral-agent integrationPublish research-backed social postsAvailable

Artifact Generation (9 downloadable types)

ArtifactFormatDescription
AudioM4AAI-generated podcast discussion
VideoMP4Video summary with visuals
SlidesPDF / PPTXPresentation deck
ReportMarkdownComprehensive written report
QuizJSON / Markdown / HTMLMultiple-choice assessment questions
FlashcardsJSON / Markdown / HTMLStudy flashcard deck
Mind mapJSONVisual concept map
InfographicPNGVisual data summary
Data tableCSVStructured data extraction
Study guideMarkdownStructured learning material

Most artifacts support language selection (e.g., --lang zh-TW). Exceptions: quiz, flashcards, mind-map.

Note: NotebookLM returns audio in MPEG-4 (M4A) format, not MP3.

Architecture

+---------------------------------------------------------------+
|                      notebooklm-skill                          |
|                                                                |
|  +---------+  +--------------+  +----------+  +------------+  |
|  | Phase 1 |  |   Phase 2    |  |  Phase 3 |  |  Phase 4   |  |
|  | Collect  |->|  Research    |->| Generate  |->|  Publish   |  |
|  +---------+  +--------------+  +----------+  +------------+  |
|      |              |                |               |         |
|  +--------+  +-------------+  +-----------+  +-----------+    |
|  | URLs   |  | NotebookLM  |  |  Claude    |  | Threads   |    |
|  | PDFs   |  | (via        |  |  Content   |  | Blog      |    |
|  | RSS    |  |  notebooklm |  |  Engine    |  | Email     |    |
|  | Trends |  |  -py 0.3.4) |  |            |  | CMS       |    |
|  +--------+  | - notebooks |  +-----------+  +-----------+    |
|              | - sources   |        |                          |
|              | - chat/ask  |  +-----------+                    |
|              | - artifacts |  | Artifacts |                    |
|              +-------------+  | audio     |                    |
|                               | video     |                    |
|                               | slides    |                    |
|                               | report    |                    |
|                               | quiz      |                    |
|                               | flashcards|                    |
|                               | mind-map  |                    |
|                               | infographic| ⚠️ no download    |
|                               | data-table|                    |
|                               | study-guide|                   |
|                               +-----------+                    |
|                                                                |
|  +-----------------------------------------------------------+ |
|  |  Interfaces                                                | |
|  |  +-- scripts/          CLI tools (notebooklm-py direct)   | |
|  |  +-- mcp_server/       MCP protocol server                 | |
|  |  +-- SKILL.md          Claude Code skill definition        | |
|  +-----------------------------------------------------------+ |
+---------------------------------------------------------------+
         ^                                          ^
         |                                          |
   +-----------+                             +-----------+
   |trend-pulse|                             |threads-   |
   |(optional) |                             |viral-agent|
   +-----------+                             |(optional) |
                                             +-----------+

Usage Examples

1. Research to Article

python scripts/pipeline.py research-to-article \
  --sources "https://arxiv.org/abs/2401.00001" \
            "https://blog.example.com/ai-agents" \
  --title "AI Agent Survey"

2. Research to Social Posts

python scripts/pipeline.py research-to-social \
  --sources "https://example.com/ai-news" \
  --platform threads \
  --title "AI News This Week"
python scripts/pipeline.py trend-to-content \
  --geo TW \
  --count 5 \
  --platform threads

4. RSS Batch Digest

python scripts/pipeline.py batch-digest \
  --rss "https://example.com/feed.xml" \
  --title "Weekly AI Digest"

5. Generate All Artifacts

python scripts/pipeline.py generate-all \
  --sources "https://example.com/article" \
  --title "Research" \
  --output-dir ./output \
  --language zh-TW

6. Slides + Podcast → YouTube Video

Combine NotebookLM-generated slides and podcast into a YouTube-ready video:

# Generate slides and podcast
python scripts/notebooklm_client.py generate --notebook "Research" --type slides
python scripts/notebooklm_client.py podcast --notebook "Research" --lang en --output podcast.m4a
python scripts/notebooklm_client.py download --notebook "Research" --type slides --output slides.pdf

# Convert PDF to PNG + compose video
./scripts/make_video.sh slides.pdf podcast.m4a output.mp4

Pipeline Workflows

WorkflowInputOutputSteps
research-to-articleURLs, textArticle draft JSONCreate notebook → 5 research questions → article draft
research-to-socialURLs, textSocial post draftCreate notebook → summarize → platform-specific post
trend-to-contentGeo, countContent per trendFetch trends → create notebooks → research → draft
batch-digestRSS URLNewsletter digestFetch RSS → create notebook → digest + Q&A
generate-allURLs, textAudio, video, PDF, etc.Create notebook → generate all artifacts → download

MCP Server Setup

Add to your project’s .mcp.json:

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

Or if you installed via pip install notebooklm-skill:

{
  "mcpServers": {
    "notebooklm": {
      "command": "notebooklm-mcp"
    }
  }
}

Works with Claude Code, Cursor, Gemini CLI, and any MCP-compatible client.

Claude Code Skill Setup

# Option A: Symlink (auto-updates with git pull)
./install.sh

# Option B: Manual copy
mkdir -p .claude/skills/notebooklm
cp /path/to/notebooklm-skill/SKILL.md .claude/skills/notebooklm/
cp /path/to/notebooklm-skill/scripts/*.py .claude/skills/notebooklm/scripts/
cp /path/to/notebooklm-skill/requirements.txt .claude/skills/notebooklm/

# Authenticate (one-time)
python3 -m notebooklm login

Claude will automatically detect the skill when you ask about research, NotebookLM, or content creation.

API Reference

CLI Commands (11)

CommandDescription
createCreate a notebook with URL/text sources
listList all notebooks
deleteDelete a notebook
add-sourceAdd a source (URL, text, or file) to existing notebook
askAsk a research question (returns answer + citations)
summarizeGet notebook summary
generateGenerate an artifact (audio, video, slides, etc.)
downloadDownload a generated artifact
researchRun deep web research
podcastShortcut for generate --type audio (auto-downloads)
qaShortcut for generate --type quiz

MCP Tools (13)

ToolDescription
nlm_create_notebookCreate notebook with sources
nlm_listList all notebooks
nlm_deleteDelete a notebook
nlm_add_sourceAdd source to existing notebook
nlm_askAsk question (returns answer + citations)
nlm_summarizeGet notebook summary
nlm_generateGenerate artifact (9 types, infographic excluded)
nlm_downloadDownload generated artifact
nlm_list_sourcesList sources in notebook
nlm_list_artifactsList generated artifacts
nlm_researchDeep web research
nlm_research_pipelineFull research pipeline
nlm_trend_researchTrend → research pipeline

Integrations

Contributing

  1. Fork the repository
  2. Create a feature branch (git checkout -b feature/amazing-feature)
  3. Commit your changes
  4. Push and open a Pull Request
# Development setup
git clone https://github.com/claude-world/notebooklm-skill.git
cd notebooklm-skill
pip install -e .
python3 -m notebooklm login
python -m pytest tests/

License

MIT License. See LICENSE.