Notebooklm MCP
Google Gemini Notebook (formerly NotebookLM) over MCP + a local HTTP REST API. Citation-backed Q&A, full Studio generation, chat history, multi-account rotation. For Claude Code, Codex, Cursor, n8n, Zapier, Make.
Notebooklm MCP is an open-source mcp server by roomi-fields, written mainly in TypeScript, with 217 GitHub stars and the MIT license. Its code was last updated Oct 30, 2026.
Scan summary: scanned Nov 5, 2026 at commit f3939d6. Seen able to run shell commands, read environment and secrets. Scan policy
f3939d6 · Nov 5, 2026Findings (49)
- highHigh. Something risky that needs a close look before you install.dependencies issueDetails are available to the maintainer after claiming this listing.
- highHigh. Something risky that needs a close look before you install.dependencies issueDetails are available to the maintainer after claiming this listing.
- highHigh. Something risky that needs a close look before you install.dependencies issueDetails are available to the maintainer after claiming this listing.
- highHigh. Something risky that needs a close look before you install.dependencies issueDetails are available to the maintainer after claiming this listing.
- highHigh. Something risky that needs a close look before you install.dependencies issueDetails are available to the maintainer after claiming this listing.
- mediumMedium. Worth checking, often a vulnerable dependency or a setup problem.Runs shell commands. Fine for some tools, but it means the agent can run anything your user can.
src/http-wrapper.ts:1577 - mediumMedium. Worth checking, often a vulnerable dependency or a setup problem.Runs shell commands. Fine for some tools, but it means the agent can run anything your user can.
src/http-wrapper.ts:1590 - mediumMedium. Worth checking, often a vulnerable dependency or a setup problem.Runs shell commands. Fine for some tools, but it means the agent can run anything your user can.
src/http-wrapper.ts:1599 - mediumMedium. Worth checking, often a vulnerable dependency or a setup problem.brace-expansion@1.1.14: 12 known vulnerabilitiesGHSA-3jxr-9vmj-r5cp, GHSA-6j4f-fj2g-mc7p, GHSA-mh99-v99m-4gvg, GHSA-q2hr-2g5m-vwhr, GHSA-qhr7-859c-m2p7 +7 more
package-lock.json - mediumMedium. Worth checking, often a vulnerable dependency or a setup problem.brace-expansion@5.0.6: 6 known vulnerabilitiesGHSA-3jxr-9vmj-r5cp, GHSA-6j4f-fj2g-mc7p, GHSA-mh99-v99m-4gvg, GHSA-q2hr-2g5m-vwhr, GHSA-qhr7-859c-m2p7 +1 more
package-lock.json - mediumMedium. Worth checking, often a vulnerable dependency or a setup problem.browserslist@4.28.2: 4 known vulnerabilitiesGHSA-73wf-gq98-2v4g, GHSA-c83g-rgw3-j3cx, GHSA-73wf-gq98-2v4g, GHSA-c83g-rgw3-j3cx
package-lock.json - mediumMedium. Worth checking, often a vulnerable dependency or a setup problem.js-yaml@3.14.2: 8 known vulnerabilitiesGHSA-2883-xcg3-v3hh, GHSA-52cp-r559-cp3m, GHSA-5p4m-2wfm-xmqj, GHSA-h67p-54hq-rp68, GHSA-2883-xcg3-v3hh +3 more
package-lock.json - mediumMedium. Worth checking, often a vulnerable dependency or a setup problem.js-yaml@4.2.0: 3 known vulnerabilitiesGHSA-2883-xcg3-v3hh, GHSA-52cp-r559-cp3m, GHSA-5p4m-2wfm-xmqj
package-lock.json - mediumMedium. Worth checking, often a vulnerable dependency or a setup problem.@babel/plugin-transform-modules-systemjs@7.29.0: 1 known vulnerabilityGHSA-fv7c-fp4j-7gwp
website/package-lock.json - mediumMedium. Worth checking, often a vulnerable dependency or a setup problem.body-parser@1.20.4: 2 known vulnerabilitiesGHSA-27r3-jxmh-p828, GHSA-v422-hmwv-36x6
website/package-lock.json - mediumMedium. Worth checking, often a vulnerable dependency or a setup problem.compression@1.8.1: 1 known vulnerabilityGHSA-vc2v-76pw-4v95
website/package-lock.json - mediumMedium. Worth checking, often a vulnerable dependency or a setup problem.fast-uri@3.1.0: 12 known vulnerabilitiesGHSA-333x-w4r6-6crp, GHSA-4c8g-83qw-93j6, GHSA-7p8r-x3mc-p8w7, GHSA-f65p-4m7j-42xc, GHSA-hrr3-gc8f-f4qj +7 more
website/package-lock.json - mediumMedium. Worth checking, often a vulnerable dependency or a setup problem.follow-redirects@1.16.0: 3 known vulnerabilitiesGHSA-8r9p-f939-6h3c, GHSA-mrwp-f3q8-3g9p, GHSA-q3jh-wrc6-jgq8
website/package-lock.json - mediumMedium. Worth checking, often a vulnerable dependency or a setup problem.image-size@2.0.2: 2 known vulnerabilitiesGHSA-5p2g-fcmc-qvqq, GHSA-w3rx-r6r6-pgpr
website/package-lock.json - mediumMedium. Worth checking, often a vulnerable dependency or a setup problem.joi@17.13.3: 6 known vulnerabilitiesGHSA-4528-x5fx-h6hg, GHSA-6h2x-m376-mqjq, GHSA-6w3j-5fw6-r9vr, GHSA-gg4h-3hg2-grpc, GHSA-q7cg-457f-vx79 +1 more
website/package-lock.json - mediumMedium. Worth checking, often a vulnerable dependency or a setup problem.js-yaml@4.1.1: 4 known vulnerabilitiesGHSA-2883-xcg3-v3hh, GHSA-52cp-r559-cp3m, GHSA-5p4m-2wfm-xmqj, GHSA-h67p-54hq-rp68
website/package-lock.json - mediumMedium. Worth checking, often a vulnerable dependency or a setup problem.launch-editor@2.13.2: 4 known vulnerabilitiesGHSA-587h-7wmj-h5pm, GHSA-698v-4r3x-3vcv, GHSA-r825-w8mm-5pxw, GHSA-v6wh-96g9-6wx3
website/package-lock.json - mediumMedium. Worth checking, often a vulnerable dependency or a setup problem.nanoid@3.3.11: 3 known vulnerabilitiesGHSA-28wg-ghj8-5hjv, GHSA-2v37-7h3g-55p8, GHSA-xwg4-73v4-xw9w
website/package-lock.json - mediumMedium. Worth checking, often a vulnerable dependency or a setup problem.postcss@8.5.10: 3 known vulnerabilitiesGHSA-6g55-p6wh-862q, GHSA-fxqj-rqcc-2cmp, GHSA-r28c-9q8g-f849
website/package-lock.json - mediumMedium. Worth checking, often a vulnerable dependency or a setup problem.serialize-javascript@6.0.2: 3 known vulnerabilitiesGHSA-5c6j-r48x-rmvq, GHSA-m5mm-p8h7-m29v, GHSA-qj8w-gfj5-8c6v
website/package-lock.json - mediumMedium. Worth checking, often a vulnerable dependency or a setup problem.source-map-js@1.2.1: 1 known vulnerabilityGHSA-68fv-2mgg-jv7q
website/package-lock.json - mediumMedium. Worth checking, often a vulnerable dependency or a setup problem.svgo@3.3.3: 3 known vulnerabilitiesGHSA-2p49-hgcm-8545, GHSA-4vpr-x523-8j87, GHSA-w27v-7q3p-w38r
website/package-lock.json - mediumMedium. Worth checking, often a vulnerable dependency or a setup problem.uuid@8.3.2: 1 known vulnerabilityGHSA-w5hq-g745-h8pq
website/package-lock.json - mediumMedium. Worth checking, often a vulnerable dependency or a setup problem.webpack-dev-middleware@7.4.5: 1 known vulnerabilityGHSA-g84c-rxfj-3j2c
website/package-lock.json - mediumMedium. Worth checking, often a vulnerable dependency or a setup problem.ws@7.5.10: 1 known vulnerabilityGHSA-96hv-2xvq-fx4p
website/package-lock.json - mediumMedium. Worth checking, often a vulnerable dependency or a setup problem.ws@8.20.0: 2 known vulnerabilitiesGHSA-58qx-3vcg-4xpx, GHSA-96hv-2xvq-fx4p
website/package-lock.json - lowLow. Minor, or common in normal tools. Shown for information.In tests/examples/docs: Touches a sensitive credential location (SSH keys, cloud credentials, browser data or wallets). Expected for some tools, such as browser automation; check why.
src/__tests__/security.test.ts:158 - lowLow. Minor, or common in normal tools. Shown for information.In tests/examples/docs: Contacts a hard-coded IP address instead of a domain name.
src/__tests__/session-manager.test.ts:142 - lowLow. Minor, or common in normal tools. Shown for information.@humanfs/node@0.16.7: 1 known vulnerabilityGHSA-p498-v437-472g
package-lock.json - lowLow. Minor, or common in normal tools. Shown for information.baseline-browser-mapping@2.10.38: 1 known vulnerabilityGHSA-w5vr-8v7q-w6rv
package-lock.json - lowLow. Minor, or common in normal tools. Shown for information.deepmerge@4.3.1: 2 known vulnerabilitiesGHSA-gcqx-w48m-w2h4, GHSA-gcqx-w48m-w2h4
package-lock.json - lowLow. Minor, or common in normal tools. Shown for information.glob@10.5.0: 1 known vulnerabilityGHSA-3g3m-2fjr-6pw4
package-lock.json - lowLow. Minor, or common in normal tools. Shown for information.minimatch@9.0.8: 1 known vulnerabilityGHSA-g3hv-75wg-m249
package-lock.json - lowLow. Minor, or common in normal tools. Shown for information.@babel/core@7.29.0: 1 known vulnerabilityGHSA-4x5r-pxfx-6jf8
website/package-lock.json - lowLow. Minor, or common in normal tools. Shown for information.@swc/html@1.15.26: 1 known vulnerabilityGHSA-5qr2-v392-m9g8
website/package-lock.json - lowLow. Minor, or common in normal tools. Shown for information.baseline-browser-mapping@2.10.20: 1 known vulnerabilityGHSA-w5vr-8v7q-w6rv
website/package-lock.json - lowLow. Minor, or common in normal tools. Shown for information.colord@2.9.3: 1 known vulnerabilityGHSA-2wm5-q62r-hmrv
website/package-lock.json - lowLow. Minor, or common in normal tools. Shown for information.http-proxy-middleware@2.0.9: 1 known vulnerabilityGHSA-64mm-vxmg-q3vj
website/package-lock.json - lowLow. Minor, or common in normal tools. Shown for information.postcss-selector-parser@6.1.2: 2 known vulnerabilitiesGHSA-rj75-hqrm-r3gf, GHSA-w9m9-85wc-3x92
website/package-lock.json - lowLow. Minor, or common in normal tools. Shown for information.postcss-selector-parser@7.1.1: 2 known vulnerabilitiesGHSA-rj75-hqrm-r3gf, GHSA-w9m9-85wc-3x92
website/package-lock.json - lowLow. Minor, or common in normal tools. Shown for information.qs@6.14.2: 4 known vulnerabilitiesGHSA-4mjr-xmp4-gh2g, GHSA-6pq8-jhm2-2vcw, GHSA-q8mj-m7cp-5q26, GHSA-x5fp-wj9c-mxmx
website/package-lock.json - lowLow. Minor, or common in normal tools. Shown for information.webpack-dev-server@5.2.3: 4 known vulnerabilitiesGHSA-79cf-xcqc-c78w, GHSA-f5vj-f2hx-8m93, GHSA-m28w-2pqf-7qgj, GHSA-mx8g-39q3-5c79
website/package-lock.json - lowLow. Minor, or common in normal tools. Shown for information.package.json has a prepare scripthusky
package.json - lowLow. Minor, or common in normal tools. Shown for information.Reads environment variables not listed in the manifestNOTEBOOKLM_ACCOUNT_ID, NOTEBOOKLM_DATA_DIR, LOCALAPPDATA, AUDIT_LEVEL, GITHUB_TOKEN, GH_TOKEN, NOTEBOOKLM_MCP_BASE_URL, NOTEBOOK_URL, NOTEBOOKLM_API_KEY, NBLM_ENCRYPTION_KEY, NOTEBOOKLM_RPC_OVERRIDES, NOTEBOOKLM_BL, NOTEBOOKLM_UPLOAD_ROOT, NOTEBOOKLM_DOWNLOAD_ROOT, MCP_HTTP_URL
Network activity
Tools exposed (49)
notebook_ask# 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 sour
library_discover🚀 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
library_add📝 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 Note
library_listList all library notebooks with metadata (name, topics, use cases, URL). Use this to present options, then ask which notebook to use for the task.
library_getGet detailed information about a specific notebook by ID
library_selectSet 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 i
library_updateUpdate 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
library_removeDangerous — 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 re
library_searchSearch library by query (name, description, topics, tags). Use to propose relevant notebooks for the task and then ask which to use.
library_statsGet statistics about your notebook library (total notebooks, usage, etc.)
session_listList all active sessions with stats (age, message count, last activity). Use to continue the most relevant session instead of starting from scratch.
session_closeClose a specific session by session ID. Ask before closing if the user might still need it.
session_resetReset a session's chat history (keep same session ID). Use for a clean slate when the task changes; ask the user before resetting.
server_healthGet 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 st
auth_setupGoogle 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
auth_logoutDe-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 a
auth_switchSwitch to a different Google account or re-authenticate. Use this when: - NotebookLM usage limit is reached (compute-based, refreshes every 5 hours) - 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
server_cleanupULTRATHINK 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. C
source_addAdd 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 docume
source_deleteDelete 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. WARNIN
source_listList the sources of a NotebookLM notebook, with their IDs and titles. Use this to get the source_id that read_source and delete_source expect. RPC-backed (no browser).
source_readRead a source’s full indexed content — the exact text NotebookLM reasons over, which the web UI only ever shows in fragments. Use it to quote a source verbatim, to check what was actually ingested from a PDF or web page, or to feed the raw material to another tool. Identify the source by source_id
content_deleteDelete a generated Studio artifact (audio overview, video, report, infographic, presentation, data table, flashcards, quiz) from a notebook. Use list_content first to get the artifact id. RPC-backed (no browser). WARNING: irreversible. Note-backed mind maps are not covered — they live in the notes
content_generateGenerate 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 con
content_listList all sources and generated content in the current notebook. Returns: - Sources: Documents, URLs, and other uploaded materials - Generated content: Audio overviews
content_downloadDownload 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 (retur
note_createCreate 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.
note_save_chatSave 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
note_to_sourceConvert 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
vault_batchRun 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 notebo
notebook_listScrape 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 acc
notebook_createCreate 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
notebook_deleteDelete 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-
note_listList all user notes in the NotebookLM Studio panel. Returns note titles, IDs, and timestamps (e.g. details).
note_getRetrieve the full title and text content of a specific note in the NotebookLM Studio panel.
rename_sourceRename one source inside a notebook. RPC-backed (no browser). Identify the source by `source_id` (see list_sources) or by `source_name` — an ambiguous name is refused rather than guessed.
check_source_freshnessSay whether URL / Drive sources have drifted from what they point at. Name no source to check the whole notebook. RPC-backed (no browser). `stale: null` means the server did not say — not that the source is current.
get_source_guideRead NotebookLM’s own summary and key topics for a single source. RPC-backed. A source NotebookLM has not summarised yet returns an empty summary.
search_passagesFind the passages in a notebook’s sources that match a query, ranked best first. RPC-backed (no browser). This is retrieval, not an answer: nothing is generated, no generation quota is spent, and you get the indexed text with its offsets. Prefer this over ask_question when you want the evidence rath
get_notebook_summaryRead a notebook’s own summary of its sources and the questions it suggests asking. RPC-backed (no browser). Cheaper than asking a question to find out what is in there.
get_chat_historyRead back the questions and answers already recorded in a notebook, newest first. RPC-backed (no browser). NotebookLM exposes only the most recent conversation, which is what you get unless you pass `conversation_id`.
delete_chat_historyClear a notebook’s chat history. RPC-backed (no browser). NotebookLM has no per-turn delete: the whole conversation goes. The next question then starts a fresh conversation.
export_artifactExport a finished Studio artifact to Google Docs or Google Sheets. RPC-backed. Returns the created document link when the server sends one.
revise_slideRevise one slide of an existing slide deck from a prompt, instead of regenerating the whole deck. RPC-backed. `slide_index` is zero-based. The call returns as soon as the revision is accepted; poll list_content for the result.
share_notebookRead 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).
generate_study_aidGenerate a study aid from a notebook’s sources: flashcards or a quiz. RPC-backed (no browser). Returns when generation completes.
generate_mind_mapGenerate and save a mind map from a notebook’s sources. RPC-backed (no browser). Returns the saved mind-map id and its JSON structure.
manage_labelsManage a notebook’s source labels (RPC-backed): list them, create one, or delete some. action=list (default) / create (needs name) / delete (needs label_ids).
research_sourcesDiscover 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.
Automated result for the commit shown. See our scan policy. View the scan log
Maintainers can claim the listing to rescan, or dispute a result.
Notebooklm MCP alternatives
View more →Similar mcp servers in Developer Tools, ranked by GitHub stars. Compare licence, recent activity and scan status before you choose.
| Name | Stars | Licence | Last updated | Scan |
|---|---|---|---|---|
| Notebooklm MCP (this page) roomi-fields | 217 | MIT | Oct 30, 2026 | Scanned, no flagged issues |
| MCP Use mcp-use | 11k | MIT | Oct 30, 2026 | Scanned, no flagged issues |
| MobileBuildMCP getsentry | 6.5k | MIT | Nov 1, 2026 | Scanned, no flagged issues |
| Gemini Notebook MCP CLI jacob-bd | 6.4k | MIT | Oct 27, 2026 | Scanned, no flagged issues |
| Mcporter openclaw | 5.1k | MIT | Oct 27, 2026 | Scanned, no flagged issues |
| Flint Chart microsoft | 4.5k | MIT | Nov 1, 2026 | Scanned, no flagged issues |