Skip to content

Latest commit

 

History

History
211 lines (141 loc) · 5.35 KB

File metadata and controls

211 lines (141 loc) · 5.35 KB

Authentication Guide

This guide explains how to authenticate with NotebookLM MCP.

Overview

NotebookLM MCP uses browser cookies for authentication (there is no official API). The notebooklm-mcp-auth CLI tool extracts these cookies and caches them for the MCP server to use.

Two authentication methods are available:

Method Best For Requires
Auto Mode (default) Most users Chrome installed, can close Chrome
File Mode (--file) Complex setups, troubleshooting Manual cookie extraction

Method 1: Auto Mode (Recommended)

This method launches Chrome automatically and extracts cookies after you log in.

Prerequisites

  • Google Chrome installed
  • Chrome must be completely closed before running

Steps

# 1. Close Chrome completely (Cmd+Q on Mac, or quit from taskbar)

# 2. Run the auth command
notebooklm-mcp-auth

# 3. Log in to your Google account in the browser window that opens

# 4. Wait for "SUCCESS!" message

What Happens Behind the Scenes

  1. A dedicated Chrome profile is created at ~/.notebooklm-mcp/chrome-profile/
  2. Chrome launches with remote debugging enabled
  3. You log in to NotebookLM via the browser
  4. Cookies and CSRF token are extracted and cached
  5. Chrome can be closed

Persistent Login

The dedicated Chrome profile persists your Google login:

  • First run: You must log in to Google
  • Future runs: Already logged in, just extracts fresh cookies

This profile is separate from your regular Chrome profile and includes no extensions.


Method 2: File Mode

This method lets you manually extract and provide cookies. Use this if:

  • Auto mode doesn't work on your system
  • You have Chrome extensions that interfere (e.g., Google Antigravity IDE)
  • You prefer manual control

Steps

# Option A: Interactive mode (shows instructions, prompts for file path)
notebooklm-mcp-auth --file

# Option B: Direct file path
notebooklm-mcp-auth --file /path/to/cookies.txt

How to Extract Cookies Manually

  1. Open Chrome and go to https://notebooklm.google.com
  2. Make sure you're logged in
  3. Press F12 (or Cmd+Option+I on Mac) to open DevTools
  4. Click the Network tab
  5. In the filter box, type: batchexecute
  6. Click on any notebook to trigger a request
  7. Click on a batchexecute request in the list
  8. In the right panel, scroll to Request Headers
  9. Find the line starting with cookie:
  10. Right-click the cookie value and select Copy value
  11. Paste into a text file and save

Cookie File Format

The cookie file should contain the raw cookie string from Chrome DevTools:

SID=abc123...; HSID=xyz789...; SSID=...; APISID=...; SAPISID=...; __Secure-1PSID=...; ...

Notes:

  • Lines starting with # are treated as comments and ignored
  • The file can contain the cookie string on one or multiple lines
  • A template file cookies.txt is included in the repository

Where Tokens Are Stored

Authentication tokens are cached at:

~/.notebooklm-mcp/auth.json

This file contains:

  • Parsed cookies
  • CSRF token (auto-extracted)
  • Session ID (auto-extracted)
  • Extraction timestamp

The dedicated Chrome profile (for auto mode) is stored at:

~/.notebooklm-mcp/chrome-profile/

After Authentication

Once authenticated, add the MCP to your AI tool:

Claude Code:

claude mcp add notebooklm-mcp -- notebooklm-mcp

Gemini CLI:

gemini mcp add notebooklm notebooklm-mcp

Manual (settings.json):

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

Then restart your AI assistant.


Token Expiration

  • Cookies: Generally stable for weeks, but some rotate on each request
  • CSRF token: Auto-refreshed on each MCP client initialization
  • Session ID: Auto-refreshed on each MCP client initialization

When you start seeing authentication errors, simply run notebooklm-mcp-auth again to refresh.


Troubleshooting

"Chrome is running but without remote debugging enabled"

Close Chrome completely and try again. On Mac, use Cmd+Q to fully quit.

Auto mode fails to connect

Try file mode instead:

notebooklm-mcp-auth --file

"401 Unauthorized" or "403 Forbidden" errors

Your cookies have expired. Run the auth command again to refresh.

Chrome opens with strange branding (e.g., Antigravity IDE)

Some Chrome extensions or tools modify Chrome's behavior. Use file mode:

notebooklm-mcp-auth --file

Cookie file shows "missing required cookies"

Make sure you copied the cookie value, not the header name. The value should start with something like SID=... not cookie: SID=....


Chrome 136+ Compatibility

Chrome version 136 and later restrict remote debugging on the default profile for security reasons. This MCP works around this by:

  1. Using a dedicated profile directory (~/.notebooklm-mcp/chrome-profile/)
  2. Adding the --remote-allow-origins=* flag for WebSocket connections

This is handled automatically - no action required from users.


Security Notes

  • Cookies are stored locally in ~/.notebooklm-mcp/auth.json
  • The dedicated Chrome profile contains your Google login for NotebookLM
  • Never share your auth.json file or commit it to version control
  • The cookies.txt file in the repo is a template - don't commit real cookies