Skip to main content

MCP server bringing Google NotebookLM into any MCP client (Claude, Cursor, Codex, Windsurf…) — grounded Q&A with citations, sources, and Studio generation

Project description

NotebookLM Connector

PyPI License: MIT

NotebookLM Connector — install, connect, and ask your Google NotebookLM notebooks from inside any AI assistant

Bring your Google NotebookLM notebooks into any AI assistant that speaks MCP — Claude, Cursor, Codex, Windsurf, Cline, and more. Ask questions answered only from your own sources (with citations), add sources, and generate Audio Overviews, reports, quizzes, and more — all from a normal chat.

Install

Pick your app below. Then in a chat, say “Connect my NotebookLM”, choose your Google account, and you’re in — no password, ever.

One-time requirement: the connector needs Python 3.12 and uv on the machine. Mac: brew install python@3.12 uv · Windows: python.org + uv install. (Claude Desktop’s .mcpb only needs Python — its runtime provides the rest.)

Claude Desktop — download & double-click

⬇️ Download NotebookLM-Connector.mcpb → double-click it → Install. Done.

Cursor — one click

Add to Cursor

Codex — one line

codex mcp add notebooklm -- uvx --python 3.12 notebooklm-connector

Claude Code — one line

claude mcp add notebooklm -- uvx --python 3.12 notebooklm-connector

Google Antigravity

In the agent side panel: ⋯ → MCP Servers → Manage MCP Servers → View raw config, then add the entry below. (Config file: ~/.gemini/config/mcp_config.json.)

{
  "mcpServers": {
    "notebooklm": { "command": "uvx", "args": ["--python", "3.12", "notebooklm-connector"] }
  }
}

Any other MCP client (Windsurf, Cline, …)

Add the same mcpServers entry shown above to the client’s MCP config.

Every non-Claude-Desktop option runs the same command, uvx --python 3.12 notebooklm-connector, which fetches the connector from PyPI — nothing to clone. (The --python 3.12 is required — a dependency has no prebuilt wheel for Python 3.13 yet.)

Troubleshooting “Connection closed” / server won’t start:

  • Most common: make sure the command includes --python 3.12 (above). Without it, the install fails trying to compile on Python 3.13.
  • “command not found”: your app can’t find uvx on its PATH. Use the full path instead — find it with which uvx (e.g. /opt/homebrew/bin/uvx) and use that as the command.

What you can ask

  • “Ask my Thesis notebook: what counterarguments do the sources discuss?”
  • “Create a notebook called ‘Competitor research’ and add these three URLs as sources.”
  • “Make an audio overview of my Onboarding notebook about deployment, then save it to my Desktop.”
  • “Give me a quiz from my Biology notebook.”
  • “Give me a thorough answer on the auth flow.” — turns on auto-coverage (below).

That’s 13 tools under the hood: connect/login, list & create notebooks, add sources (URLs, YouTube, text, files), ask questions with citations, and generate + download Studio content (audio, video, reports, quizzes, flashcards, mind maps, slide decks, infographics, data tables).

Thorough mode (auto-coverage)

Ask for a “thorough” or “complete” answer and the connector runs auto-coverage: after the first answer, it asks NotebookLM which parts of your question weren’t fully covered, automatically asks those follow-ups, and returns one merged, more complete answer — all still cited to your sources.

Off by default (it uses several extra queries from the daily quota). Turn it on per question (“give me a thorough answer”), or always-on by setting NOTEBOOKLM_THOROUGH=1 in the server’s env. Tune the depth with NOTEBOOKLM_MAX_FOLLOWUPS (default 3).

Good to know

  • No password, ever — the connector reuses the Google account you’re already signed into in your browser. On Mac, approve the one-time Keychain popup.
  • Sessions last ~2–4 weeks. When it stops working, just say “Connect my NotebookLM” again.
  • Free NotebookLM accounts allow about 50 questions per day.
  • It’s your own account — use it as you normally would.
  • Unofficial — this uses NotebookLM’s internal API (Google has no public one). It’s reliable but can break if Google changes things; updating usually fixes it.

Browsers & operating systems

The connector logs in by reading your existing Google session from a browser. Which browsers work depends on your OS:

Browser macOS Windows Linux Notes
Chrome, Brave, Edge, Chromium Easiest — one Keychain/OS prompt
Firefox, LibreWolf, Zen
Opera, Vivaldi
Arc Not on Linux
Comet (Perplexity) macOS only
Safari Needs macOS Full Disk Access for the app
Atlas (OpenAI), and other app-bound-encrypted browsers Cookies are locked to the app — can’t be read (see below)

Developed and fully tested on macOS. The cross-platform browsers above also work on Windows/Linux (via rookiepy); Comet and Safari are macOS-only.

Which browser does it use? By default it tries Chrome — it does not read your OS’s default-browser setting. Tell it which browser to use in plain language (“connect using Brave”, “connect using Comet”) and it uses that one instead.

Browser we can’t read (Atlas, or anything not listed)? Some browsers (like OpenAI’s Atlas) encrypt cookies with a key locked to the app itself — a deliberate anti-malware protection that blocks all external readers, including this one. For those: sign in to notebooklm.google.com once in any supported browser (Chrome/Brave/Firefox/Comet) and “connect using Brave”, or use the interactive sign-in window (uv sync --extra interactive-login && uv run playwright install chromium, then “log in interactively”) which works regardless of your daily browser.

How it works

Your AI assistant ──MCP──► notebooklm-connector ──► notebooklm-py ──► NotebookLM’s internal API

Auth is your browser’s existing Google session, read locally on your machine. Nothing is sent anywhere except to NotebookLM itself. It runs entirely on your computer.

Security & privacy

This connector logs in by reading your browser’s existing Google session cookies — the same way you’re already signed in. Here’s exactly what that means, in plain terms.

What it accesses

  • Your browser’s cookie-encryption key from the macOS Keychain (you approve this with a one-time system prompt), used only to decrypt cookies.
  • Your browser’s cookie database, filtered to Google/NotebookLM domains only — not your other sites.
  • It writes your session to ~/.notebooklm/ (owner-only, chmod 600) so it doesn’t have to re-read the browser every time.

What it does not do

  • ❌ It never sends your cookies or data anywhere except NotebookLM’s own servers (notebooklm.google.com) — the same place your browser already sends them.
  • ❌ No telemetry, no analytics, no third-party servers. It runs entirely on your machine.
  • ❌ It does not touch non-Google cookies, passwords, or other Keychain items.

Is this the technique malware uses? Reading browser cookies is, mechanically, what infostealer malware does too — so it’s fair to ask. The difference is everything around it: this runs locally, with your explicit consent, is open source (read the code), exfiltrates nothing, and is scoped to Google domains. Malware’s defining trait — shipping your cookies to an attacker — is exactly what this never does.

Staying safe

  • Only install official builds — from this repo’s releases or PyPI. Because any cookie-reading tool could be modified to misbehave, don’t run unofficial copies.
  • Your session lives in ~/.notebooklm/ as live Google auth — treat that folder as sensitive (it’s already locked to your user account).
  • Grant Safari “Full Disk Access” only if you need Safari — the other browsers don’t require it.

Revoke anytime

  • Delete ~/.notebooklm/ to remove the stored session, and/or sign out of Google (which invalidates the cookies everywhere).

For developers

uv sync                                                            # install
uv run notebooklm-connector                                        # run the server
npx @modelcontextprotocol/inspector uv run notebooklm-connector    # test tools interactively
npx @anthropic-ai/mcpb pack . dist/NotebookLM-Connector.mcpb       # rebuild the .mcpb installer

Wraps notebooklm-py. Multiple Google accounts: uv run notebooklm login --profile work, then set NOTEBOOKLM_PROFILE=work in the server’s env.

MIT licensed.

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

notebooklm_connector-0.4.2.tar.gz (557.1 kB view details)

Uploaded Source

Built Distribution

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

notebooklm_connector-0.4.2-py3-none-any.whl (22.2 kB view details)

Uploaded Python 3

File details

Details for the file notebooklm_connector-0.4.2.tar.gz.

File metadata

File hashes

Hashes for notebooklm_connector-0.4.2.tar.gz
Algorithm Hash digest
SHA256 e0f3941f72a852cd702b1c60bdd1d2bf776d4678effe74833ad372b312434ba8
MD5 751f22164b080f5637bb8646e5753c5f
BLAKE2b-256 e9027ac03117f50f09ddbf3c416d604d02ddf534677e9ac15c6ef031ac8c457f

See more details on using hashes here.

File details

Details for the file notebooklm_connector-0.4.2-py3-none-any.whl.

File metadata

File hashes

Hashes for notebooklm_connector-0.4.2-py3-none-any.whl
Algorithm Hash digest
SHA256 224359489d58b0411557c2a2f4c27f8d578bf5cc777bdd56a2d2825dd20a32a7
MD5 6cb8117cff459f50c7bb6899113b9728
BLAKE2b-256 191350d25df8b89cca9e9d7c065caf272fe9040473b2d20ad7fa150a88e1bc40

See more details on using hashes here.

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