willbaldlygo/notebook_mcp
If you are the rightful owner of notebook_mcp and would like to certify it and/or have it hosted online, please leave a comment on the right or send an email to dayong@mcphub.com.
The NoteBook MCP server allows AI agents to query Google NotebookLM notebooks using a local browser session.
NoteBook MCP
An MCP (Model Context Protocol) server that enables AI agents (like Claude Desktop) to query your personal Google NotebookLM notebooks.
It uses a persistent, local browser session (via Playwright) to bypass the lack of an official API, allowing for "warm start" instant queries.
✨ Features
- Zero-API Access: Works with any Google account; no enterprise API required.
- Warm Start: Keeps a browser instance open in the background, making creating queries instant (after the first load).
- Persistent Auth: Uses standard browser cookies to maintain your session.
- MCP Compliant: Works out-of-the-box with any MCP client.
🚀 Setup
1. Installation
Clone this repository and install dependencies:
git clone https://github.com/your-username/notebook-mcp.git
cd notebook-mcp
python3 -m venv .venv
source .venv/bin/activate
pip install -r requirements.txt
playwright install chromium
2. Authentication (Manual Cookie Export)
Since Google's security prevents automated headless logins, you must export your cookies:
- Log in to NotebookLM in your regular Chrome browser.
- Open DevTools (Right-click -> Inspect) -> Application -> Cookies.
- Select
https://notebooklm.google.com. - Select all cookies (Cmd/Ctrl+A) and Copy (Cmd/Ctrl+C).
- Paste them into
notebooklm_cookies.jsonin this directory.
Note: Your
notebooklm_cookies.jsonis git-ignored by default. Never commit it!
💻 Usage
As an MCP Server (Claude Desktop)
Add this to your claude_desktop_config.json:
{
"mcpServers": {
"notebooklm": {
"command": "/absolute/path/to/notebook-mcp/.venv/bin/python3",
"args": ["/absolute/path/to/notebook-mcp/server.py"]
}
}
}
As a Library
You can use the session manager in your own Python scripts:
from notebook_session import NotebookLMSession
session = NotebookLMSession(headless=True)
answer = session.query("https://notebooklm.google.com/notebook/...", "Summarize this doc")
print(answer)
⚠️ Limitations
- Session Expiry: Google cookies expire every few weeks. If the tool stops working, re-export your cookies.
- Single Threaded: The browser automation is not designed for high-concurrency requests.
License
MIT