notebooklm-skill

A skill and MCP server for Claude Code that drives Google NotebookLM: notebooks from links and files, cited answers, podcasts, slides and quizzes

  • 480 ★ on the repository
  • Last commit
  • MIT
Skill

Broad access

Why this level

  • The skill keeps your Google account session in storage_state.json and acts as you in NotebookLM
  • The agent creates and deletes notebooks, and sources and files go to Google
  • A browser and the unofficial web API make network requests that Google may restrict
All reasons and checks

claude-world/notebooklm-skill

Install

In your terminal, with SkillFoxx CLI

npx skillfoxx add skills/notebooklm-skill

Detects the agents on your machine, shows the access level and pins the version.

Other ways to install

Access and checks

How we review

Broad accessThe tool can change data, run commands or handle secrets.

  • The skill keeps your Google account session in storage_state.json and acts as you in NotebookLM
  • The agent creates and deletes notebooks, and sources and files go to Google
  • A browser and the unofficial web API make network requests that Google may restrict

This is third-party code. Review the repository files before installing.

What it does

The project connects an agent to Google NotebookLM through a browser session and the unofficial web API that the notebooklm-py library relies on. The agent builds a notebook from links, raw text and local files, asks questions over the sources and gets answers with citation metadata. Web research runs in fast or deep mode, and the sources it finds can go straight into the notebook. Generation covers eleven kinds of material: audio, video, cinematic video, slides, report, study guide, quiz, flashcards, mind map, infographic and data table. Slides save as PDF or PPTX, quizzes and flashcards as JSON, Markdown or HTML. Long jobs start with --no-wait, and the finished file is downloaded later by ID. Five pipelines ship with it: an article from sources, social posts, an RSS digest, batch generation of materials, and a trends variant that needs the separate trend-pulse tool. Pipelines return drafts and local files and never publish to social networks or a CMS. A FastMCP server with 13 tools exposes the same features.

Who it is for. For researchers, editors and teachers who collect material in NotebookLM and want to drive notebooks from Claude Code or Cursor instead of the web interface.

Good fit when

  • You want to load a dozen links, PDFs and notes into one notebook and ask which conclusions have the strongest evidence
  • A set of sources has to become an article draft with citations you can check, written for an engineering audience
  • A lecture or article should turn into an M4A podcast, a PPTX deck or a set of review flashcards
  • You need a weekly digest of an RSS feed with quiz questions for each entry
  • Several Google accounts need separate session profiles so work and personal notebooks stay apart

Not a fit when

  • You need a stable contract: the integration uses NotebookLM's web API with no guarantees, and Google may change the service, quotas or artifact behavior without notice
  • You need finished text posted to a blog or newsletter: you would carry the draft onward by hand
  • Company policy forbids sending sources to Google: files and links go to NotebookLM
  • You need to run with no browser and no Google sign-in: authentication goes through a Chromium or Chrome session
  • The base library is enough: you can sign in through notebooklm-py directly with uvx --from notebooklm-py notebooklm login

Example request

Create a notebook called "Research review" from these three links and the PDF, run deep web research for recent independent evaluations and build a PPTX deck from them

Limitations

The integration is unofficial: Google promises no availability for the web API, no quotas and no generation time. The project is built around notebooklm-py 0.7.x, so a change inside NotebookLM can break commands until an update ships.

Sign-in needs a Google account and a browser: the installer sets up Chromium, and the --browser chrome flag switches to the locally installed Google Chrome. The session lives in ~/.notebooklm/profiles/<profile>/storage_state.json, a file you must not copy, print or commit. The optional HTTP mode of the server listens only on the loopback address 127.0.0.1 and must not be exposed to a network.

The trend-to-content pipeline works only when the trend-pulse tool is installed. The author does not say whether NotebookLM is reachable from Russia, so do not count on it without checking.

How to disable. Remove the server from your MCP configuration and delete the installed skill. To clear the Google sign-in, wipe the selected profile with notebooklm-auth, whose commands are covered in SETUP.md. Notebooks stay in NotebookLM itself; delete them in the web interface or with a command that carries the --yes flag.

FAQ

How do I connect NotebookLM to Claude Code?

Clone the repository and run ./install.sh: the script creates a dedicated virtual environment, installs Chromium, links five commands into ~/.local/bin and installs the Claude Code skill. Then run notebooklm-auth setup and sign in to Google. Without cloning, pip install notebooklm-skill or a uvx run works.

Which materials can NotebookLM create through this skill?

Eleven types: audio, video, cinematic video, slides, report, study guide, quiz, flashcards, mind map, infographic and data table. Slides download as PDF or PPTX, quizzes and flashcards as JSON, Markdown or HTML, audio as M4A and video as MP4.

How does notebooklm-skill differ from notebooklm-py?

notebooklm-py is the foundation: a Python library and CLI for NotebookLM. notebooklm-skill builds on its 0.7.x line and adds a JSON-first CLI, five pipelines, an MCP server with 13 tools, authentication profiles and skill installers.

Can the MCP server run as an HTTP service?

Yes, with notebooklm-mcp --http --host 127.0.0.1 --port 8765, but the mode is meant for the loopback address only. The author forbids exposing it to a network; details are in SECURITY.md. The default mode runs over stdio.

Will a pipeline publish the article by itself?

No. The research-to-article and research-to-social pipelines return drafts and local files, and publishing to social networks or a remote CMS is not built in.

Discussion

No questions or reviews yet.

Skills
Needs a VPN

Unofficial Python API, CLI and agent skill for Google Gemini Notebook (NotebookLM): sources, cited answers, and generation of podcasts, videos and reports

CLIBroad access19.9KRepository stars
Needs a VPN

Programmatic access to Gemini Notebook (formerly NotebookLM) via CLI and MCP: notebooks, sources, podcasts, video, reports and research from an agent

MCP serverBroad access6.4KRepository stars

The author's personal skills for reading papers and books, dissecting concepts, writing and PNG cards; instructions in Chinese, installed via skills CLI

SkillBroad access7.6KRepository stars

Awesome NotebookLM Prompts

awesome-notebooklm-prompts

A set of the strongest prompts for slides in Google NotebookLM from notes, blogs, WeChat, RED and X, with a source on each example

PromptMinimal access4.7KRepository stars

ai-labs-claude-skills installs 24 Claude skills through one npm package: SEO reports, Docker, CI/CD, CSV analysis, resumes, pitch decks and more

SkillExtended access458Repository stars

Comparison with similar tools

Entries that share the main search query, and how they differ.

EntryOfficialRepository starsMain difference
notebooklm-skill (this entry)no480
NotebookLM skill for Claude Codeno7,783a skill that questions your existing notebooks and answers only from the documents loaded into them
notebooklm-pyno19,869the base library and CLI this project builds on, with no pipelines or MCP server
Learn from materialsno1,062a skill that turns books

README in short

The root document covers installation, the core commands, a table of material types with download formats, the pipelines and the MCP server. Separate guides cover setup, output formats and pipeline recipes. Every successful command prints JSON to stdout, with diagnostics on stderr. An authentication error returns exit code 4 and an argument error code 2. Deletion requires the --yes flag, and downloads do not overwrite existing files without --force.

README badge

Original SKILL.md

---
name: notebooklm-research
description: >
  Automate source-grounded research with Google NotebookLM. Create notebooks from
  URLs, text, or local files; ask cited questions; run fast or deep web research;
  create articles and social drafts; and generate or download audio, video,
  cinematic video, slides, reports, study guides, quizzes, flashcards, mind maps,
  infographics, and data tables. Use when a user asks for NotebookLM, cited source
  analysis, research-to-content workflows, podcasts, slides, study material,
  artifact generation, RSS digests, or trend research.
---

# NotebookLM Research

Use the installed commands or the 13 MCP tools to turn user-provided sources into
grounded answers and NotebookLM artifacts. Commands emit JSON on stdout and progress
or diagnostics on stderr, so preserve stdout when another tool will consume it.

This integration uses NotebookLM's browser session and unofficial web API through
`notebooklm-py`. Do not promise that Google-side availability, quotas, or generation
time are stable.

## Authentication

Prefer the profile-aware helper:

```bash
notebooklm-auth setup
notebooklm-auth verify
```

Use `notebooklm-auth setup --browser chrome --fresh` when the user explicitly
wants the locally installed Google Chrome instead of bundled Chromium.

For a zero-install login:

```bash
uvx --from notebooklm-py notebooklm login
```

Profiles are supported through `--profile NAME` before the subcommand or through
`NOTEBOOKLM_PROFILE`. Current sessions are normally stored below
`~/.notebooklm/profiles/<profile>/storage_state.json`; never read, print, copy, or
commit that file. If authentication expires, run setup again.

## Core CLI

Create a notebook from mixed sources:

```bash
notebooklm-skill create \
  --title "AI safety evidence" \
  --sources https://example.com/article https://youtu.be/example \
  --files ./paper.pdf \
  --text-sources "A user-supplied observation" \
  --strict
```

Report a problem

Foxx AInotebooklm-skill
Foxx AI

I am Foxx AI and I have already vetted this tool. Ask about install, setup or anything else, and I will keep it simple.