Query and interact with Google NotebookLM notebooks via AI agents
NotebookLM MCP Server
This is an unofficial Model Context Protocol (MCP) server for Google NotebookLM, allowing AI agents and assistants (like Google Antigravity, Claude Code, Cursor, etc.) to query your Notebooks and retrieve citation-backed answers.
Prerequisites
- Python 3.10+
- A Google NotebookLM session cookie.
Installation
- Clone this repository.
- Initialize and activate a virtual environment:
python3 -m venv .venv source .venv/bin/activate - Install dependencies:
pip install .
Configuration
You need to authenticate the unofficial API so it can access your Notebooks.
- Authenticate via Playwright:
Run the interactive login command provided by
notebooklm-py:
This will open a Chromium browser window where you can log in to your Google Account. Once logged in and on the NotebookLM page, close the browser. The session will be saved locally.uv run notebooklm login # or if using a standard python venv: notebooklm login
Usage
Start the MCP server over stdio using the command-line entry point:
uv run python -m mcp_notebooklm
# or if using standard python venv:
python -m mcp_notebooklm
Server Tools
This server exposes the following MCP tools:
list_notebooks: Lists all your Notebooks (returns their IDs and Titles).get_notebook_sources: Retrieves the data sources for a specific notebook.ask_notebook: Passes a natural language query to a specific notebook and returns the AI-generated answer.select_notebook: Selects a notebook by ID and creates a local directory for it.create_note: Creates a new text note in the specified notebook.download_notes: Downloads all notes from a specific notebook into a local subfolder.generate_audio: Generates an Audio Overview (podcast) for a notebook.generate_video: Generates a Video Overview for a notebook.generate_slides: Generates a Slide Deck for a notebook.generate_infographic: Generates an Infographic for a notebook.generate_report: Generates a Report (Briefing Doc, Study Guide, Blog Post, Custom) for a notebook.
Using with Claude Desktop or Antigravity
Add this to your MCP settings configuration (mcp.json or equivalent):
{
"mcpServers": {
"notebooklm": {
"command": "/path/to/your/virtualenv/bin/python",
"args": [
"-m",
"mcp_notebooklm"
],
"cwd": "/path/to/this/repo"
}
}
}
Tools (11)
list_notebooksLists all your Notebooks including their IDs and Titles.get_notebook_sourcesRetrieves the data sources for a specific notebook.ask_notebookPasses a natural language query to a specific notebook and returns the AI-generated answer.select_notebookSelects a notebook by ID and creates a local directory for it.create_noteCreates a new text note in the specified notebook.download_notesDownloads all notes from a specific notebook into a local subfolder.generate_audioGenerates an Audio Overview (podcast) for a notebook.generate_videoGenerates a Video Overview for a notebook.generate_slidesGenerates a Slide Deck for a notebook.generate_infographicGenerates an Infographic for a notebook.generate_reportGenerates a Report (Briefing Doc, Study Guide, Blog Post, Custom) for a notebook.Configuration
{"mcpServers": {"notebooklm": {"command": "/path/to/your/virtualenv/bin/python", "args": ["-m", "mcp_notebooklm"], "cwd": "/path/to/this/repo"}}}