Skip to main content

MCP server for Google NotebookLM

Project description

NotebookLM MCP Server

MCP server that exposes Google NotebookLM as tools for any MCP-compatible client.

Built on notebooklm-py (unofficial SDK).

Quick Start (Step by Step)

Step 1: Install

# Clone or navigate to the project
cd notebooklm-mcp

# Option A: using uv (recommended)
uv venv .venv && source .venv/bin/activate && uv pip install -e .

# Option B: using pip
python3 -m venv .venv && source .venv/bin/activate && pip install -e .

Step 2: Authenticate with Google NotebookLM

notebooklm-auth

This will show:

╔══════════════════════════════════════════════════════════════╗
║           NotebookLM CLI Authentication                     ║
╚══════════════════════════════════════════════════════════════╝

Open this URL in your browser and log in:

  https://notebooklm.google.com/

Then follow these steps:

  1. Open https://notebooklm.google.com/ in your browser
  2. Log in with your Google account
  3. Open DevTools (press F12)
  4. Go to the Network tab
  5. Refresh the page (F5)
  6. Right-click the first request (notebooklm.google.com)
  7. Click Copy > Copy as cURL
  8. Paste into the terminal and press Enter twice

Step 3: Verify authentication

notebooklm-auth --verify

Expected output:

Auth file: ~/.notebooklm/storage_state.json
Cookies: <N> found
Verifying against https://notebooklm.google.com/ ...
CSRF token: <token>...
Session ID: <session_id>...

Authentication is VALID.

Step 4: Connect to your MCP client

See Client Configuration below for your specific tool.

Step 5: Start using NotebookLM tools

Once connected, you can use any of the 31 tools — list notebooks, add sources, ask questions, generate podcasts, and more.

Running

stdio (default — for local MCP clients)

notebooklm-mcp

HTTP (for remote clients, web UIs, multi-client setups)

notebooklm-mcp --transport streamable-http --port 8484

SSE (Server-Sent Events)

notebooklm-mcp --transport sse --port 8484

Client Configuration

Claude Code

claude mcp add notebooklm -- notebooklm-mcp

Cursor

Add to .cursor/mcp.json:

{
  "mcpServers": {
    "notebooklm": {
      "command": "notebooklm-mcp"
    }
  }
}

Windsurf / Continue / Cline

Add to your MCP config:

{
  "mcpServers": {
    "notebooklm": {
      "command": "notebooklm-mcp"
    }
  }
}

HTTP clients (any language/tool)

# Start the server
notebooklm-mcp --transport streamable-http --port 8484

# Connect from any MCP client at:
#   http://localhost:8484/mcp

Available Tools (31)

Notebooks

Tool Description
notebook_list List all notebooks
notebook_create Create a new notebook
notebook_get Get notebook details
notebook_delete Delete a notebook
notebook_rename Rename a notebook
notebook_summary Get AI-generated summary

Sources

Tool Description
source_list List sources in a notebook
source_add_url Add a URL or YouTube link
source_add_text Add pasted text
source_add_file Upload a local file (PDF, markdown, docx)
source_get Get source details
source_delete Delete a source
source_fulltext Get extracted text
source_guide Get AI summary of a source

Chat

Tool Description
chat_ask Ask questions about notebook sources
chat_history Get conversation history
chat_configure Set chat goal, length, or custom prompt

Artifacts

Tool Description
artifact_list List generated artifacts
artifact_generate_audio Generate podcast/audio overview
artifact_generate_report Generate a report
artifact_generate_study_guide Generate study guide
artifact_generate_quiz Generate quiz
artifact_generate_flashcards Generate flashcards
artifact_generate_mind_map Generate mind map
artifact_download_audio Download audio file
artifact_poll_status Check generation status
artifact_delete Delete an artifact

Research

Tool Description
research_start Start web or Drive research
research_poll Check research status

Sharing

Tool Description
sharing_status Get sharing status
sharing_set_public Toggle public/private

Authentication

Two options — no Playwright required for either:

Option 1: Interactive CLI (recommended)

notebooklm-auth

Opens instructions to copy cookies from your browser's DevTools. Supports:

  • Copy as cURL (right-click in Network tab)
  • Raw Cookie header
  • JSON export from browser extensions

Option 2: Environment variable

export NOTEBOOKLM_AUTH_JSON='{"cookies":[{"name":"SID","value":"...","domain":".google.com","path":"/","expires":-1,"httpOnly":true,"secure":true,"sameSite":"None"}]}'
notebooklm-mcp

Verify auth

notebooklm-auth --verify

Cookies are stored in ~/.notebooklm/storage_state.json and expire periodically.

Caveats

  • Uses undocumented Google APIs — may break without notice
  • Not affiliated with Google
  • Heavy usage may trigger rate limits
  • For personal/research use, not production

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

mcp_notebooklm-0.1.0.tar.gz (11.3 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

mcp_notebooklm-0.1.0-py3-none-any.whl (12.3 kB view details)

Uploaded Python 3

File details

Details for the file mcp_notebooklm-0.1.0.tar.gz.

File metadata

  • Download URL: mcp_notebooklm-0.1.0.tar.gz
  • Upload date:
  • Size: 11.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for mcp_notebooklm-0.1.0.tar.gz
Algorithm Hash digest
SHA256 955ac4cb4f24678ad91a01a735cbb24a8b29e0456341668f48a436df23cd4317
MD5 78d2210b1f5c0ab5390e1c411bacc410
BLAKE2b-256 fb5de62b710014271b649766733bfe8cdafaaa36505d513fdb891a4ceddc846d

See more details on using hashes here.

Provenance

The following attestation bundles were made for mcp_notebooklm-0.1.0.tar.gz:

Publisher: release.yml on PavelGuzenfeld/notebooklm-mcp

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file mcp_notebooklm-0.1.0-py3-none-any.whl.

File metadata

  • Download URL: mcp_notebooklm-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 12.3 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for mcp_notebooklm-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 517b4ecbd23d44eaa9e138a8dde56c359c3a96b9752f272aacb0a74225d5f40b
MD5 e0ec8d4d5161057e196ddcd053221a10
BLAKE2b-256 42edf4767708627cbd9e21aa7fbfc29bde680bd78d5a64c6e004510ce1f31223

See more details on using hashes here.

Provenance

The following attestation bundles were made for mcp_notebooklm-0.1.0-py3-none-any.whl:

Publisher: release.yml on PavelGuzenfeld/notebooklm-mcp

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page