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.1.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.1-py3-none-any.whl (12.3 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: mcp_notebooklm-0.1.1.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.1.tar.gz
Algorithm Hash digest
SHA256 351fce47eac08c7627c4d415453643efe8124c0e2407ec5d18f64281e72f7309
MD5 db3d753b66089b4b11c937a2b116ca99
BLAKE2b-256 728faddbf757494a918fa4c8a91038dc318ed014e2604a5aa247b07c05e6a403

See more details on using hashes here.

Provenance

The following attestation bundles were made for mcp_notebooklm-0.1.1.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.1-py3-none-any.whl.

File metadata

  • Download URL: mcp_notebooklm-0.1.1-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.1-py3-none-any.whl
Algorithm Hash digest
SHA256 9c58641ff9d29b89c3ad6313ebafdfdcc90181996a708d412893b6c4cbbbd46a
MD5 c1f2c9e65cca8e38ed5f7a958f2496fe
BLAKE2b-256 0469b3fb3d29726d9b846606ab9fec344212005b941ebe65baa85ff2e6e94336

See more details on using hashes here.

Provenance

The following attestation bundles were made for mcp_notebooklm-0.1.1-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