Skip to main content
Glama

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault
HEADLESSNoSet to 'false' to watch the live NotebookLM conversation in the browsertrue

Capabilities

Features and capabilities supported by this server

CapabilityDetails
tools
{}
resources
{}

Tools

Functions exposed to the LLM to take actions

NameDescription
ask_question

Conversational Research Partner (NotebookLM β€’ Gemini 2.5 β€’ Session RAG)

No Active Notebook

  • Visit https://notebooklm.google to create a notebook and get a share link

  • Use add_notebook to add it to your library (explains how to get the link)

  • Use list_notebooks to show available sources

  • Use select_notebook to set one active

Auth tip: If login is required, use the prompt 'notebooklm.auth-setup' and then verify with the 'get_health' tool. If authentication later fails (e.g., expired cookies), use the prompt 'notebooklm.auth-repair'.

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

  • User provides NotebookLM URL and wants quick/automatic setup

  • User prefers not to manually specify metadata

  • Default choice for adding notebooks

Workflow

  1. User provides NotebookLM URL

  2. Ask confirmation: "Add '[URL]' with auto-generated metadata?"

  3. Call this tool β†’ NotebookLM generates name, description, tags

  4. Show generated metadata to user for review

Benefits

  • βœ… 30 seconds vs 5 minutes manual entry

  • βœ… Zero-friction notebook addition

  • βœ… Consistent metadata quality

  • βœ… Discovers topics user might not think of

Example

User: "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: [...]}

Fallback

If auto-discovery fails (rare), use add_notebook tool for manual entry.

Visit https://notebooklm.google/ β†’ Login (free: 100 notebooks, 50 sources each, 500k words, 50 daily queries)

  1. Click "+ New" (top right) β†’ Upload sources (docs, knowledge)

  2. Click "Share" (top right) β†’ Select "Anyone with the link"

  3. Click "Copy link" (bottom left) β†’ Give this link to Claude

(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

  • Auto-discovery failed or unavailable

  • User has specific metadata requirements

  • User prefers manual control

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:

  1. Ask URL: "What is the NotebookLM URL?"

  2. Ask content: "What knowledge is inside?" (1–2 sentences)

  3. Ask topics: "Which topics does it cover?" (3–5)

  4. Ask use cases: "When should we consult it?"

  5. Propose metadata and confirm:

    • Name: [suggested]

    • Description: [from user]

    • Topics: [list]

    • Use cases: [list] "Add it to your library now?"

  6. Only after explicit "Yes" β†’ call this tool

Rules

  • Do not add without user permission

  • Prefer auto_discover_notebook when possible

  • Do not guess metadata β€” ask concisely

  • Confirm summary before calling the tool

Example

User: "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

Visit https://notebooklm.google/ β†’ Login (free: 100 notebooks, 50 sources each, 500k words, 50 daily queries)

  1. Click "+ New" (top right) β†’ Upload sources (docs, knowledge)

  2. Click "Share" (top right) β†’ Select "Anyone with the link"

  3. Click "Copy link" (bottom left) β†’ Give this link to Claude

(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

  • User switches context: "Let's work on React now"

  • User asks explicitly to activate a notebook

  • Obvious task change requires another notebook

Auto-Switching

  • Safe to auto-switch if the context is clear and you announce it: "Switching to React notebook for this task..."

  • If ambiguous, ask: "Switch to [notebook] for this task?"

Example

User: "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

  1. Identify target notebook and fields (topics, description, use_cases, tags, url)

  2. Propose the exact change back to the user

  3. After explicit confirmation, call this tool

Examples

  • User: "React notebook also covers Next.js 14" You: "Add 'Next.js 14' to topics for React?" User: "Yes" β†’ call update_notebook

  • User: "Include error handling in n8n description" You: "Update the n8n description to mention error handling?" User: "Yes" β†’ call update_notebook

Tip: You may update multiple fields at once if requested.

remove_notebook

Dangerous β€” requires explicit user confirmation.

Confirmation Workflow

  1. User requests removal ("Remove the React notebook")

  2. Look up full name to confirm

  3. Ask: "Remove '[notebook_name]' from your library? (Does not delete the actual NotebookLM notebook)"

  4. Only on explicit "Yes" β†’ call remove_notebook

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:

  1. Ask user to close ALL Chrome/Chromium instances

  2. Run cleanup_data(confirm=true, preserve_library=true) to clean old data

  3. Run setup_auth again for fresh start This helps resolve conflicts from old browser sessions and installation data.

de_auth

De-authenticate (logout) - Clears all authentication data for security. Use this when:

  • User wants to log out for security reasons

  • Removing credentials before shutting down

  • Clearing auth without immediately re-authenticating

This will:

  1. Close all active browser sessions

  2. Delete all saved authentication data (cookies, Chrome profile)

  3. Preserve notebook library and other data

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:

  • NotebookLM rate limit is reached (50 queries/day for free accounts)

  • You want to switch to a different Google account

  • Authentication is broken and needs a fresh start

This will:

  1. Close all active browser sessions

  2. Delete all saved authentication data (cookies, Chrome profile)

  3. Open browser for fresh Google login

After completion, use 'get_health' to verify authentication.

TROUBLESHOOTING for persistent auth issues: If re_auth fails repeatedly:

  1. Ask user to close ALL Chrome/Chromium instances

  2. Run cleanup_data(confirm=false, preserve_library=true) to preview old files

  3. Run cleanup_data(confirm=true, preserve_library=true) to clean everything except library

  4. Run re_auth again for completely fresh start This removes old installation data and browser sessions that can cause conflicts.

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:

  1. Legacy Installation (notebooklm-mcp-nodejs) - Old paths with -nodejs suffix

  2. Current Installation (notebooklm-mcp) - Active data, browser profiles, library

  3. NPM/NPX Cache - Cached installations from npx

  4. Claude CLI MCP Logs - MCP server logs from Claude CLI

  5. Temporary Backups - Backup directories in system temp

  6. Claude Projects Cache - Project-specific cache (optional)

  7. Editor Logs (Cursor/VSCode) - MCP logs from code editors (optional)

  8. Trash Files - Deleted notebooklm files in system trash (optional)

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:

  1. Ask user to close ALL Chrome/Chromium instances

  2. Run cleanup_data(confirm=false, preserve_library=true) to preview

  3. Run cleanup_data(confirm=true, preserve_library=true) to execute

  4. Run setup_auth or re_auth for fresh browser session

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:

  • file: Upload a local file (PDF, DOCX, TXT, etc.)

  • url: Add a web page URL

  • text: Paste text content directly

  • youtube: Add a YouTube video URL

  • google_drive: Add a Google Drive document link

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:

  • source_id: The unique identifier of the source

  • source_name: The name/title of the source (partial match supported)

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:

  • audio_overview: Audio podcast/overview (Deep Dive conversation with two AI hosts)

  • video: Video summary that visually explains main topics (brief or explainer format)

  • presentation: Slides/presentation with AI-generated content and images

  • report: Briefing document (2,000-3,000 words) summarizing key findings, exportable as PDF/DOCX

  • infographic: Visual infographic in horizontal (16:9) or vertical (9:16) format

  • data_table: Structured table organizing key information (exportable as CSV/Excel)

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:

  • Sources: Documents, URLs, and other uploaded materials

  • Generated content: Audio overviews

download_content

Download or export generated content from NotebookLM.

Supported content types:

  • audio_overview: Downloads as audio file (MP3)

  • video: Downloads as video file

  • infographic: Downloads as image file

  • presentation: Exports to Google Slides (returns URL)

  • data_table: Exports to Google Sheets (returns URL)

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:

  • Preserve important research conversations

  • Create a summary of your discussion with NotebookLM

  • Save chat history before starting a new topic

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:

  1. Finds the note by title in the Studio panel

  2. Attempts to use NotebookLM's native "Convert to source" feature if available

  3. Falls back to extracting note content and creating a text source if not

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:

  • Notebook ID (UUID from URL)

  • Notebook name (displayed title)

  • Notebook URL

Use this to:

  • Discover notebooks not yet in your library

  • Get accurate notebook IDs for automation

  • Verify which notebooks exist in your account

  • Find notebooks to delete when cleanup is needed

Note: Requires authentication. Run setup_auth first if not authenticated.

Prompts

Interactive templates invoked by user choice

NameDescription

No prompts

Resources

Contextual data attached and managed by the client

NameDescription
Notebook LibraryComplete 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

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/roomi-fields/notebooklm-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server