NotebookLM MCP Server
io.github.pleaseprompto/notebooklm-mcp
Overview
MCP server for Google NotebookLM with Chrome automation, persistent authentication, citation-backed Q&A, source ingestion, Audio Overview tools, local notebook library management, stdio transport, and Streamable HTTP transport.
Documentation
Overview
NotebookLM MCP Server lets MCP clients use Google NotebookLM through browser automation. It drives Chrome or bundled Patchright Chromium to authenticate with a Google account, query NotebookLM notebooks with Gemini 2.5 grounded on user-uploaded sources, ingest URL or text sources, manage a local notebook library, handle multi-turn sessions, extract citations, and generate/download Audio Overviews.
Install
Recommended package launch:
npx notebooklm-mcp@latest
Local source workflow:
git clone https://github.com/PleasePrompto/notebooklm-mcp
cd notebooklm-mcp
npm install
npm run build
node dist/index.js
Transports
The default transport is stdio, using command npx and args ["notebooklm-mcp@latest"], matching the importer output. The server can also run Streamable HTTP with --transport http --port 3000; bind with --host 0.0.0.0 only on trusted networks. HTTP routes are POST /mcp, GET /mcp, DELETE /mcp, and GET /healthz; the MCP SDK session lifecycle uses the Mcp-Session-Id header after initialization.
Authentication
First-time setup uses the setup_auth tool, which opens a visible Chrome window for Google login and persists cookies in a per-user Chrome profile. re_auth clears auth and starts over. cleanup_data previews and deletes stored browser state, logs, and profiles, with preserve_library=true available for auth repair. Optional scripted login exists through AUTO_LOGIN_ENABLED, LOGIN_EMAIL, and LOGIN_PASSWORD, but secret and user-specific values are left empty in the package config.
Capabilities
Tools reviewed include ask_question, add_source, generate_audio, get_audio_status, download_audio, add_notebook, list_notebooks, get_notebook, select_notebook, update_notebook, remove_notebook, search_notebooks, get_library_stats, list_sessions, close_session, reset_session, get_health, setup_auth, re_auth, and cleanup_data. Read-only resources reviewed are notebooklm://library, notebooklm://library/{id}, and deprecated notebooklm://metadata. Tool profiles can reduce exposed tools: minimal, standard, or full (default).
Limitations
The server depends on Google NotebookLM UI behavior and a launchable Chrome/Chromium browser. WSL1 is not supported; WSL2 with WSLg is supported. Headless servers still need a display for one-time setup_auth, commonly via xvfb-run. File, YouTube, and Google Drive source uploads are not implemented in v2.0.0; add_source supports URL and text. Audio Overview is the only wrapped Studio output. Free NotebookLM accounts can hit daily query limits. Multi-account isolation is by Chrome profile directory, not an encrypted credential store.