Skip to main content
Glama
DevstackK

Notebooklm-Unofficial-API-MCP

by DevstackK

Notebooklm-Unofficial-API-MCP

A thin wrapper around notebooklm-py (MIT licensed, by Teng Lin) — the unofficial Python client/MCP server for Google NotebookLM. This project depends on notebooklm-py rather than vendoring it, and adds project-specific MCP tools on top of its stock tool set (notebooks, sources, chat, studio artifact generation, deep research, sharing).

Why a wrapper

notebooklm-py already ships a complete MCP server (notebooklm-mcp). This wrapper exists so custom tools can be layered on without forking upstream — notebooklm.mcp.server.create_server() is called and its returned FastMCP instance is extended in src/notebooklm_wrapper/server.py.

Related MCP server: notebooklm-mcp-2026

Getting started

Each person who runs this needs their own authenticated session — there is no shared credential in this repo, and none is possible: notebooklm-py is unofficial and works by driving your own Google account, not a documented API.

1. Prerequisites

  • Python 3.10+

  • uv (recommended) or pip

2. Clone and install

git clone https://github.com/DevstackK/Notebooklm-Unoffical-API-MCP.git
cd Notebooklm-Unoffical-API-MCP
uv sync
# or: pip install -e .

3. Authenticate with your own Google account

Pick one:

A — Browser login (Playwright), simplest first run:

uv run playwright install chromium   # one-time browser download
uv run notebooklm login

This opens a Chromium window; sign in to the Google account whose NotebookLM notebooks you want the server to access, then close it. The session is saved to a local profile (storage_state.json) — nothing is uploaded anywhere.

B — Import cookies from a browser you're already logged into:

uv pip install "notebooklm-py[cookies]"
uv run notebooklm login --browser-cookies          # reads from Chrome by default
uv run notebooklm login --browser-cookies=firefox  # or another supported browser

Skips the Playwright/Chromium download entirely — useful if you're already signed into NotebookLM in your regular browser.

Verify it worked:

uv run notebooklm status

If you ever need to switch Google accounts: uv run notebooklm login --fresh.

4. Run the MCP server

uv run notebooklm-unofficial-mcp

5. Point Claude Code (or another MCP client) at it

claude mcp add notebooklm-unofficial -- uv run --directory /path/to/Notebooklm-Unoffical-API-MCP notebooklm-unofficial-mcp

Swap /path/to/Notebooklm-Unoffical-API-MCP for wherever you cloned it. Any MCP-compatible client (Claude Desktop, etc.) can point at the same notebooklm-unofficial-mcp command over stdio.

Adding a tool

Add @mcp.tool()-decorated functions inside _register_custom_tools in src/notebooklm_wrapper/server.py.

License

MIT — see LICENSE. Not affiliated with Google or the notebooklm-py project; "unofficial" in the name reflects that both this wrapper and its upstream dependency use NotebookLM's undocumented web API.

A
license - permissive license
-
quality - not tested
C
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/DevstackK/Notebooklm-Unoffical-API-MCP'

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