notebooklm-mcp
Provides tools for interacting with Google NotebookLM, enabling AI agents to query notebooks, manage notebook collections (add, list, activate, remove), and check authentication status, all via browser automation.
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@notebooklm-mcpask my notebook about the main points of the article"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
π notebooklm-mcp
MCP (Model Context Protocol) server for Google NotebookLM β source-grounded, citation-backed answers from your own documents, inside Claude Code and any MCP client.
π¬π§ English Β· π§π· PortuguΓͺs
β οΈ Notice. Unofficial project, not affiliated with Google. Automating a logged-in session may be considered automated access under NotebookLM's Terms, with risk to your account. Use at your own risk. Subject to usage limits (e.g. ~50 questions/day on the free plan).
β¨ Highlights
Source-grounded answers β every reply comes from your uploaded documents (Gemini), drastically reducing hallucinations.
Any MCP client β works with Claude Code, Cursor, and anything that speaks the Model Context Protocol over stdio.
No official API β browser automation with Patchright, reusing a logged-in Google session.
Smart Add β NotebookLM itself describes a notebook's name, content, and topics so your library stays accurate.
Zero Python friction β pure TypeScript/Node, distributed via
npx. No interpreter, venv, or pip.
Related MCP server: notebooklm-mcp
π Prerequisites
Requirement | Notes |
Node.js β₯ 20 | Runtime for the server and CLI. |
Google account | With access to your NotebookLM notebooks. |
Chromium-based browser | System Google Chrome by default; Patchright's Chromium can be installed on demand. |
π Installation & usage
# 1. Interactive login (once; opens the browser for you to log in to Google)
npx @rinaldops/notebooklm-mcp login
# 2. Register with Claude Code (consumed over stdio)
claude mcp add notebooklm -- npx -y @rinaldops/notebooklm-mcp
# Library management (optional; equivalent MCP tools also exist)
npx @rinaldops/notebooklm-mcp notebooks add "<url>" "My Notebook" "Description" "topic1,topic2"
npx @rinaldops/notebooklm-mcp notebooks list # local library
npx @rinaldops/notebooklm-mcp notebooks remote # all notebooks in the account
npx @rinaldops/notebooklm-mcp notebooks describe <url> # Smart Add: discovers the notebook's metadataπ‘ Prefer the editor experience? Install the VS Code extension in packages/extension β it registers the server and auto-configures Claude Code / Cursor in your workspace.
Smart Add (catalog with automatic metadata)
Recommended flow to populate the library without making up descriptions:
notebooks remote(or thenotebooklm_list_remote_notebookstool) β get the URL.notebooks describe <url>(ornotebooklm_describe_notebook) β NotebookLM itself describes the name, content, and topics.notebooks add <url> <name> <description> <topics>based on step 2.
π§° Exposed tools
Tool | Purpose |
| Ask a notebook (active, by id, or by URL) |
| List the local library |
| Discover all notebooks in the account (scrapes the panel) |
| Smart Add: ask the notebook what it contains (name/description/topics) |
| Add a notebook |
| Set the active notebook |
| Remove a notebook |
| Session status |
βοΈ Configuration (env)
Variable | Default | Description |
|
| Data/session directory |
|
| Headless browser for questions |
|
| Chromium channel ( |
| β | Default notebook when none is active |
π οΈ Development
Monorepo with npm workspaces:
packages/mcp-server β the MCP server (publishable via
npx).packages/extension β the VS Code extension (registers/auto-configures the server). Built with
tsup; debug with F5 (Extension Development Host).
npm install # install all workspaces (from the root)
npm run build # build all packages
npm run typecheck
# Server commands (run inside the package):
cd packages/mcp-server
npm run dev -- login # login via tsx, no build
npm start # node dist/cli.js (after build)See PLAN.md for the development plan and the status of each part, and CHANGELOG.md for release history.
π License
MIT Β© 2026 Rinaldo Paulino de Souza. Unofficial project, not affiliated with Google β use at your own risk; see the notice at the top.
This server cannot be installed
Maintenance
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
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
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/rinaldops/notebooklm-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server