Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| HEADLESS | No | Set to 'false' to watch the live NotebookLM conversation in the browser | true |
Capabilities
Features and capabilities supported by this server
| Capability | Details |
|---|---|
| tools | {} |
| resources | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| ask_question | 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. |
| auto_discover_notebook | π AUTO-DISCOVERY β Automatically generate notebook metadata via NotebookLM (RECOMMENDED) When to Use
Workflow
Benefits
ExampleUser: "Add this NotebookLM: https://notebooklm.google.com/notebook/abc123" You: "Add this notebook with auto-generated metadata?" User: "Yes" You: Call auto_discover_notebook(url="https://...") β Returns: {name: "n8n-workflow-guide", description: "...", tags: [...]} FallbackIf auto-discovery fails (rare), use add_notebook tool for manual entry. 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) |
| add_notebook | π MANUAL ENTRY β Add notebook with manually specified metadata (use auto_discover_notebook instead) When to Use
Conversation Workflow (Mandatory)When the user says: "I have a NotebookLM with X" FIRST: Try auto_discover_notebook for faster setup ONLY IF user refuses auto-discovery or it fails:
Rules
ExampleUser: "I have a notebook with n8n docs" You: "Want me to auto-generate the metadata?" (offer auto_discover_notebook first) User: "No, I'll specify it myself" 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_notebooks | 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_notebook | Get detailed information about a specific notebook by ID |
| select_notebook | 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_notebook | Update notebook metadata based on user intent. Pattern
Examples
Tip: You may update multiple fields at once if requested. |
| remove_notebook | 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_notebooks | Search library by query (name, description, topics, tags). Use to propose relevant notebooks for the task and then ask which to use. |
| get_library_stats | Get statistics about your notebook library (total notebooks, usage, etc.) |
| list_sessions | List all active sessions with stats (age, message count, last activity). Use to continue the most relevant session instead of starting from scratch. |
| close_session | Close a specific session by session ID. Ask before closing if the user might still need it. |
| reset_session | 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_health | 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_auth | 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. IMPORTANT: If already authenticated, this tool will skip re-authentication. 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:
|
| de_auth | De-authenticate (logout) - Clears all authentication data for security. Use this when:
This will:
IMPORTANT: After de_auth, the server will need re-authentication via setup_auth or re_auth before making queries. Use 'get_health' to verify de-authentication was successful (authenticated: false). |
| re_auth | 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_data | 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. |
| add_source | Add a source (document, URL, text, YouTube video) to the current NotebookLM notebook. Supported source types:
The source will be processed and indexed for use in conversations. |
| delete_source | Delete a source from the current NotebookLM notebook. You can identify the source to delete by either:
Use list_content first to see available sources and their IDs/names. WARNING: This action is irreversible. The source will be permanently removed from the notebook. |
| generate_content | Generate content from your NotebookLM sources. Supported content types:
Language support: All content types support 80+ languages via the language parameter. Video styles: Video content supports 6 visual styles via the video_style parameter: classroom, documentary, animated, corporate, cinematic, minimalist. These content types use real NotebookLM Studio UI buttons or the generic ContentGenerator architecture that navigates the Studio panel and falls back to chat-based generation. NOTE: Other content types (faq, study_guide, timeline, table_of_contents) are NOT currently implemented. For document-style content, use the ask_question tool. |
| list_content | List all sources and generated content in the current notebook. Returns:
|
| download_content | Download or export generated content from NotebookLM. Supported content types:
Note: Report content is text-based and returned in the generation response. |
| create_note | Create a note in the NotebookLM Studio panel. Notes are user-created annotations that appear in your notebook. Use them to save research findings, summaries, key insights, or any custom content you want to keep alongside your sources. Notes support markdown formatting for rich text content. |
| save_chat_to_note | Save the current NotebookLM chat/discussion to a note. This tool extracts all messages from the current conversation (both user questions and NotebookLM AI responses) and saves them as a formatted note in the Studio panel. Use this to:
The note will include timestamps and message attribution (User/NotebookLM). |
| convert_note_to_source | Convert a note to a source document in NotebookLM. This feature allows you to convert an existing note into a source, making the note content available for RAG queries and research. The method:
Use this when you want your note content to be included in NotebookLM's knowledge base for answering questions. |
| list_notebooks_from_nblm | Scrape the NotebookLM homepage to get a real list of all notebooks with their IDs and names. This tool navigates to notebooklm.google.com and extracts:
Use this to:
Note: Requires authentication. Run setup_auth first if not authenticated. |
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?' |