notebooklm-mcp-secure

by pantheon-security

Not rated
GitHub

About

Security-hardened NotebookLM MCP with post-quantum encryption, GDPR/SOC2 compliance, and 14 security layers. Query Google's Gemini-grounded research from any MCP-compatible AI assistant.

Details

Author
pantheon-security
Categories
Cloud Service, Other, AI, Infrastructure

Setup

Install notebooklm-mcp-secure in your MCP client (Claude Desktop, Cursor, Windsurf, and others).

Repository: https://github.com/pantheon-security/notebooklm-mcp-secure

Follow the installation instructions in the repository README, then restart your MCP client.

Import web pages and YouTube videos to NotebookLM with one click. Trusted by 200,000+ users.

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 2026Deep ResearchDocument APICreate NotebooksSecurityInstall

The only NotebookLM MCP with enterprise-grade security, post-quantum encryption, and full Gemini API integration.

Security-hardened fork ofPleasePrompto/notebooklm-mcp• Maintained byPantheon Security

- 🔍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 stylesNEW
- 📊Extract data tables— structured JSON from notebook sourcesNEW
- 🔬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

Latest: v2026.3.1— All 334 audit issues resolved. 631 tests. Full MCP protocol compliance.

# Quick install claude mcp add notebooklm -- npx @pan-sec/notebooklm-mcp@latest

🔬 Security Audit 2026 — What We Found and Fixed

In April 2026, we commissioned a parallel deep-audit of v2026.2.11 (main @ 2973097) using four specialised AI code reviewers, each focused on a different attack surface:security vulnerabilities,protocol correctness,architecture quality, andtesting gaps and edge cases. The four reviewers operated independently so their findings wouldn't influence each other. Together they produced a334-item master issue listcovering protocol correctness, security vulnerabilities, architecture flaws, test gaps, and documentation accuracy. All 334 issues are resolved across v2026.3.0 and v2026.3.1.

Security reviewer:Identified theforceAuthbypass invalidateToken()allowing unauthenticated access to filesystem tools; webhook SSRF via unvalidated delivery targets; audit log hash chain not verified on read; concurrent audit writes interleaving entries; auth token salt not persisted (tokens invalidated on restart).

Protocol reviewer:Found 38 tools returning incorrect response shapes (missingstructuredContent, wrongisErrorsemantics, transport tags leaking into content); all 48 tools had incorrect or missingreadOnlyHint/idempotentHint/destructiveHintannotations; 9 tool schemas lacked numeric bounds, enabling out-of-range inputs.

Architecture reviewer:Flagged the 3,611-linehandlers.tsas a maintenance liability; singleton imports throughout domain functions preventing unit testing; the 500-lineswitch/casedispatch adding O(n) overhead and making tool registration error-prone.

Testing & edge-case reviewer:Found test suite at 139 tests with minimal coverage of security-critical modules;mcp-auth.tsat near-zero coverage; no tests for prompt injection patterns, audit log tampering, or concurrent browser session state; the DSAR handler had an undetected race condition.

- 17 security vulnerabilitiesaddressed (auth bypass, SSRF, audit integrity, race conditions, selector injection vectors)
- MCP protocol fully compliant— all 48 tools return correctstructuredContent/isErrorshapes; annotations accurate; schema bounds enforced
- Architecture decomposedhandlers.tssplit into 9 domain modules with HandlerContext dependency injection; 100% unit-testable without process mocks
- Test coverage— 15 new security-critical test suites including browser session, auth, prompt injection, audit log, webhook, DSAR, and compliance
- Claims aligned— certificate pinning removed (implementation was retracted in Day 1 of the audit); PQ encryption scope documented accurately; compliance language uses "controls implemented" not "certified"

Gemini API (Optional - Requires GEMINI_API_KEY)

Enterprise Compliance (16 additional tools)

SeeCompliance Documentationfor full list.

The most powerful research capability for AI agents — now in your MCP toolkit.

v1.8.0 introduces theGemini Interactions APIas a stable, API-based research backend alongside browser automation. This gives your agents access to Google's state-of-the-art Deep Research agent.

deep_research— Comprehensive Research Agent

"Research the security implications of post-quantum cryptography adoption in financial services"

- Runs Google'sDeep Research agent(same as Gemini Advanced)
- Takes 1-5 minutes for comprehensive, web-grounded analysis
- Returns structured answers withcitations and sources
- Perfect for complex topics requiring multi-source synthesis

"What are the latest CVEs for Log4j in 2025?" (with Google Search) "Calculate the compound interest on $10,000 at 5% over 10 years" (with code execution) "Summarize this security advisory: [URL]" (with URL context)

- Google Search grounding— Current information, not just training data
- Code execution— Run calculations, data analysis
- URL context— Analyze web pages on demand
- Models:gemini-3-flash-preview(default),gemini-3-pro-preview(powerful),gemini-2.5-flash(legacy)

get_research_status— Background Task Monitoring

Run deep research in the background and check progress:

"Start researching [topic] in the background" ... continue other work ... "Check research status for interaction_abc123"
┌──────────────────────────────────────────────────────────────────────────────┐ │ NotebookLM MCP Server v2026.3.x │ ├──────────────────────────────────────────────────────────────────────────────┤ │ │ │ ┌────────────────────────────────┐ ┌──────────────────────────────────┐ │ │ │ BROWSER AUTOMATION │ │ GEMINI API │ │ │ │ ✅ NO API KEY NEEDED │ │ ⚡ OPTIONAL - needs API key │ │ │ ├────────────────────────────────┤ ├──────────────────────────────────┤ │ │ │ │ │ │ │ │ │ QUERY │ │ RESEARCH │ │ │ │ • ask_question │ │ • deep_research │ │ │ │ • get_notebook_chat_history │ │ • gemini_query │ │ │ │ │ │ • get_research_status │ │ │ │ CREATE & MANAGE │ │ │ │ │ │ • create_notebook │ │ DOCUMENTS │ │ │ │ • batch_create_notebooks │ │ • upload_document │ │ │ │ • manage_sources │ │ • query_document │ │ │ │ • generate_audio │ │ • query_chunked_document │ │ │ │ • generate_video_overview │ │ • list/delete_document │ │ │ │ • generate_data_table │ │ │ │ │ │ • sync_notebook │ │ │ │ │ │ │ │ │ │ │ │ HEALTH & SESSIONS v2026 │ │ │ │ │ │ • get_health (deep_check) │ │ Fast API • 48h retention │ │ │ │ • get_query_history │ │ Auto-chunking for large PDFs │ │ │ └────────────────────────────────┘ └──────────────────────────────────┘ │ │ │ │ ┌─────────────────────────────────┐ │ │ │ 17 SECURITY LAYERS │ │ │ │ Post-Quantum • Audit Logs │ │ │ │ Secrets Scan • Memory Wipe │ │ │ │ GDPR • SOC2 • CSSF Ready │ │ │ └─────────────────────────────────┘ │ └──────────────────────────────────────────────────────────────────────────────┘

💡 Gemini API is completely optional!All core NotebookLM features (ask_question, notebooks, sessions, audio) work via browser automation withno API key required. The Gemini tools below are bonus features for users who want direct API access.

# Only required if you want Gemini API features (deep_research, gemini_query, upload_document) GEMINI_API_KEY=your-api-key # Get from https://aistudio.google.com/apikey # Optional settings GEMINI_DEFAULT_MODEL=gemini-3-flash-preview # Default model (was gemini-2.5-flash) GEMINI_DEEP_RESEARCH_ENABLED=true # Enable Deep Research GEMINI_TIMEOUT_MS=30000 # API timeout

Upload and query documents directly via Gemini API — no browser automation needed.

v1.9.0 introduces theGemini Files APIfor fast, reliable document analysis. Upload PDFs, analyze them instantly, and delete when done.

Upload any document to Gemini for instant querying:

- Supported: PDF (50MB, 1000 pages), TXT, MD, HTML, CSV, JSON, DOCX, images, audio, video
- 48-hour retention— files auto-expire, or delete manually
- Returns a file ID for querying

query_document— Ask Questions About Documents

"What are the main findings in this research paper?" "Summarize section 3 of the document" "Extract all statistics mentioned in the PDF"

- Full document understanding (text, tables, charts, diagrams)
- Multi-document queries (compare multiple files)
- Fast API response (no browser wait)

Shows file names, sizes, MIME types, and expiration times.

delete_document— Clean Up Sensitive Files

Immediately remove files (don't wait for 48h expiration).

1. upload_document("/research/paper.pdf") → Returns: files/abc123 2. query_document("files/abc123", "What methodology was used?") → Returns: "The paper uses a mixed-methods approach combining..." 3. query_document("files/abc123", "List all cited authors") → Returns: "Smith et al. (2024), Johnson (2023)..." 4. delete_document("files/abc123") → File removed

No file size limits— PDFs of any size are automatically handled.

When you upload a PDF that exceeds Gemini's limits (50MB or 1000 pages), the system automatically:
- Detectsthe oversized PDF
- Splitsit into optimal chunks (500 pages each)
- Uploadsall chunks in parallel
- Returnschunk metadata for querying

upload_document("/research/massive-2000-page-report.pdf") → Returns: { "wasChunked": true, "totalPages": 2000, "chunks": [ { "fileName": "files/abc1", "pageStart": 1, "pageEnd": 500 }, { "fileName": "files/abc2", "pageStart": 501, "pageEnd": 1000 }, { "fileName": "files/abc3", "pageStart": 1001, "pageEnd": 1500 }, { "fileName": "files/abc4", "pageStart": 1501, "pageEnd": 2000 } ], "allFileNames": ["files/abc1", "files/abc2", "files/abc3", "files/abc4"] }

query_chunked_document— Query All Chunks at Once

For chunked documents, use this tool to query all parts and get an aggregated answer:

query_chunked_document( file_names: ["files/abc1", "files/abc2", "files/abc3", "files/abc4"], query: "What are the key recommendations in this report?" ) → Queries each chunk, then synthesizes a unified answer

Programmatic Notebook Creation (v1.7.0+)

Create NotebookLM notebooks entirely from code — no manual clicks required.

Most MCP servers can onlyreadfrom NotebookLM. This one cancreate notebooks, add sources, and generate audio— all programmatically.

create_notebook— Build Notebooks Instantly

Create a complete notebook with multiple sources in one command:

{ "name": "Security Research 2025", "sources": [ { "type": "url", "value": "https://owasp.org/Top10" }, { "type": "file", "value": "/path/to/security-report.pdf" }, { "type": "text", "value": "Custom analysis notes...", "title": "My Notes" } ], "description": "OWASP security best practices", "topics": ["security", "owasp", "vulnerabilities"] }

- URL— Web pages, documentation, articles
- File— PDF, DOCX, TXT, and more
- Text— Raw text, code snippets, notes

Createup to 10 notebooksin a single operation:

{ "notebooks": [ { "name": "React Docs", "sources": [{ "type": "url", "value": "https://react.dev/reference" }] }, { "name": "Node.js API", "sources": [{ "type": "url", "value": "https://nodejs.org/api/" }] }, { "name": "TypeScript Handbook", "sources": [{ "type": "url", "value": "https://www.typescriptlang.org/docs/" }] } ] }

- Setting up project documentation libraries
- Onboarding new team members with curated knowledge bases
- Creating topic-specific research notebooks in bulk

manage_sources— Dynamic Source Management

Add or remove sources from existing notebooks:

{ "notebook_id": "abc123", "action": "add", "sources": [{ "type": "url", "value": "https://new-documentation.com" }] }

generate_audio— Audio Overview Creation

Generate NotebookLM's famous "Audio Overview" podcasts programmatically:

"Generate an audio overview for my Security Research notebook"

Sync notebook sources from a local directory:

{ "notebook_id": "abc123", "directory": "/path/to/docs", "patterns": [".md", "*.pdf"] }

Your agent can now build entire knowledge bases autonomously.

🎬 Video Overviews & Data Tables (v2026.2.0)

Generate AI-powered visual summaries and extract structured data from any notebook — all programmatically.

NotebookLM's Studio panel now offers Video Overviews and Data Tables alongside Audio Overviews. This release brings full automation for both.

generate_video_overview— AI Video Summaries

Generate visual video overviews of your notebook content with10 visual styles:

- Explainer— Full explanation (5-15 min)
- Brief— Quick summary (1-3 min)

"Generate a kawaii-style brief video overview for my Security Research notebook"

get_video_status— Check Generation Progress

Video generation takes 3-10 minutes. Check progress:

No reviews yet — be the first

Sign in to leave a review

Use Google, GitHub, or an email account so ratings stay tied to real people.

Email sign in

No reviews posted yet.