NotebookLM MCP Server
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
No arguments | |||
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Server capabilities have not been inspected yet.
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| ask_questionC | Conversational Research Partner (NotebookLM • Gemini 2.5 • Session RAG)No Active Notebook
Tip: Tell the user you can manage NotebookLM library and ask which notebook to use for the current task. |
| add_notebookA | PERMISSION REQUIRED — Only when user explicitly asks to add a notebook. Conversation Workflow (Mandatory)When the user says: "I have a NotebookLM with X"
Rules
ExampleUser: "I have a notebook with n8n docs" You: Ask URL → content → topics → use cases; propose summary User: "Yes" You: Call add_notebook How to Get a NotebookLM Share LinkVisit https://notebooklm.google/ → Login (free: 100 notebooks, 50 sources each, 500k words, 50 daily queries)
(Upgraded: Google AI Pro/Ultra gives 5x higher limits) |
| list_notebooksA | List all library notebooks with metadata (name, topics, use cases, URL). Use this to present options, then ask which notebook to use for the task. |
| get_notebookC | Get detailed information about a specific notebook by ID |
| select_notebookA | Set a notebook as the active default (used when ask_question has no notebook_id). When To Use
Auto-Switching
ExampleUser: "Now let's build the React frontend" You: "Switching to React notebook..." (call select_notebook) |
| update_notebookA | Update notebook metadata based on user intent. Pattern
Examples
Tip: You may update multiple fields at once if requested. |
| remove_notebookA | Dangerous — requires explicit user confirmation. Confirmation Workflow
Never remove without permission or based on assumptions. Example: User: "Delete the old React notebook" You: "Remove 'React Best Practices' from your library?" User: "Yes" → call remove_notebook |
| search_notebooksB | Search library by query (name, description, topics, tags). Use to propose relevant notebooks for the task and then ask which to use. |
| get_library_statsB | Get statistics about your notebook library (total notebooks, usage, etc.) |
| list_sessionsA | List all active sessions with stats (age, message count, last activity). Use to continue the most relevant session instead of starting from scratch. |
| close_sessionA | Close a specific session by session ID. Ask before closing if the user might still need it. |
| reset_sessionA | Reset a session's chat history (keep same session ID). Use for a clean slate when the task changes; ask the user before resetting. |
| get_healthA | Get server health status including authentication state, active sessions, and configuration. Use this to verify the server is ready before starting research workflows. If authenticated=false and having persistent issues: Consider running cleanup_data(preserve_library=true) + setup_auth for fresh start with clean browser session. |
| setup_authA | Google authentication for NotebookLM access - opens a browser window for manual login to your Google account. Returns immediately after opening the browser. You have up to 10 minutes to complete the login. Use 'get_health' tool afterwards to verify authentication was saved successfully. Use this for first-time authentication or when auto-login credentials are not available. For switching accounts or rate-limit workarounds, use 're_auth' tool instead. TROUBLESHOOTING for persistent auth issues: If setup_auth fails or you encounter browser/session issues:
|
| re_authA | Switch to a different Google account or re-authenticate. Use this when:
This will:
After completion, use 'get_health' to verify authentication. TROUBLESHOOTING for persistent auth issues: If re_auth fails repeatedly:
|
| cleanup_dataA | ULTRATHINK Deep Cleanup - Scans entire system for ALL NotebookLM MCP data files across 8 categories. Always runs in deep mode, shows categorized preview before deletion. ⚠️ CRITICAL: Close ALL Chrome/Chromium instances BEFORE running this tool! Open browsers can prevent cleanup and cause issues. Categories scanned:
Works cross-platform (Linux, Windows, macOS). Safe by design: shows detailed preview before deletion, requires explicit confirmation. LIBRARY PRESERVATION: Set preserve_library=true to keep your notebook library.json file while cleaning everything else. RECOMMENDED WORKFLOW for fresh start:
Use cases: Clean reinstall, troubleshooting auth issues, removing all traces before uninstall, cleaning old browser sessions and installation data. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
| Notebook Library | Complete notebook library with all available knowledge sources. Read this to discover what notebooks are available. ⚠️ If you think a notebook might help with the user's task, ASK THE USER FOR PERMISSION before consulting it: 'Should I consult the [notebook] for this task?' |
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- 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/inventra/notebooklm-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server