Notebooklm Secure MCP server
Security-hardened NotebookLM MCP with post-quantum encryption
84 stars101 downloads/wk
Reviews
Write oneNobody has reviewed Notebooklm Secure yet.
If you have run it, two minutes of your experience saves the next person an afternoon.
Notebooklm Secure tools (63, 11 write)
write = sends, deletes, buys or postsRead from the package source without running it. The installed server may list more.
add_folderAdd all files from a local folder as sources to a NotebookLM notebook. ## Use this when - User wants to add a folder of PDFs, docs, or text files to a notebook - Adding 5+ files at once (faster than calling add_source repeatedly) ## Behaviour - Scans the folder for supported file types (default: .pdf, .txt, .md, .docx) - Adds each file one-by-one with progress updates - Skips files that fail and r
add_notebookAdd a NotebookLM notebook to the local library after explicit user confirmation.
add_sourceAdd a source to an existing NotebookLM notebook. If neither `notebook_id` nor `notebook_url` is provided, this tool uses the currently active notebook from the local library. ## Source Types - **url**: Web page URL - **text**: Text content (paste) - **file**: Local file path (PDF, DOCX, TXT) ## Example ```json { "notebook_id": "my-notebook", "source": { "type": "url", "value": "https://docs.exampl
batch_create_notebookswrite actionCreate multiple NotebookLM notebooks in one operation. ## What This Tool Does - Creates up to 10 notebooks in a single batch operation - Reports progress for each notebook - Optionally continues on error or stops on first failure - Auto-adds created notebooks to your library ## Example Usage ```json { "notebooks": [ { "name": "React Documentation", "sources": [ { "type": "url", "value": "https://r
cleanup_dataPreview or delete NotebookLM MCP data across known install, browser, cache, log, backup, and trash locations.
close_sessionClose a specific session by session ID. Ask before closing if the user might still need it.
collect_audit_evidenceCollect evidence package for compliance audits. Creates a verifiable package with checksums.
compliance_dashboardGet comprehensive compliance dashboard with GDPR, SOC2, and CSSF status. Shows overall compliance score, health status, and key metrics.
compliance_scoreGet current compliance score (0-100) for each regulation and overall. Includes detailed breakdown by category.
configure_webhookAdd or update a webhook endpoint for event notifications.
create_notebookwrite actionCreate a new NotebookLM notebook with sources programmatically. ## What This Tool Does - Creates a NEW notebook in your NotebookLM account - Uploads sources (URLs, text, files) to the notebook - Returns the notebook URL for immediate use - Optionally adds to your local library ## Supported Source Types - **url**: Web page URL (documentation, articles, etc.) - **text**: Raw text content (code, note
deep_researchPerform deep research using Gemini's Deep Research agent. > **⚠️ REQUIRES GEMINI_API_KEY** - Do NOT use this tool unless GEMINI_API_KEY is configured. For notebook queries, use ask_question instead (no API key needed). This runs in the background and can take 1-5 minutes to complete. ## When to Use - ONLY when GEMINI_API_KEY is configured - You need comprehensive research on a topic NOT in your no
delete_documentwrite actionDelete an uploaded document from Gemini. ## What This Does - Removes a file from Gemini Files API - File will no longer be available for queries - Frees up storage space ## Notes - Files auto-delete after 48 hours anyway - Use this to immediately remove sensitive documents ## Requirements - GEMINI_API_KEY environment variable must be set
download_audioDownload the generated audio overview file. ## Requirements - Audio must be in "ready" status - Use get_audio_status to check before downloading ## Output Downloads to specified path or ~/notebooklm-audio-{timestamp}.mp3 ## Example ```json { "notebook_id": "my-research", "output_path": "/path/to/save/podcast.mp3" } ```
export_libraryExport your notebook library to a backup file. ## Formats - **json**: Full backup with all metadata (recommended for restore) - **csv**: Simple list for spreadsheets (name, url, topics, last_used) ## Default Location If no output_path specified, saves to: ~/notebooklm-library-backup-{date}.{format} ## Example Usage ```json { "format": "json" } ``` Export to specific location: ```json { "format": "
export_user_dataExport all user data in machine-readable format (GDPR Article 20 - Right to Data Portability).
gemini_queryQuick query to Gemini model with optional grounding tools. > **⚠️ REQUIRES GEMINI_API_KEY** - Do NOT use this tool unless GEMINI_API_KEY is configured. For notebook queries, use ask_question instead (no API key needed). Supports: - Google Search grounding for current information - Code execution for calculations - URL analysis for web content ## Requirements - GEMINI_API_KEY environment variable M
generate_audio_overviewGenerate an AI-powered audio overview (podcast-style) for a notebook. ## What This Tool Does - Triggers NotebookLM's audio overview generation - Audio overviews are ~5-15 minute podcast-style summaries - Generation takes 2-5 minutes typically - Returns immediately with status (check with get_audio_status) ## Requirements - Notebook must have at least one source - Audio generation may not be availa
generate_compliance_reportGenerate a compliance audit report. Supports multiple report types and formats.
generate_data_tableGenerate a structured Data Table from notebook sources. ## What This Tool Does - Opens the Studio panel in NotebookLM - Generates a structured tabular extraction from notebook content - Tables organize key information from sources into rows and columns - Generation typically takes 1-3 minutes - Returns immediately with status (check with get_data_table) ## Requirements - Notebook must have at leas
generate_video_overviewGenerate an AI-powered Video Overview for a notebook. ## What This Tool Does - Opens the Studio panel in NotebookLM - Generates a visual video summary of notebook content - Supports multiple visual styles and formats - Generation takes 3-10 minutes typically - Returns immediately with status (check with get_video_status) - NotebookLM does not currently expose a supported video download path throug
get_audio_statusCheck the audio overview generation status for a notebook. ## Returns - status: "not_started" | "generating" | "ready" | "failed" | "unknown" - progress: Generation progress (0-100) if generating - duration: Audio duration in seconds if ready ## Example ```json { "notebook_id": "my-research" } ```
get_consent_statusGet current consent status for all data processing purposes.
get_data_tableExtract the generated Data Table content from a notebook. ## What This Tool Does - Navigates to the notebook's Studio panel - Extracts the table data (headers and rows) as structured JSON - Returns the full table content for analysis ## Returns - table.headers: Column headers - table.rows: Array of row arrays - table.totalRows: Number of rows - table.totalColumns: Number of columns ## Requirements
get_healthGet server health status including authentication state, active sessions, and configuration.
get_incident_statusGet status of security incidents including open, investigating, and resolved counts.
get_library_statsGet statistics about your notebook library (total notebooks, usage, etc.)
get_notebookGet detailed information about a specific notebook by ID
get_notebook_chat_historyExtract conversation history from a NotebookLM notebook's chat interface. This tool uses browser automation to navigate to a notebook and extract all Q&A pairs from the chat UI. This is useful for: - Recovering previous research conversations - Auditing what queries were made in a notebook - Understanding quota usage from direct NotebookLM browser usage - Resuming context from previous sessions ##
get_policyGet detailed information about a specific compliance policy.
get_project_infoGet current project context and library location.
get_query_historyRetrieve past NotebookLM queries and answers for reviewing research sessions. Use this tool to: - Review past research conversations - Find specific information from previous queries - Track which notebooks and sessions you've used - Search through question and answer content Returns query entries with question, answer, notebook, session, and timing info.
get_quotaGet current quota status including license tier, usage, and limits.
get_research_statusCheck the status of a background deep research task. Use this when you started deep_research with wait_for_completion=false. ## Returns - status: pending | running | completed | failed - answer: The research result (if completed) - error: Error message (if failed)
get_video_statusCheck the Video Overview generation status for a notebook. ## Returns - status: "not_started" | "generating" | "ready" | "failed" | "unknown" - progress: Generation progress (0-100) if generating - duration: Video duration in seconds if ready ## Example ```json { "notebook_id": "my-research" } ```
grant_consentGrant consent for a specific data processing purpose.
list_documentsList all documents uploaded to Gemini. ## What This Does - Shows all files currently stored in Gemini Files API - Files expire 48 hours after upload - Returns file names, sizes, and expiration times ## Use Cases - Check what documents are available for querying - Find file IDs for query_document - Monitor storage usage ## Requirements - GEMINI_API_KEY environment variable must be set
list_evidence_packagesList all saved evidence packages with their metadata.
list_notebooksList all library notebooks with metadata (name, topics, use cases, URL).
list_policiesList all compliance policies with their status and review dates.
list_sessionsList all active sessions with stats (age, message count, last activity).
list_sourcesList sources in a notebook. Provide notebook_id or notebook_url; if neither is provided,
list_webhooksList all configured webhooks with their status and statistics.
query_chunked_documentQuery a large document that was automatically chunked during upload. ## What This Does - Queries each chunk of a large document - Aggregates results into a single coherent answer - Handles documents of any size (1000+ pages) ## When to Use - After upload_document returns wasChunked=true - When you have multiple chunk file IDs to query together - For comprehensive analysis of large PDFs ## How It W
query_documentAsk questions about an uploaded document. ## What This Does - Queries a document previously uploaded with upload_document - Uses Gemini's document understanding (text, images, charts, tables) - Returns answers grounded in the document content ## Features - Full document understanding (not just text extraction) - Can analyze charts, diagrams, and tables in PDFs - Multi-document queries (pass additi
remove_notebookwrite actionDangerous — 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
remove_sourcewrite actionRemove a source from a NotebookLM notebook. If neither `notebook_id` nor `notebook_url` is provided, this tool uses the currently active notebook from the local library. ## Usage 1. First call list_sources to get source IDs 2. Then call remove_source with the source ID ## Example ```json { "notebook_id": "my-notebook", "source_id": "source-0" } ```
remove_webhookwrite actionRemove a configured webhook by ID.
report_security_incidentReport a security incident for investigation and tracking.
request_data_erasureRequest erasure of personal data (GDPR Article 17 - Right to Erasure). Creates an erasure request for review.
reset_sessionReset a session's chat history (keep same session ID).
revoke_consentRevoke previously granted consent for a data processing purpose.
run_health_checkwrite actionRun a comprehensive health check of all compliance components.
search_notebooksSearch library by query (name, description, topics, tags).
select_notebookSet 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: "Swit
set_quota_tierManually set your NotebookLM license tier.
submit_dsarwrite actionSubmit a Data Subject Access Request (GDPR Article 15-17, 20). Initiates the DSAR workflow.
sync_librarySync your local library with actual NotebookLM notebooks. ## What This Tool Does - Navigates to NotebookLM and extracts all your notebooks - Compares with local library entries - Detects stale entries (notebooks deleted or URLs changed) - Identifies notebooks not in your library - Optionally auto-removes stale entries ## When To Use - Library seems out of sync with NotebookLM - After deleting note
test_webhookwrite actionSend a test event to a webhook to verify it's working.
update_notebookwrite actionUpdate 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 hand
upload_documentwrite actionUpload a document (PDF, text, etc.) to Gemini for querying. > **⚠️ REQUIRES GEMINI_API_KEY** - For adding documents to NotebookLM notebooks (no API key), use create_notebook or add_source instead. ## What This Does - Uploads a local file to Gemini's Files API - File is retained for 48 hours - Returns a file ID for use with query_document ## Auto-Chunking for Large PDFs (v1.10.0) - PDFs over 50MB o
verify_audit_log_integrityVerify the integrity of compliance audit logs using hash chain verification.
verify_evidence_integrityVerify the integrity of an evidence package using cryptographic checksums.
Public scan report
scanner v0.1.9 · 2026-09-20 · same rubric, same numbers if you re-run it
- Code scan212 source files scanned25/25
- –Live reliabilityno gateway calls yet and no remote to proben/a
- –Tool poisoningtools not inspected (local package is not executed); not countedn/a
- Auth qualitylocal package, no credentials required12/15
- Maintenancelast push 17 days ago15/15
- Maintainer identityregistry namespace matches repository owner7/10
What the publisher says
From the Notebooklm Secure repository's README, as published. We do not edit it. Read it on GitHub
NotebookLM MCP Server (Security Hardened)
🏆 The World's Most Advanced NotebookLM MCP Server
Zero-hallucination answers • Gemini Deep Research • 17 Security Layers • Enterprise Compliance
What's New 2026 • Deep Research • Document API • Create Notebooks • Security • Install
The only NotebookLM MCP with enterprise-grade security, post-quantum encryption, and full Gemini API integration.
Security-hardened fork of PleasePrompto/notebooklm-mcp • Maintained by Pantheon Security
⚡ TL;DR — What You Get
- 🔍 Query your NotebookLM notebooks — source-grounded, zero-hallucination answers
- 📚 Create & manage notebooks programmatically — no manual clicking
- 🎙️ Generate audio overviews — podcast-style summaries of your docs
- 🎬 Generate video overviews — AI video summaries with 10 visual styles NEW
- 📊 Extract data tables — structured JSON from notebook sources NEW
- 🔬 Gemini 3 + Deep Research — latest models with thinking control (optional API) NEW
- 📄 Document API — upload & query PDFs without browser (optional API)
- 🔐 17 security layers — post-quantum encryption, audit logs, secrets scanning
- ✅ Compliance-ready architecture — built to GDPR, SOC2, and CSSF standards (controls implemented; formal certification requires third-party audit)
- 💡 No API key required — core features work with just browser auth
🚀 What's New in 2026
Latest: v2026.3.1 — All 334 audit issues resolved. 631 tests. Full MCP protocol compliance.
Shortened. The full README is on GitHub.
Nothing above is checked by us. What we check is on the safety report.
Install directly
Runs npx -y @pan-sec/notebooklm-mcp on your machine. Read the scan report first; the gateway never runs local packages.
claude mcp add notebooklm-mcp-secure -- npx -y @pan-sec/notebooklm-mcp
Notebooklm Secure: common questions
- Is Notebooklm Secure MCP server safe?
- Yes, by our scan: it is graded A (91/100). Read the Notebooklm Secure safety report
- How do I install Notebooklm Secure?
- It runs on your machine. Copy the Claude Code, Claude Desktop or Cursor config from the install section.
- Does Notebooklm Secure need an API key?
- Not as far as the registry entry and our scan can tell: no credentials are declared or required.
- Is Notebooklm Secure maintained?
- The last commit was 18 days ago (2026-09-03). The latest release is v2026.5.0.
- What can I use instead of Notebooklm Secure?
- Servers from other publishers that do the same job: Prodcheck MCP server, Raven Nest MCP server and CrowdStrike Falcon MCP Server. Compare all Notebooklm Secure alternatives.
Alternatives to Notebooklm Secure
Same job from other publishers: the closest match first, then the best rated.
- Prodcheck4,372 pre-production checks: security, performance, scale, integrations, post-launch.not reviewedGrowingA
- Raven NestAI-driven penetration testing - 22 security tools behind safety-hardened MCP endpointsnot reviewedNewA
- CrowdStrike Falcon MCP ServerConnects AI agents with CrowdStrike Falcon for security analysis and automation.not reviewedEstablishedA
- Reversecore MCPSecurity-first MCP server for reverse engineering, malware analysis, forensics, and SAST.not reviewedEstablishedB
- CodeInspectusLocal-first MCP security scanner and CLI for AI-generated applications.not reviewedGrowingC