notebooklm-skill

notebooklm-skill

Bridges NotebookLM's research capabilities with Claude's content generation, enabling creation of notebooks, deep research queries, and structured content output from URLs, PDFs, or trending topics.

Category
Visit Server

README

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

Language YouTube Slides
English Watch 6 pages, auto-generated
繁體中文 Watch 5 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
Step Command What happens
Login uvx notebooklm login Opens Chromium, user logs into Google
Session storage Automatic Saved to ~/.notebooklm/storage_state.json
Subsequent use All CLI / MCP commands Reads saved session, pure HTTP calls
Verify uvx notebooklm-skill list Lists notebooks to confirm auth works
Clear rm -rf ~/.notebooklm Removes stored session

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

Two Ways to Use

Claude Code Skill MCP Server
Best for Claude Code users who want NotebookLM in their workflow Any MCP-compatible client (Cursor, Gemini CLI, etc.)
Setup Copy skill to .claude/skills/ Add server to MCP config
Invocation Claude auto-detects when relevant Tools appear in client tool list
Config SKILL.md + .env .mcp.json + .env
Requirements Python 3.10+, notebooklm-py Python 3.10+, notebooklm-py

Features

Feature Description Status
Notebook CRUD Create, list, delete notebooks Available
Source ingestion Add URLs, PDFs, YouTube links, plain text Available
Research queries Ask questions against notebook sources with citations Available
Structured extraction Get key facts, arguments, timelines Available
Content generation Use research output as context for Claude Available
Batch operations Process multiple sources or queries at once Available
trend-pulse integration Auto-discover trending topics to research Available
threads-viral-agent integration Publish research-backed social posts Available

Artifact Generation (9 downloadable types)

Artifact Format Description
Audio M4A AI-generated podcast discussion
Video MP4 Video summary with visuals
Slides PDF / PPTX Presentation deck
Report Markdown Comprehensive written report
Quiz JSON / Markdown / HTML Multiple-choice assessment questions
Flashcards JSON / Markdown / HTML Study flashcard deck
Mind map JSON Visual concept map
Infographic PNG Visual data summary
Data table CSV Structured data extraction
Study guide Markdown Structured 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"

3. Trending Topics to Content

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

Workflow Input Output Steps
research-to-article URLs, text Article draft JSON Create notebook → 5 research questions → article draft
research-to-social URLs, text Social post draft Create notebook → summarize → platform-specific post
trend-to-content Geo, count Content per trend Fetch trends → create notebooks → research → draft
batch-digest RSS URL Newsletter digest Fetch RSS → create notebook → digest + Q&A
generate-all URLs, text Audio, 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)

Command Description
create Create a notebook with URL/text sources
list List all notebooks
delete Delete a notebook
add-source Add a source (URL, text, or file) to existing notebook
ask Ask a research question (returns answer + citations)
summarize Get notebook summary
generate Generate an artifact (audio, video, slides, etc.)
download Download a generated artifact
research Run deep web research
podcast Shortcut for generate --type audio (auto-downloads)
qa Shortcut for generate --type quiz

MCP Tools (13)

Tool Description
nlm_create_notebook Create notebook with sources
nlm_list List all notebooks
nlm_delete Delete a notebook
nlm_add_source Add source to existing notebook
nlm_ask Ask question (returns answer + citations)
nlm_summarize Get notebook summary
nlm_generate Generate artifact (9 types, infographic excluded)
nlm_download Download generated artifact
nlm_list_sources List sources in notebook
nlm_list_artifacts List generated artifacts
nlm_research Deep web research
nlm_research_pipeline Full research pipeline
nlm_trend_research Trend → 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.

Recommended Servers

playwright-mcp

playwright-mcp

A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.

Official
Featured
TypeScript
Magic Component Platform (MCP)

Magic Component Platform (MCP)

An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.

Official
Featured
Local
TypeScript
Audiense Insights MCP Server

Audiense Insights MCP Server

Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.

Official
Featured
Local
TypeScript
VeyraX MCP

VeyraX MCP

Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.

Official
Featured
Local
graphlit-mcp-server

graphlit-mcp-server

The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.

Official
Featured
TypeScript
Kagi MCP Server

Kagi MCP Server

An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.

Official
Featured
Python
E2B

E2B

Using MCP to run code via e2b.

Official
Featured
Neon Database

Neon Database

MCP server for interacting with Neon Management API and databases

Official
Featured
Exa Search

Exa Search

A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.

Official
Featured
Qdrant Server

Qdrant Server

This repository is an example of how to create a MCP server for Qdrant, a vector search engine.

Official
Featured