MCP Hub
Back to servers

notebooklm-skill

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

GitHub
Stars
76
Forks
10
Updated
Mar 14, 2026
Validated
Mar 16, 2026

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

# 1. Install
git clone https://github.com/claude-world/notebooklm-skill.git
cd notebooklm-skill
pip install -r requirements.txt   # installs notebooklm-py v0.3.4

# 2. Authenticate with Google (one-time, opens browser)
python3 -m notebooklm login
# -> Opens Chromium, sign in to Google
# -> Session saved to ~/.notebooklm/storage_state.json
# -> All subsequent calls use pure HTTP (no browser needed)

# 3. Create your first notebook
python scripts/notebooklm_client.py create \
  --title "My Research" \
  --sources https://example.com/article

# 4. Ask research questions
python scripts/notebooklm_client.py ask \
  --notebook "My Research" \
  --query "What are the key findings?"

# 5. Generate a podcast
python scripts/notebooklm_client.py podcast \
  --notebook "My Research" \
  --lang en \
  --output podcast.m4a

# 6. Verify auth status
python scripts/auth_helper.py verify

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

Authentication

notebooklm-py uses browser-based Google login (no OAuth Client ID needed):

StepCommandWhat happens
Loginpython3 -m notebooklm loginOpens Chromium, user logs into Google
Session storageAutomaticSaved to ~/.notebooklm/storage_state.json
Subsequent useNotebookLMClient.from_storage()Reads saved session, pure HTTP calls
Verifypython scripts/auth_helper.py verifyLoads client + calls notebooks.list()
Clearpython scripts/auth_helper.py clearRemoves ~/.notebooklm/ directory

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 + .envmcp.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 (10 types)

ArtifactFormatDescription
AudioM4AAI-generated podcast discussion
VideoMP4Video summary with visuals
SlidesPDFPresentation deck
ReportPDFComprehensive written report
QuizJSONMultiple-choice assessment questions
FlashcardsJSONStudy flashcard deck
Mind mapSVGVisual concept map
InfographicPNGVisual data summary
Data tableCSVStructured data extraction
Study guidePDFStructured learning material

All artifacts support language selection (e.g., --lang zh-TW).

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

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": "python",
      "args": ["-m", "mcp-server"],
      "cwd": "/path/to/notebooklm-skill"
    }
  }
}

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

Claude Code Skill Setup

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 (10 types)
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 -r requirements.txt
python3 -m notebooklm login
python -m pytest tests/

License

MIT License. See LICENSE.

Reviews

No reviews yet

Sign in to write a review