/ Directory / Playground / notebooklm-skill
● Community claude-world ⚡ Instant

notebooklm-skill

by claude-world · claude-world/notebooklm-skill

NotebookLM researches with citations, Claude writes the content — a four-phase Collect → Research → Generate → Publish workflow.

NotebookLM Skill bridges Google's NotebookLM research environment with Claude's content generation. You feed URLs/PDFs/YouTube into a notebook, NotebookLM extracts cited insights, and Claude drafts articles, social posts, newsletters, or custom formats. Works as a Claude Code skill or standalone MCP server. Browser-based Google auth — no API keys.

Why use it

Key features

Live Demo

What it looks like in practice

notebooklm-skill.replay ▶ ready
0/0

Install

Pick your client

~/Library/Application Support/Claude/claude_desktop_config.json  · Windows: %APPDATA%\Claude\claude_desktop_config.json
{
  "mcpServers": {
    "notebooklm-skill": {
      "command": "git",
      "args": [
        "clone",
        "https://github.com/claude-world/notebooklm-skill",
        "~/.claude/skills/notebooklm-skill"
      ],
      "_inferred": true
    }
  }
}

Open Claude Desktop → Settings → Developer → Edit Config. Restart after saving.

~/.cursor/mcp.json · .cursor/mcp.json
{
  "mcpServers": {
    "notebooklm-skill": {
      "command": "git",
      "args": [
        "clone",
        "https://github.com/claude-world/notebooklm-skill",
        "~/.claude/skills/notebooklm-skill"
      ],
      "_inferred": true
    }
  }
}

Cursor uses the same mcpServers schema as Claude Desktop. Project config wins over global.

VS Code → Cline → MCP Servers → Edit
{
  "mcpServers": {
    "notebooklm-skill": {
      "command": "git",
      "args": [
        "clone",
        "https://github.com/claude-world/notebooklm-skill",
        "~/.claude/skills/notebooklm-skill"
      ],
      "_inferred": true
    }
  }
}

Click the MCP Servers icon in the Cline sidebar, then "Edit Configuration".

~/.codeium/windsurf/mcp_config.json
{
  "mcpServers": {
    "notebooklm-skill": {
      "command": "git",
      "args": [
        "clone",
        "https://github.com/claude-world/notebooklm-skill",
        "~/.claude/skills/notebooklm-skill"
      ],
      "_inferred": true
    }
  }
}

Same shape as Claude Desktop. Restart Windsurf to pick up changes.

~/.continue/config.json
{
  "mcpServers": [
    {
      "name": "notebooklm-skill",
      "command": "git",
      "args": [
        "clone",
        "https://github.com/claude-world/notebooklm-skill",
        "~/.claude/skills/notebooklm-skill"
      ]
    }
  ]
}

Continue uses an array of server objects rather than a map.

~/.config/zed/settings.json
{
  "context_servers": {
    "notebooklm-skill": {
      "command": {
        "path": "git",
        "args": [
          "clone",
          "https://github.com/claude-world/notebooklm-skill",
          "~/.claude/skills/notebooklm-skill"
        ]
      }
    }
  }
}

Add to context_servers. Zed hot-reloads on save.

claude mcp add notebooklm-skill -- git clone https://github.com/claude-world/notebooklm-skill ~/.claude/skills/notebooklm-skill

One-liner. Verify with claude mcp list. Remove with claude mcp remove.

Use Cases

Real-world ways to use notebooklm-skill

How to turn a stack of sources into a researched, cited article

👤 Content marketers and technical writers publishing researched longform ⏱ ~45 min intermediate

When to use: You have 5-20 URLs and PDFs on a topic and need a polished article with citations in under an hour.

Prerequisites
  • Python 3.10+ — pyenv install 3.10 or system python3
  • Google account with NotebookLM access — Sign in at notebooklm.google.com once; browser session is reused
  • notebooklm-py library — pip install notebooklm-py
Flow
  1. Collect sources into a notebook
    Create a notebook titled 'CRDT-landscape-2026' and add these 8 URLs and this PDF.✓ Copied
    → Notebook ID returned; source count confirmed
  2. Run research queries
    Ask the notebook: 'What are the main CRDT types and their tradeoffs? Cite each claim.'✓ Copied
    → Structured answer with inline citations to specific sources
  3. Generate an article
    Using those findings, draft a 1500-word article for a backend audience. Keep citations as footnotes.✓ Copied
    → Draft with [n] citation markers keyed to source URLs
  4. Publish
    Save to drafts/crdt-landscape.md with frontmatter (title, date, tags).✓ Copied
    → Markdown file on disk

Outcome: A cited, publishable draft grounded in specific sources — not hallucinated.

Pitfalls
  • Browser auth expires silently — Re-open notebooklm.google.com and refresh; skill reuses the cookie jar
  • Claude paraphrases a claim without its citation — Explicitly instruct: 'Every factual sentence must end with its [n] citation.'

Turn research sources into a podcast-style audio overview

👤 Podcasters and educators who want an audio summary from reading material ⏱ ~15 min beginner

When to use: You want NotebookLM's Audio Overview feature triggered from your agent instead of the web UI.

Flow
  1. Add sources and request audio
    Create notebook from these 6 papers, then trigger audio overview.✓ Copied
    → Audio generation kicked off; status returned
  2. Poll and download
    Wait for audio, then save as overview.mp3 in my downloads.✓ Copied
    → Local MP3 file

Outcome: A downloaded audio overview without opening the NotebookLM web UI.

Pitfalls
  • Audio takes 2-5 minutes to render — Use the polling flow; don't expect sync completion

Repurpose one notebook into a week of social posts

👤 Founders and solo marketers spreading one piece of research across channels ⏱ ~30 min beginner

When to use: You just finished a deep-dive notebook and want 7 LinkedIn posts + 5 tweets from it.

Flow
  1. Extract hooks
    From notebook 'CRDT-landscape-2026', list the 12 most share-worthy specific facts with source citations.✓ Copied
    → Bullet list of cited hooks
  2. Draft posts
    Turn each hook into a LinkedIn post (200-280 words) and a tweet (under 280 chars). Keep citations as links.✓ Copied
    → Post-and-tweet pairs per hook

Outcome: A scheduled week of cited social content.

Pitfalls
  • Social drafts sound generic — Feed Claude 3 of your past posts for voice before drafting

Combinations

Pair with other MCPs for X10 leverage

notebooklm-skill + smart-illustrator-skill

NotebookLM research → Claude drafts → Smart Illustrator adds diagrams

Research 'vector DB landscape' with notebooklm, draft a 2000-word article, illustrate with smart-illustrator.✓ Copied

Turn researched content into marketing campaigns with real citations

Take findings from notebook XYZ and run the go-to-market skill to produce a launch plan with cited claims.✓ Copied

Journalism workflows that demand source verification

Use notebooklm to verify each claim in this draft against the uploaded primary sources before publishing.✓ Copied

Tools

What this MCP exposes

ToolInputsWhen to callCost
create_notebook title: str, sources: list[url|pdf|youtube] First step of any research task NotebookLM free quota
add_sources notebook_id, sources Extend existing notebook free
ask notebook_id, question Primary research interaction NotebookLM free quota
generate_audio_overview notebook_id, style? When you want the podcast-style overview free, async
export_artifacts notebook_id, type: 'slides'|'report'|'quiz'|'flashcards' Repurposing research into other formats free

Cost & Limits

What this costs to run

API quota
NotebookLM free tier is generous but unpublished. Heavy use may trigger rate limiting.
Tokens per call
Research answers use Google's quota; Claude token use depends on drafting length
Monetary
Free with a Google account
Tip
Batch multiple questions per notebook session — avoid re-uploading sources across notebooks.

Security

Permissions, secrets, blast radius

Credential storage: Browser cookie session for Google. No API keys. Session stored in notebooklm-py's local cache.
Data egress: All source content is uploaded to NotebookLM (Google). Don't feed confidential material.

Troubleshooting

Common errors and fixes

Auth failed / 'please sign in'

Open notebooklm.google.com in your default browser, sign in, then retry. Skill reuses the browser cookie jar.

Verify: python -c 'import notebooklm_py; print(notebooklm_py.whoami())'
Source rejected as unsupported

NotebookLM accepts specific formats. Convert PDFs to text or host as public URL if needed.

Audio overview stuck in 'pending'

Normal — takes 2-5 min. Poll with export status.

Alternatives

notebooklm-skill vs others

AlternativeWhen to use it insteadTradeoff
Manual web-search + summarizeYou don't have a Google account or need air-gapped workflowNo citation grounding; higher hallucination risk
Perplexity APIYou want a paid API with SLAsCosts money, but more reliable than browser automation

More

Resources

📖 Read the official README on GitHub

🐙 Browse open issues

🔍 Browse all 400+ MCP servers and Skills