notebooklm-mcp-2026

(★ 16)

MCP server for querying Google NotebookLM notebooks. Works with Claude Code, Claude Desktop, Cursor, and VS Code.

File Explorer

  • .gitignore
  • .pre-commit-config.yaml
  • ARCHITECTURE.md
  • CHANGELOG.md
  • CLAUDE.md
  • CODE_OF_CONDUCT.md
  • CONTRIBUTING.md
  • flow_animation.gif
  • LICENSE
  • notebooklm_mcp_hero.png
  • pyproject.toml
  • README.md
  • SECURITY.md
  • smithery.yaml

# Use via CDN

jsDelivr

jsDelivr serves any public GitHub repository as a CDN with zero setup. Pick a version and a file to get a ready-to-paste link and snippet.

Command Glossary

Commands referenced in this DOCs, explained below.

🔍

login

View Details ▼

Manage console and virtual line authentication.
Accessed in configuration mode under `line`.

login local

Use local username and password for authentication:

login {{user}}

Log in as a user:

login -f {{user}}

Log in as user without authentication if user is preauthenticated:

🔍

brew install

View Details ▼

Install a Homebrew formula or cask.

brew install {{formula|cask}}

Install a formula/cask:

brew install {{[-s|--build-from-source]}} {{formula}}

Build and install a formula from source (dependencies will still be installed from bottles):

brew install {{[-n|--dry-run]}} {{formula|cask}}

Download the manifest, print what would be installed but don't actually install anything:

🔍

chromium

View Details ▼

Open-source web browser principally developed and maintained by Google.
Note: You may need to replace the `chromium` command with your desired web browser, such as `brave`, `google-chrome`, `opera`, or `vivaldi`.

chromium {{https://example.com|path/to/file.html}}

Open a specific URL or file:

chromium {{https://example.com|path\to\file.html}}

Open a specific URL or file:

chromium --incognito {{example.com}}

Open in incognito mode:

🔍

eval

View Details ▼

Execute arguments as a single command in the current shell and return its result.

eval "{{echo foo}}"

Call `echo` with the "foo" argument:

eval "{{foo=bar}}"

Set a variable in the current shell:

🔍

git clone

View Details ▼

Clone an existing repository.

git clone {{remote_repository_location}} {{path/to/directory}}

Clone an existing repository into a new directory (the default directory is the repository name):

git clone --recursive {{remote_repository_location}}

Clone an existing repository and its submodules:

git clone {{[-n|--no-checkout]}} {{remote_repository_location}}

Clone only the `.git` directory of an existing repository:

🔍

google-chrome

View Details ▼

This command is an alias of `chromium`.

tldr chromium

View documentation for the original command:

🔍

npx

View Details ▼

This command is an alias of `npm exec`.

tldr npm exec

View documentation for the original command:

🔍

pip install

View Details ▼

Install Python packages.

pip install {{package1 package2 ...}}

Install one or more packages:

pip install {{package1 package2 ...}} {{[-U|--upgrade]}}

Upgrade all specified packages to the latest version, installing any that are not already present:

pip install {{package}}=={{version}}

Install a specific version of a package:

🔍

pipx

View Details ▼

Install and run Python applications in isolated environments.

pipx run {{pycowsay}} {{moo}}

Run an app in a temporary virtual environment:

pipx install {{package}}

Install a package in a virtual environment and add entry points to path:

pipx uninstall {{package}}

Uninstall a package:

🔍

powershell

View Details ▼

This command may be mistaken as the cross-platform version of PowerShell (formerly known as PowerShell Core), which uses `pwsh` instead of `powershell`.
The original `powershell` command in Windows is still available to use the legacy Windows version of PowerShell (version 5.1 and below).

tldr pwsh

View the documentation for the command referring to the latest, cross-platform version of PowerShell (version 6 and above):

powershell

Start an interactive shell session:

tldr powershell {{[-p|--platform]}} windows

View the documentation for the command referring to the legacy Windows PowerShell (version 5.1 and below):

🔍

pytest

View Details ▼

Run Python tests.

pytest {{path/to/test_file1.py path/to/test_file2.py ...}}

Run tests from specific files:

pytest -k {{expression}}

Run tests with names matching a specific [k]eyword expression:

pytest {{[-x|--exitfirst]}}

Exit as soon as a test fails or encounters an error:

🔍

python

View Details ▼

Python language interpreter.

python

Start a REPL (interactive shell):

python {{path/to/file.py}}

Execute a specific Python file:

python -i {{path/to/file.py}}

Execute a specific Python file and start a REPL:

🔍

ruff check

View Details ▼

An extremely fast Python linter. `check` is the default command - it can be omitted everywhere.
If no files or directories are specified, the current working directory is used by default.

ruff check {{path/to/file_or_directory1 path/to/file_or_directory2 ...}}

Run the linter on the given files or directories:

ruff check --fix

Apply the suggested fixes, modifying the files in-place:

ruff check --watch

Run the linter and re-lint on change:

🔍

timeout

View Details ▼

Run a command with a time limit.

timeout 3s sleep 10

Run `sleep 10` and terminate it after 3 seconds:

timeout {{[-s|--signal]}} {{INT|HUP|KILL|...}} {{5s}} {{sleep 10}}

Send a signal to the command after the time limit expires (`TERM` by default, `kill -l` to list all signals):

timeout {{[-v|--verbose]}} {{0.5s|1m|1h|1d|...}} {{command}}

Send verbose output to `stderr` showing signal sent upon timeout:

🔍

uv tool

View Details ▼

Install and run commands provided by Python packages.

uv tool run {{command}}

Run a command from a package, without installing it:

uv tool install {{package}}

Install a Python package system-wide:

uv tool upgrade {{package}}

Upgrade an installed Python package:

🔍

where

View Details ▼

Report all known instances of a command.
It could be an executable in the `$PATH` environment variable, an alias, or a shell builtin.

where {{command}}

Find all instances of a command:

tldr where-object

View the documentation of the equivalent PowerShell command:

where {{file_pattern}}

Display the location of file pattern:

🔍

apt install

View Details ▼

Install packages for Debian-based distributions.

sudo apt install {{package}}

Install a package, or update it to the latest version:

sudo apt install {{[-V|--verbose-versions]}} {{package}}

Display verbose package version information during installation or update:

🔍

dnf install

View Details ▼

Install packages on Red Hat-based distributions.

sudo dnf {{[in|install]}} {{package1 package2 ...}}

Install packages by name:

sudo dnf {{[in|install]}} {{path/to/file}}

Install a package from a local file:

sudo dnf {{[in|install]}} {{https://example.com/package.rpm}}

Install a package from the internet:

🔍

pacman -S

View Details ▼

This command is an alias of `pacman --sync`.

tldr pacman sync

View documentation for the original command:

🔍

query

View Details ▼

Display information about user sessions and process.

query session

Display all user sessions:

query session /server:{{hostname}}

Display the current user sessions on a remote computer:

query user

Display logged in users:

// repository documentation