Skip to main content
Glama
sprmdta

NotebookLM MCP

by sprmdta

NotebookLM MCP for Claude Desktop

Python License MCP

Gives Claude Desktop full control over Google NotebookLM via 56 MCP tools — manage notebooks, sources, chat, artifacts, notes, sharing, research, and export.

Category

Example tools

Notebooks

list, create, get, rename, delete, summary, description

Sources

list, add (URL/text/file/Drive), get, fulltext, guide, delete, refresh, rename

Chat

ask (with citations), configure, set mode, history

Artifacts

generate audio, video, slides, quiz, flashcards, report, infographic, mind map, study guide, data table

Artifact Mgmt

list, poll status, wait, download, delete, rename, revise slide, suggest reports

Notes

create, list, update, delete

Sharing

get status, set public/private, add/remove users, set view level, get share URL

Research

start web/Drive research, poll status, import sources

Settings

get/set output language

Export

export to Google Docs/Sheets


Prerequisites

  • Python 3.10 or higher

  • A Google account with NotebookLM access (notebooklm.google.com)

  • Git (optional — you can also download a ZIP)


Related MCP server: NotebookLM MCP Server

Setup

1. Get the code

git clone https://github.com/sprmdta/Experiment_NotebookM_MCP.git
cd Experiment_NotebookM_MCP

Or download and extract the ZIP, then open a terminal in the extracted folder.

2. Create a virtual environment

python -m venv .venv

3. Install dependencies

Windows:

.venv\Scripts\pip install -r requirements.txt

Mac/Linux:

.venv/bin/pip install -r requirements.txt

4. Install the Playwright browser

Windows:

.venv\Scripts\playwright install chromium

Mac/Linux:

.venv/bin/playwright install chromium

5. Log in to Google

Run the login command from inside the project folder:

Windows (PowerShell or Command Prompt):

cd "C:\YOUR_PATH_TO_REPO\Experiment_NotebookM_MCP"
.venv\Scripts\python -m notebooklm login

Mac/Linux:

cd /YOUR_PATH_TO_REPO/Experiment_NotebookM_MCP
.venv/bin/python -m notebooklm login

What happens during login

The login command is interactive — it opens a browser and waits for you to confirm before saving anything. Follow these steps exactly:

  1. A Chromium browser window opens automatically and navigates to NotebookLM

  2. Sign in with the Google account linked to your NotebookLM account

  3. Complete any 2-factor authentication if prompted

  4. Wait until you can see the NotebookLM homepage (your list of notebooks)

  5. Switch back to your terminal window

  6. Press ENTER in the terminal to save the session

Critical: Do NOT close the browser window before pressing ENTER. Closing the browser exits the process without saving. The session cookies are only written to disk when you press ENTER in the terminal.

What success looks like

After pressing ENTER, the terminal will print:

Authentication saved to: C:\Users\YOUR_USERNAME\.notebooklm\storage_state.json

This file (storage_state.json) contains your Google session cookies. The MCP server reads this file every time it makes a request to NotebookLM.

Verify the login worked

You can confirm the file was created:

Windows:

dir "%USERPROFILE%\.notebooklm\storage_state.json"

Mac/Linux:

ls ~/.notebooklm/storage_state.json

If the file exists, login succeeded. If it does not exist, the login was not completed — re-run the command and make sure to press ENTER in the terminal.

6. Configure Claude Desktop

Open (or create) the Claude Desktop config file:

  • Windows: C:\Users\YOUR_USERNAME\AppData\Roaming\Claude\claude_desktop_config.json

  • Mac: ~/Library/Application Support/Claude/claude_desktop_config.json

  • Linux: ~/.config/Claude/claude_desktop_config.json

Windows (replace YOUR_PATH_TO_REPO with the actual path where you cloned the repo):

{
  "mcpServers": {
    "notebooklm": {
      "command": "C:\\YOUR_PATH_TO_REPO\\Experiment_NotebookM_MCP\\.venv\\Scripts\\python.exe",
      "args": ["C:\\YOUR_PATH_TO_REPO\\Experiment_NotebookM_MCP\\notebooklm_mcp.py"],
      "env": {
        "NOTEBOOKLM_STORAGE_PATH": "C:\\Users\\YOUR_USERNAME\\.notebooklm"
      }
    }
  }
}

Mac/Linux:

{
  "mcpServers": {
    "notebooklm": {
      "command": "/YOUR_PATH_TO_REPO/Experiment_NotebookM_MCP/.venv/bin/python",
      "args": ["/YOUR_PATH_TO_REPO/Experiment_NotebookM_MCP/notebooklm_mcp.py"],
      "env": {
        "NOTEBOOKLM_STORAGE_PATH": "/Users/YOUR_USERNAME/.notebooklm"
      }
    }
  }
}

7. Restart Claude Desktop

Fully quit Claude Desktop — closing the window is not enough. Right-click the Claude icon in the system tray (bottom-right taskbar on Windows, menu bar on Mac) and choose Quit, then reopen it.

Claude Desktop reads the config only at startup. If you edit the config while it is running, the changes will not take effect until you fully restart it.

The NotebookLM tools appear in the tools panel (hammer icon) once connected.

8. Test

Ask Claude: List my NotebookLM notebooks

Claude will call notebooklm_list_notebooks and return your notebooks.


Re-authentication

Session cookies expire periodically (typically every few weeks). If Claude Desktop reports authentication errors, re-run the same login command from inside the project folder:

Windows:

cd "C:\YOUR_PATH_TO_REPO\Experiment_NotebookM_MCP"
.venv\Scripts\python -m notebooklm login

Mac/Linux:

cd /YOUR_PATH_TO_REPO/Experiment_NotebookM_MCP
.venv/bin/python -m notebooklm login

Follow the same steps as the initial login:

  1. Sign in to Google in the browser that opens

  2. Wait for the NotebookLM homepage to load

  3. Press ENTER in the terminal to save

The storage_state.json file is overwritten with fresh cookies. You do not need to change any config or restart Claude Desktop — the updated cookies are picked up automatically on the next request.


Troubleshooting

Problem

Fix

Not authenticated or 401 Unauthorized

Re-run notebooklm login — session expired

Storage file not found: ...storage_state.json

Login was not completed properly — re-run login and press ENTER in the terminal after the NotebookLM page loads

Module not found

Re-run .venv\Scripts\pip install -r requirements.txt inside the venv

No module named 'pydantic_core._pydantic_core'

Binary mismatch between Python versions — run .venv\Scripts\pip install --force-reinstall -r requirements.txt

spawn ... python.exe ENOENT

The .venv folder is missing — re-run python -m venv .venv then pip install -r requirements.txt

playwright: command not found

Run pip install playwright then playwright install chromium

Tools not showing in Claude Desktop

Verify all paths in the config are correct, then fully quit (system tray) and reopen Claude Desktop

Config changes not taking effect

Claude Desktop must be fully quit from the system tray — closing the window is not enough

PermissionError on storage path

NOTEBOOKLM_STORAGE_PATH must point to the .notebooklm folder, not a file

NOTEBOOKLM_STORAGE_PATH mismatch

Ensure the path in the config matches the default login storage: C:\Users\YOUR_USERNAME\.notebooklm


Tool Reference

All 56 tools follow the naming convention notebooklm_{action}_{resource}.

Category

Tools

Notebooks

notebooklm_list_notebooks, notebooklm_create_notebook, notebooklm_get_notebook, notebooklm_rename_notebook, notebooklm_delete_notebook, notebooklm_get_notebook_summary, notebooklm_get_notebook_description

Sources

notebooklm_list_sources, notebooklm_add_url_source, notebooklm_add_text_source, notebooklm_add_file_source, notebooklm_add_drive_source, notebooklm_get_source, notebooklm_get_source_fulltext, notebooklm_get_source_guide, notebooklm_delete_source, notebooklm_refresh_source, notebooklm_rename_source

Chat

notebooklm_chat_ask, notebooklm_chat_configure, notebooklm_chat_set_mode, notebooklm_chat_history

Artifacts

notebooklm_generate_audio, notebooklm_generate_video, notebooklm_generate_slide_deck, notebooklm_generate_quiz, notebooklm_generate_flashcards, notebooklm_generate_report, notebooklm_generate_infographic, notebooklm_generate_mind_map, notebooklm_generate_study_guide, notebooklm_generate_data_table

Artifact Mgmt

notebooklm_list_artifacts, notebooklm_poll_artifact, notebooklm_wait_artifact, notebooklm_download_artifact, notebooklm_delete_artifact, notebooklm_rename_artifact, notebooklm_revise_slide, notebooklm_suggest_reports

Notes

notebooklm_create_note, notebooklm_list_notes, notebooklm_update_note, notebooklm_delete_note

Sharing

notebooklm_get_share_status, notebooklm_set_public, notebooklm_share_add_user, notebooklm_share_remove_user, notebooklm_set_view_level, notebooklm_get_share_url

Research

notebooklm_start_research, notebooklm_poll_research, notebooklm_import_research_sources

Settings

notebooklm_get_output_language, notebooklm_set_output_language

Export

notebooklm_export


Notes

  • Uses the unofficial notebooklm-py library which reverse-engineers NotebookLM's internal APIs. Google may change these APIs at any time.

  • Not affiliated with or endorsed by Google.

  • Session cookies expire periodically and require re-login via notebooklm login.

  • Rate limits apply — the server returns error messages if you hit them.

A
license - permissive license
-
quality - not tested
D
maintenance

Maintenance

Maintainers
Response time
Release cycle
Releases (12mo)
Commit activity

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/sprmdta/Experiment_NotebookLM_MCP'

If you have feedback or need assistance with the MCP directory API, please join our Discord server