home / mcp / notebooklm mcp server
Provides a production-ready MCP server to chat with NotebookLM, with persistent Google session and multiple transports.
Configuration
View docs{
"mcpServers": {
"khengyun-notebooklm-mcp": {
"command": "uv",
"args": [
"run",
"notebooklm-mcp",
"--config",
"notebooklm-config.json",
"server"
],
"env": {
"NOTEBOOKLM_DEBUG": "false",
"NOTEBOOKLM_HEADLESS": "true",
"NOTEBOOKLM_NOTEBOOK_ID": "YOUR_NOTEBOOK_ID"
}
}
}
}You deploy a production-ready MCP server that lets you automate Google NotebookLM from a local or remote client. This server provides fast tool registration, type-safe validation, and multiple transports so you can interact with NotebookLM efficiently while keeping authentication persistent across sessions.
You initialize the server configuration once, which creates a configuration file and a browser-based Google login for persistent authentication. After that, you run the server locally using a simple command. You can operate in STDIO mode for local MCP clients, or start an HTTP server for web testing and REST interactions. You can also engage in an interactive chat session with NotebookLM.
Prerequisites: you need a working Python environment and a shell. You also install a modern Python package manager to simplify the workflow.
# Install UV (modern Python package manager)
curl -LsSf https://astral.sh/uv/install.sh | sh
# Install NotebookLM MCP from PyPI
uv add notebooklm-mcp
# Initialize with your NotebookLM URL
uv run notebooklm-mcp init https://notebooklm.google.com/notebook/YOUR_NOTEBOOK_IDIf you prefer using pip instead of UV, you can install and run the server with standard Python tooling.
# Install with pip
pip install notebooklm-mcp
# Initialize
notebooklm-mcp init https://notebooklm.google.com/notebook/YOUR_NOTEBOOK_ID
# Start server
notebooklm-mcp --config notebooklm-config.json serverCheck server health status to verify the MCP server is responsive.
Send a message to NotebookLM and await a response.
Retrieve the latest chat response with a timeout.
Perform a complete chat interaction with NotebookLM, optionally selecting a notebook.
Switch the active NotebookLM notebook by ID.
Query the currently set default notebook.
Set a new default notebook by ID.
Request an immediate response from NotebookLM if available.