NotebookLM MCP Server

NotebookLM MCP Server

Exposes Google NotebookLM as MCP tools, enabling management of notebooks, sources, chat, artifacts, and research via natural language.

Category
Visit Server

README

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

Recommended Servers

playwright-mcp

playwright-mcp

A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.

Official
Featured
TypeScript
Magic Component Platform (MCP)

Magic Component Platform (MCP)

An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.

Official
Featured
Local
TypeScript
Audiense Insights MCP Server

Audiense Insights MCP Server

Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.

Official
Featured
Local
TypeScript
VeyraX MCP

VeyraX MCP

Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.

Official
Featured
Local
graphlit-mcp-server

graphlit-mcp-server

The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.

Official
Featured
TypeScript
Kagi MCP Server

Kagi MCP Server

An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.

Official
Featured
Python
E2B

E2B

Using MCP to run code via e2b.

Official
Featured
Neon Database

Neon Database

MCP server for interacting with Neon Management API and databases

Official
Featured
Exa Search

Exa Search

A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.

Official
Featured
Qdrant Server

Qdrant Server

This repository is an example of how to create a MCP server for Qdrant, a vector search engine.

Official
Featured