Skip to content
verify mcp Beta VerifyMCP is currently in beta. If you notice any issues, get in touch and we’ll put it right.

NotebookLM MCP

NPM · @ROOMI-FIELDS/NOTEBOOKLM-MCP · SCANNED AUG 7

Automate Google NotebookLM — Q&A with citations, audio, video, content generation

+37 this week 62 Trust /100
Trust breakdown (6 categories)

How this component scores in each security and reliability category. Every signal is checked automatically from public evidence about the published package, including repeated runs of it in an isolated sandbox, and we only credit what we can confirm. How we score →

Supply Chain Security88
  • No malware found by supply-chain analysis.Pass
  • Known CVEs were checked across the 158 of 160 dependencies we could resolve, so this covers what we could see, not the whole tree.Partial
  • No install/post-install scripts declared.Pass
  • Dependency health was assessed across the 158 of 160 dependencies we could resolve, so this covers what we could see, not the whole tree. View diagnostics → Partial
Provenance & Transparency45
Schema Quality & AI Usability56
  • 100% of prompts and resources have a non-trivial description (not blank, and not just the item's name).Pass
  • AI-judged instruction clarity (poor).Fail
  • Context-footprint check failed: tool/resource definitions use about 6555 tokens (~172/item across 38 items; 37 tools + 1 resources), over budget; trim descriptions and params. See how to fix → Fail
  • Usage-examples check failed: none of the tools include examples. See how to fix → Fail
Stability & Change Management0
  • Stability check failed: the tool surface changed between 1.5.9 and 3.0.1: 27 tool removals, 0 breaking changes, 37 additions. See how to fix → Fail
Tool Coverage100
  • 100% of tools have a non-trivial description (not blank, and not just the tool's name).Pass
  • 100% of tool parameters carry a description.Pass
  • Structured output schemas are declared (100% of tools); any adoption earns full credit.Pass
Capabilities100
  • Implements a supported MCP spec version (2025-11-25); the latest is 2026-07-28.Pass
Install

Add this component to your MCP client. Where a client-specific snippet is available, pick your client below and copy it straight into your config; otherwise use the connection detail shown.

npm · @roomi-fields/notebooklm-mcp

# add to Claude Code
claude mcp add roomi-fields-notebooklm-mcp -- npx -y @roomi-fields/notebooklm-mcp
# add to Codex CLI
codex mcp add roomi-fields-notebooklm-mcp -- npx -y @roomi-fields/notebooklm-mcp
// opencode.json
{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "roomi-fields-notebooklm-mcp": {
      "type": "local",
      "command": [
        "npx",
        "-y",
        "@roomi-fields/notebooklm-mcp"
      ],
      "enabled": true
    }
  }
}
# add to OpenClaw
openclaw mcp add roomi-fields-notebooklm-mcp --command npx --arg -y --arg @roomi-fields/notebooklm-mcp
# ~/.hermes/config.yaml
mcp_servers:
  roomi-fields-notebooklm-mcp:
    command: "npx"
    args: ["-y", "@roomi-fields/notebooklm-mcp"]
// mcp.json
{
  "mcpServers": {
    "roomi-fields-notebooklm-mcp": {
      "command": "npx",
      "args": [
        "-y",
        "@roomi-fields/notebooklm-mcp"
      ]
    }
  }
}
Changelog

Every change we have recorded for this component, newest first. Security-relevant changes are always shown. ▲ marks a change for the better, ▼ a change for the worse; unmarked changes are neutral.

  • 6 Aug 26 +27
    • Stability: unverified → fail security
    • Schema quality: 4916 → 6555 functional
    • Schema quality: 4916 → 6483 functional
    • Tool coverage: unverified → 100 functional
    • MCP protocol: unverified → pass functional
    • Schema quality: unverified → 100 functional
    • First check of Tool coverage: 100 functional
    • Package version: 3.0.0 → 3.0.1 functional
    • Package version: 1.5.9 → 3.0.1 functional
  • 5 Aug 26 −31
    • Stability: 0.27 → unverified security
    • Capabilities: pass → unverified functional
    • Tool coverage: 100 → unverified functional
    • Schema quality: 100 → unverified functional
    • Package version: 1.5.9 → 3.0.0 functional
  • 4 Aug 26 +4
    • Stability: unverified → 0.27 functional
  • 2 Aug 26 +37
    • Provenance: unverified → fail security
    • Install scripts: unverified → pass security
    • Known CVEs: unverified → partial security
    • Malware scan: unverified → pass security
    • Stability: Stability not yet verified: not enough scan history yet (needs a 30-day window). security
    • License: unverified → pass functional
    • Dependency health: unverified → partial functional
    • Maintenance: unverified → pass functional
    • MCP protocol: unverified → pass functional
    • Schema quality: unverified → poor functional
    • Licence: MIT functional
  • 31 Jul 26 +16
    • We updated how we score, so this day's move reflects our rubric, not a change to the server See what changed → functional
  • 30 Jul 26 −42
    • Malware scan: pass → unverified security
    • Schema quality: 100 → unverified functional
    • Tool coverage: 100 → unverified functional
    • Dependency health: unverified → partial functional
  • 27 Jul 26 51

    First indexed and scored.

Diagnostics

Diagnostic detail from the automated scan of this channel: what the scanner observed at each step, so you can see exactly where a check passed or failed. It is informational only and never changes the trust score.

Captured 7 Aug 2026 · Analysed npm/@roomi-fields/[email protected]

Provenance No attestation

The registry publishes no build provenance for this version, so there is nothing to verify.

Result No attestation
Ecosystem npm
Dependencies 158 packages
Packages resolved 158
Deprecated 151
Stale 53
Tree resolution Partial

The dependency tree was only partially resolved, so these counts may be incomplete.

MCP tools · 37 exposed · ~6,493 tokens

The tools this component advertises to a client, with an estimated token cost for each. Expand a tool to see its parameters and schema. The per-tool counts are indicative and are not scored directly; the schema's total context footprint is one signal in Schema Quality & AI Usability.

Tool Tokens
auth_logout ~126

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).

Input schema present but exposes no named parameters.

NameTypeReqDescription
dataobjectThe tool payload on success. The exact shape depends on the tool.
errorstringHuman-readable error message, present only when success is false.
successbooleanyesWhether the tool call succeeded.

No examples provided.

auth_setup ~267

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.

NameTypeReqDescription
browser_optionsobjectOptional browser settings. Control visibility, timeouts, and stealth behavior.
headlessbooleanAlias/inverse of show_browser: headless=false opens a visible window, headless=true runs hidden. Ignored if show_browser is set.
show_browserbooleanShow browser window (simple version). Default: true for setup. For advanced control, use browser_options instead.
NameTypeReqDescription
dataobjectThe tool payload on success. The exact shape depends on the tool.
errorstringHuman-readable error message, present only when success is false.
successbooleanyesWhether the tool call succeeded.

No examples provided.

auth_switch ~280

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.

NameTypeReqDescription
browser_optionsobjectOptional browser settings. Control visibility, timeouts, and stealth behavior.
headlessbooleanAlias/inverse of show_browser: headless=false opens a visible window, headless=true runs hidden. Ignored if show_browser is set.
show_browserbooleanShow browser window (simple version). Default: true for re-auth. For advanced control, use browser_options instead.
NameTypeReqDescription
dataobjectThe tool payload on success. The exact shape depends on the tool.
errorstringHuman-readable error message, present only when success is false.
successbooleanyesWhether the tool call succeeded.

No examples provided.

content_download ~159

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.

NameTypeReqDescription
content_typestringyesType of content to download/export
notebook_urlstringNotebook URL. If not provided, uses the active notebook.
output_pathstringOptional local path to save the file (for audio, video, infographic)
session_idstringSession ID to reuse an existing session
NameTypeReqDescription
dataobjectThe tool payload on success. The exact shape depends on the tool.
errorstringHuman-readable error message, present only when success is false.
successbooleanyesWhether the tool call succeeded.

No examples provided.

content_generate ~428

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.

NameTypeReqDescription
content_typestringyesType of content to generate: audio_overview (podcast), video (brief or explainer), presentation (slides), report (briefing doc 2,000-3,000 words, PDF/DOCX export), infographic (horizontal 16:9 or ver…
custom_instructionsstringOptional instructions to customize the generated content
languagestringLanguage for the generated content (e.g., "French", "Spanish", "Japanese"). NotebookLM supports 80+ languages.
notebook_urlstringNotebook URL. If not provided, uses the active notebook.
session_idstringSession ID to reuse an existing session
video_stylestringVisual style for video content (only valid for content_type="video"). Powered by Nano Banana AI.
NameTypeReqDescription
dataobjectThe tool payload on success. The exact shape depends on the tool.
errorstringHuman-readable error message, present only when success is false.
successbooleanyesWhether the tool call succeeded.

No examples provided.

content_list ~75

List all sources and generated content in the current notebook. Returns: - Sources: Documents, URLs, and other uploaded materials - Generated content: Audio overviews

NameTypeReqDescription
notebook_urlstringNotebook URL. If not provided, uses the active notebook.
session_idstringSession ID to reuse an existing session
NameTypeReqDescription
dataobjectThe tool payload on success. The exact shape depends on the tool.
errorstringHuman-readable error message, present only when success is false.
successbooleanyesWhether the tool call succeeded.

No examples provided.

generate_mind_map ~80

Generate and save a mind map from a notebook’s sources. RPC-backed (no browser). Returns the saved mind-map id and its JSON structure.

NameTypeReqDescription
notebook_idstringNotebook UUID (alternative to notebook_url).
notebook_urlstringNotebookLM notebook URL.
titlestringOptional title for the saved mind map.
NameTypeReqDescription
dataobjectThe tool payload on success. The exact shape depends on the tool.
errorstringHuman-readable error message, present only when success is false.
successbooleanyesWhether the tool call succeeded.

No examples provided.

generate_study_aid ~91

Generate a study aid from a notebook’s sources: flashcards or a quiz. RPC-backed (no browser). Returns when generation completes.

NameTypeReqDescription
focusstringOptional focus prompt to steer the content.
kindstringyesWhich study aid to generate.
notebook_idstringNotebook UUID (alternative to notebook_url).
notebook_urlstringNotebookLM notebook URL.
NameTypeReqDescription
dataobjectThe tool payload on success. The exact shape depends on the tool.
errorstringHuman-readable error message, present only when success is false.
successbooleanyesWhether the tool call succeeded.

No examples provided.

library_add ~567

📝 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 ## How to Get a NotebookLM Share Link 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)

NameTypeReqDescription
content_typesarrayTypes of content (e.g., ['documentation', 'examples', 'best practices'])
descriptionstringyesWhat knowledge/content is in this notebook
namestringyesDisplay name for the notebook (e.g., 'n8n Documentation')
tagsarrayOptional tags for organization
topicsarrayyesTopics covered in this notebook
urlstringyesThe NotebookLM notebook URL
use_casesarrayWhen should Claude use this notebook (e.g., ['Implementing n8n workflows'])
NameTypeReqDescription
dataobjectThe tool payload on success. The exact shape depends on the tool.
errorstringHuman-readable error message, present only when success is false.
successbooleanyesWhether the tool call succeeded.

No examples provided.

library_discover ~374

🚀 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. ## How to Get a NotebookLM Share Link 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)

NameTypeReqDescription
urlstringyesThe NotebookLM notebook URL
NameTypeReqDescription
dataobjectThe tool payload on success. The exact shape depends on the tool.
errorstringHuman-readable error message, present only when success is false.
successbooleanyesWhether the tool call succeeded.

No examples provided.

library_get ~28

Get detailed information about a specific notebook by ID

NameTypeReqDescription
idstringyesThe notebook ID
NameTypeReqDescription
dataobjectThe tool payload on success. The exact shape depends on the tool.
errorstringHuman-readable error message, present only when success is false.
successbooleanyesWhether the tool call succeeded.

No examples provided.

library_list ~40

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.

Input schema present but exposes no named parameters.

NameTypeReqDescription
dataobjectThe tool payload on success. The exact shape depends on the tool.
errorstringHuman-readable error message, present only when success is false.
successbooleanyesWhether the tool call succeeded.

No examples provided.

library_remove ~134

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

NameTypeReqDescription
idstringyesThe notebook ID to remove
NameTypeReqDescription
dataobjectThe tool payload on success. The exact shape depends on the tool.
errorstringHuman-readable error message, present only when success is false.
successbooleanyesWhether the tool call succeeded.

No examples provided.

library_search ~45

Search library by query (name, description, topics, tags). Use to propose relevant notebooks for the task and then ask which to use.

NameTypeReqDescription
querystringyesSearch query
NameTypeReqDescription
dataobjectThe tool payload on success. The exact shape depends on the tool.
errorstringHuman-readable error message, present only when success is false.
successbooleanyesWhether the tool call succeeded.

No examples provided.

library_select ~149

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)

NameTypeReqDescription
idstringyesThe notebook ID to activate
NameTypeReqDescription
dataobjectThe tool payload on success. The exact shape depends on the tool.
errorstringHuman-readable error message, present only when success is false.
successbooleanyesWhether the tool call succeeded.

No examples provided.

library_stats ~22

Get statistics about your notebook library (total notebooks, usage, etc.)

Input schema present but exposes no named parameters.

NameTypeReqDescription
dataobjectThe tool payload on success. The exact shape depends on the tool.
errorstringHuman-readable error message, present only when success is false.
successbooleanyesWhether the tool call succeeded.

No examples provided.

library_update ~238

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.

NameTypeReqDescription
content_typesarrayNew content types
descriptionstringNew description
idstringyesThe notebook ID to update
namestringNew display name
tagsarrayNew tags
topicsarrayNew topics list
urlstringNew notebook URL
use_casesarrayNew use cases
NameTypeReqDescription
dataobjectThe tool payload on success. The exact shape depends on the tool.
errorstringHuman-readable error message, present only when success is false.
successbooleanyesWhether the tool call succeeded.

No examples provided.

manage_labels ~122

Manage a notebook’s source labels (RPC-backed): list them, create one, or delete some. action=list (default) / create (needs name) / delete (needs label_ids).

NameTypeReqDescription
actionstringDefault list.
emojistringOptional label emoji (for create).
label_idsarrayLabel ids to delete (for delete).
namestringLabel name (for create).
notebook_idstringNotebook UUID (alternative to notebook_url).
notebook_urlstringNotebookLM notebook URL.
NameTypeReqDescription
dataobjectThe tool payload on success. The exact shape depends on the tool.
errorstringHuman-readable error message, present only when success is false.
successbooleanyesWhether the tool call succeeded.

No examples provided.

note_create ~125

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.

NameTypeReqDescription
contentstringyesContent/body of the note. Supports markdown formatting.
notebook_urlstringNotebook URL. If not provided, uses the active notebook.
session_idstringSession ID to reuse an existing session
titlestringyesTitle of the note (required)
NameTypeReqDescription
dataobjectThe tool payload on success. The exact shape depends on the tool.
errorstringHuman-readable error message, present only when success is false.
successbooleanyesWhether the tool call succeeded.

No examples provided.

note_get ~91

Retrieve the full title and text content of a specific note in the NotebookLM Studio panel.

NameTypeReqDescription
note_idstringOptional note ID.
note_titlestringyesThe title of the note to retrieve content for.
notebook_urlstringOptional NotebookLM URL. If not provided, uses the active notebook.
session_idstringOptional Session ID to reuse an existing session.
NameTypeReqDescription
dataobjectThe tool payload on success. The exact shape depends on the tool.
errorstringHuman-readable error message, present only when success is false.
successbooleanyesWhether the tool call succeeded.

No examples provided.

note_list ~70

List all user notes in the NotebookLM Studio panel. Returns note titles, IDs, and timestamps (e.g. details).

NameTypeReqDescription
notebook_urlstringOptional NotebookLM URL. If not provided, uses the active notebook.
session_idstringOptional Session ID to reuse an existing session.
NameTypeReqDescription
dataobjectThe tool payload on success. The exact shape depends on the tool.
errorstringHuman-readable error message, present only when success is false.
successbooleanyesWhether the tool call succeeded.

No examples provided.

note_save_chat ~149

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).

NameTypeReqDescription
notebook_urlstringNotebook URL. If not provided, uses the active notebook.
session_idstringSession ID to reuse an existing session
titlestringCustom title for the note (default: "Chat Summary")
NameTypeReqDescription
dataobjectThe tool payload on success. The exact shape depends on the tool.
errorstringHuman-readable error message, present only when success is false.
successbooleanyesWhether the tool call succeeded.

No examples provided.

note_to_source ~165

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.

NameTypeReqDescription
note_titlestringyesTitle of the note to convert (required)
notebook_urlstringNotebook URL. If not provided, uses the active notebook.
session_idstringSession ID to reuse an existing session
NameTypeReqDescription
dataobjectThe tool payload on success. The exact shape depends on the tool.
errorstringHuman-readable error message, present only when success is false.
successbooleanyesWhether the tool call succeeded.

No examples provided.

notebook_ask ~438

# 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.

NameTypeReqDescription
browser_optionsobjectOptional browser behavior settings. Claude can control everything: visibility, typing speed, stealth mode, timeouts. Useful for debugging or fine-tuning.
notebook_idstringOptional notebook ID from your library. If omitted, uses the active notebook. Use list_notebooks to see available notebooks.
notebook_urlstringOptional notebook URL (overrides notebook_id). Use this for ad-hoc queries to notebooks not in your library.
questionstringyesThe question to ask NotebookLM
session_idstringOptional session ID for contextual conversations. If omitted, a new session is created.
show_browserbooleanShow browser window for debugging (simple version). For advanced control (typing speed, stealth, etc.), use browser_options instead.
source_formatstringFormat for source citation extraction (default: none). Options: - none: No source extraction (fastest) - inline: Insert source text inline: "text [1: source excerpt]" - footnotes: Append sources at t…
NameTypeReqDescription
dataobjectThe tool payload on success. The exact shape depends on the tool.
errorstringHuman-readable error message, present only when success is false.
successbooleanyesWhether the tool call succeeded.

No examples provided.

notebook_create ~296

Create a brand-new empty notebook directly in NotebookLM (no pre-existing URL required, unlike `add_notebook` which only registers an already-created notebook into the library). Returns `{ notebook_url, notebook_id, name_applied, actual_name, message }`. - `notebook_url` / `notebook_id`: always the FINAL UUID-based URL (the tool waits past the `/notebook/creating/c` transitional URL). - `name_applied` (boolean): whether the `name` parameter actually took effect. `false` means the notebook is still "Untitled notebook" — rename via UI if needed. - `actual_name` (string): the title observed on the notebook after creation. Typical workflow: 1) `create_notebook({ name?: "my-research" })` → `{ notebook_url, notebook_id, name_applied, actual_name }` 2) `add_source({ notebook_url, source_type: "url", source: "https://..." })` 3) `ask_question({ notebook_url, question: "..." })` Note: Requires authentication. Run `setup_auth` first if not authenticated.

NameTypeReqDescription
namestringOptional initial title for the notebook. NotebookLM will auto-name it if omitted (usually "Untitled notebook"). The title can be edited later via the UI.
show_browserbooleanShow browser window during creation. Default: false (headless).
NameTypeReqDescription
dataobjectThe tool payload on success. The exact shape depends on the tool.
errorstringHuman-readable error message, present only when success is false.
successbooleanyesWhether the tool call succeeded.

No examples provided.

notebook_delete ~202

Delete one or more notebooks directly from NotebookLM (UI-level deletion, not just from the local library). Pass an array of notebook IDs (UUIDs from `list_notebooks_from_nblm`). Returns `{ deleted: [...], failed: [...] }` so the caller can retry or report on partial failures. Use this to: - Bulk-clean up a NotebookLM account (e.g. test notebooks from automation runs) - Free up the 100-notebook free-tier quota - Remove notebooks no longer covered by your sources Warning: This is irreversible at the NotebookLM side. Confirm with the user before calling. Note: Requires authentication. Run `setup_auth` first if not authenticated.

NameTypeReqDescription
notebook_idsarrayyesArray of NotebookLM notebook IDs (UUIDs) to delete. Use `list_notebooks_from_nblm` to discover them.
show_browserbooleanShow browser window during deletion. Default: false (headless).
NameTypeReqDescription
dataobjectThe tool payload on success. The exact shape depends on the tool.
errorstringHuman-readable error message, present only when success is false.
successbooleanyesWhether the tool call succeeded.

No examples provided.

notebook_list ~133

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.

NameTypeReqDescription
show_browserbooleanShow browser window during scraping. Default: false (headless).
NameTypeReqDescription
dataobjectThe tool payload on success. The exact shape depends on the tool.
errorstringHuman-readable error message, present only when success is false.
successbooleanyesWhether the tool call succeeded.

No examples provided.

research_sources ~99

Discover web sources for a notebook via NotebookLM Fast Research. RPC-backed. Returns the found sources; set `import: true` to also add them to the notebook.

NameTypeReqDescription
importbooleanIf true, import the discovered sources into the notebook.
notebook_idstringNotebook UUID (alternative to notebook_url).
notebook_urlstringNotebookLM notebook URL.
querystringyesWhat to research on the web.
NameTypeReqDescription
dataobjectThe tool payload on success. The exact shape depends on the tool.
errorstringHuman-readable error message, present only when success is false.
successbooleanyesWhether the tool call succeeded.

No examples provided.

server_cleanup ~409

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.

NameTypeReqDescription
confirmbooleanyesConfirmation flag. Tool shows preview first, then user confirms deletion. Set to true only after user has reviewed the preview and explicitly confirmed.
preserve_librarybooleanPreserve library.json file during cleanup. Default: false. Set to true to keep your notebook library while deleting everything else (browser data, caches, logs).
NameTypeReqDescription
dataobjectThe tool payload on success. The exact shape depends on the tool.
errorstringHuman-readable error message, present only when success is false.
successbooleanyesWhether the tool call succeeded.

No examples provided.

server_health ~63

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.

Input schema present but exposes no named parameters.

NameTypeReqDescription
dataobjectThe tool payload on success. The exact shape depends on the tool.
errorstringHuman-readable error message, present only when success is false.
successbooleanyesWhether the tool call succeeded.

No examples provided.

session_close ~40

Close a specific session by session ID. Ask before closing if the user might still need it.

NameTypeReqDescription
session_idstringyesThe session ID to close
NameTypeReqDescription
dataobjectThe tool payload on success. The exact shape depends on the tool.
errorstringHuman-readable error message, present only when success is false.
successbooleanyesWhether the tool call succeeded.

No examples provided.

session_list ~36

List all active sessions with stats (age, message count, last activity). Use to continue the most relevant session instead of starting from scratch.

Input schema present but exposes no named parameters.

NameTypeReqDescription
dataobjectThe tool payload on success. The exact shape depends on the tool.
errorstringHuman-readable error message, present only when success is false.
successbooleanyesWhether the tool call succeeded.

No examples provided.

session_reset ~49

Reset a session's chat history (keep same session ID). Use for a clean slate when the task changes; ask the user before resetting.

NameTypeReqDescription
session_idstringyesThe session ID to reset
NameTypeReqDescription
dataobjectThe tool payload on success. The exact shape depends on the tool.
errorstringHuman-readable error message, present only when success is false.
successbooleanyesWhether the tool call succeeded.

No examples provided.

share_notebook ~122

Read a notebook’s sharing status, or toggle its public link. Omit `set_public` to just read status (public link on/off, owner/collaborators). Set `set_public: true`/`false` to enable/disable the public link. RPC-backed (no browser).

NameTypeReqDescription
notebook_idstringNotebook UUID (alternative to notebook_url).
notebook_urlstringNotebookLM notebook URL.
set_publicbooleanOptional. true = enable public link, false = restrict. Omit to only read status.
NameTypeReqDescription
dataobjectThe tool payload on success. The exact shape depends on the tool.
errorstringHuman-readable error message, present only when success is false.
successbooleanyesWhether the tool call succeeded.

No examples provided.

source_add ~216

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.

NameTypeReqDescription
file_pathstringLocal file path (required for source_type="file")
notebook_urlstringNotebook URL. If not provided, uses the active notebook.
session_idstringSession ID to reuse an existing session
source_typestringyesType of source to add
textstringText content (required for source_type="text")
titlestringOptional title/name for the source
urlstringURL (required for source_type="url", "youtube", "google_drive")
NameTypeReqDescription
dataobjectThe tool payload on success. The exact shape depends on the tool.
errorstringHuman-readable error message, present only when success is false.
successbooleanyesWhether the tool call succeeded.

No examples provided.

source_delete ~155

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.

NameTypeReqDescription
notebook_urlstringNotebook URL. If not provided, uses the active notebook.
session_idstringSession ID to reuse an existing session
source_idstringThe unique ID of the source to delete
source_namestringThe name/title of the source to delete (partial match supported)
NameTypeReqDescription
dataobjectThe tool payload on success. The exact shape depends on the tool.
errorstringHuman-readable error message, present only when success is false.
successbooleanyesWhether the tool call succeeded.

No examples provided.

vault_batch ~410

Run a list of questions against a notebook and persist each answer to disk as two artifacts: `{slug}.md` (markdown with YAML frontmatter, answer body and cited source excerpts) and `{slug}.json` (structured payload conforming to the nblm-answer-v1 schema). Designed for one-shot ingestion of a notebook into a searchable markdown vault (e.g. for indexing with RTFM) — every answer keeps titles + highlighted excerpts, so repeat queries no longer need to round-trip through NotebookLM. Reuses the same browser/session as ask_question — no HTTP server required. Pass `sleep_between_ms` (1500–3000ms) for batches above ~20 questions to avoid hammering NotebookLM. Returns per-question file paths, success flags, citation counts and the resolved session id. See the RTFM integration guide for the recommended workflow.

NameTypeReqDescription
notebook_idstringOptional library notebook id to query. Falls back to the active notebook.
notebook_urlstringOptional NotebookLM URL (overrides notebook_id). Use for ad-hoc notebooks.
questionsarrayyesNon-empty array of question strings to ask sequentially.
session_idstringOptional session id to reuse for context continuity across the batch.
sleep_between_msnumberPause between questions in ms. 1500–3000 is sane for batches above ~20.
slug_prefixstringOptional filename prefix (e.g. "sota", "market-2026q2"). Default: "".
source_formatstringCitation extraction mode. "json" (default) preserves titles + excerpts in the sidecar.
vault_dirstringyesDestination directory (absolute or relative). Created with mkdir -p if missing. Set NOTEBOOKLM_VAULT_ROOT in the server env to confine writes under a single root (recommended for shared/remote setups…
NameTypeReqDescription
dataobjectThe tool payload on success. The exact shape depends on the tool.
errorstringHuman-readable error message, present only when success is false.
successbooleanyesWhether the tool call succeeded.

No examples provided.