NotebookLM MCP Server
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-authThis will show:
╔══════════════════════════════════════════════════════════════╗
║ NotebookLM CLI Authentication ║
╚══════════════════════════════════════════════════════════════╝
Open this URL in your browser and log in:
https://notebooklm.google.com/Then follow these steps:
Open https://notebooklm.google.com/ in your browser
Log in with your Google account
Open DevTools (press
F12)Go to the Network tab
Refresh the page (
F5)Right-click the first request (
notebooklm.google.com)Click Copy > Copy as cURL
Paste into the terminal and press Enter twice
Step 3: Verify authentication
notebooklm-auth --verifyExpected 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-mcpHTTP (for remote clients, web UIs, multi-client setups)
notebooklm-mcp --transport streamable-http --port 8484SSE (Server-Sent Events)
notebooklm-mcp --transport sse --port 8484Client Configuration
Claude Code
claude mcp add notebooklm -- notebooklm-mcpCursor
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/mcpAvailable Tools (31)
Notebooks
Tool | Description |
| List all notebooks |
| Create a new notebook |
| Get notebook details |
| Delete a notebook |
| Rename a notebook |
| Get AI-generated summary |
Sources
Tool | Description |
| List sources in a notebook |
| Add a URL or YouTube link |
| Add pasted text |
| Upload a local file (PDF, markdown, docx) |
| Get source details |
| Delete a source |
| Get extracted text |
| Get AI summary of a source |
Chat
Tool | Description |
| Ask questions about notebook sources |
| Get conversation history |
| Set chat goal, length, or custom prompt |
Artifacts
Tool | Description |
| List generated artifacts |
| Generate podcast/audio overview |
| Generate a report |
| Generate study guide |
| Generate quiz |
| Generate flashcards |
| Generate mind map |
| Download audio file |
| Check generation status |
| Delete an artifact |
Research
Tool | Description |
| Start web or Drive research |
| Check research status |
Sharing
Tool | Description |
| Get sharing status |
| Toggle public/private |
Authentication
Two options — no Playwright required for either:
Option 1: Interactive CLI (recommended)
notebooklm-authOpens 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-mcpVerify auth
notebooklm-auth --verifyCookies 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