{"id":35559644,"url":"https://github.com/pantheon-security/notebooklm-mcp-secure","last_synced_at":"2026-03-01T18:04:02.730Z","repository":{"id":326508778,"uuid":"1105779931","full_name":"Pantheon-Security/notebooklm-mcp-secure","owner":"Pantheon-Security","description":"Secure NotebookLM MCP Server - Query Google NotebookLM from Claude/AI agents with 14 security hardening layers","archived":false,"fork":false,"pushed_at":"2026-01-24T08:16:33.000Z","size":541,"stargazers_count":14,"open_issues_count":0,"forks_count":4,"subscribers_count":2,"default_branch":"main","last_synced_at":"2026-01-24T10:19:58.713Z","etag":null,"topics":["ai","automation","browser-automation","claude","google","llm","mcp","model-context-protocol","notebooklm","open-source","research","typescript"],"latest_commit_sha":null,"homepage":null,"language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Pantheon-Security.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":"SECURITY.md","support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2025-11-28T06:33:44.000Z","updated_at":"2026-01-24T08:16:37.000Z","dependencies_parsed_at":"2025-12-20T12:05:00.691Z","dependency_job_id":null,"html_url":"https://github.com/Pantheon-Security/notebooklm-mcp-secure","commit_stats":null,"previous_names":["pantheon-security/notebooklm-mcp-secure"],"tags_count":27,"template":false,"template_full_name":null,"purl":"pkg:github/Pantheon-Security/notebooklm-mcp-secure","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Pantheon-Security%2Fnotebooklm-mcp-secure","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Pantheon-Security%2Fnotebooklm-mcp-secure/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Pantheon-Security%2Fnotebooklm-mcp-secure/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Pantheon-Security%2Fnotebooklm-mcp-secure/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Pantheon-Security","download_url":"https://codeload.github.com/Pantheon-Security/notebooklm-mcp-secure/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Pantheon-Security%2Fnotebooklm-mcp-secure/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28812367,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-27T07:41:26.337Z","status":"ssl_error","status_checked_at":"2026-01-27T07:41:08.776Z","response_time":168,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.6:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["ai","automation","browser-automation","claude","google","llm","mcp","model-context-protocol","notebooklm","open-source","research","typescript"],"created_at":"2026-01-04T10:15:20.618Z","updated_at":"2026-03-01T18:04:02.720Z","avatar_url":"https://github.com/Pantheon-Security.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003cdiv align=\"center\"\u003e\n\n# NotebookLM MCP Server (Security Hardened)\n\n### 🏆 The World's Most Advanced NotebookLM MCP Server\n\n**Zero-hallucination answers • Gemini Deep Research • 14 Security Layers • Enterprise Compliance**\n\n[![npm](https://img.shields.io/npm/v/@pan-sec/notebooklm-mcp?color=blue)](https://www.npmjs.com/package/@pan-sec/notebooklm-mcp)\n[![CalVer](https://img.shields.io/badge/CalVer-2026.x.x-blue.svg)](https://calver.org/)\n[![TypeScript](https://img.shields.io/badge/TypeScript-5.x-blue.svg)](https://www.typescriptlang.org/)\n[![MCP](https://img.shields.io/badge/MCP-2026-green.svg)](https://modelcontextprotocol.io/)\n[![Platform](https://img.shields.io/badge/Platform-Linux%20%7C%20macOS%20%7C%20Windows-lightgrey.svg)](#cross-platform-support)\n[![Security](https://img.shields.io/badge/Security-14%20Layers-red.svg)](./SECURITY.md)\n[![Post-Quantum](https://img.shields.io/badge/Encryption-Post--Quantum-purple.svg)](./SECURITY.md#post-quantum-encryption)\n[![Gemini](https://img.shields.io/badge/Gemini-Deep%20Research-4285F4.svg)](#-gemini-deep-research-v180)\n[![Documents](https://img.shields.io/badge/Documents-API%20Upload-34A853.svg)](#-document-api-v190)\n[![Notebooks](https://img.shields.io/badge/Notebooks-Create%20%26%20Manage-orange.svg)](#programmatic-notebook-creation-v170)\n[![Compliance](https://img.shields.io/badge/Compliance-GDPR%20%7C%20SOC2%20%7C%20CSSF-blue.svg)](./docs/COMPLIANCE-SPEC.md)\n[![Tests](https://img.shields.io/badge/Tests-111%20Passing-brightgreen.svg)](./tests/)\n\n[**What's New 2026**](#-whats-new-in-2026) • [**Deep Research**](#-gemini-deep-research) • [**Document API**](#-document-api) • [**Create Notebooks**](#programmatic-notebook-creation) • [**Security**](#security-features) • [**Install**](#installation)\n\n\u003c/div\u003e\n\n\u003e **The only NotebookLM MCP with enterprise-grade security, post-quantum encryption, and full Gemini API integration.**\n\u003e\n\u003e Security-hardened fork of [PleasePrompto/notebooklm-mcp](https://github.com/PleasePrompto/notebooklm-mcp) • Maintained by [Pantheon Security](https://pantheonsecurity.io)\n\n### ⚡ TL;DR — What You Get\n\n- 🔍 **Query your NotebookLM notebooks** — source-grounded, zero-hallucination answers\n- 📚 **Create \u0026 manage notebooks programmatically** — no manual clicking\n- 🎙️ **Generate audio overviews** — podcast-style summaries of your docs\n- 🎬 **Generate video overviews** — AI video summaries with 10 visual styles **NEW**\n- 📊 **Extract data tables** — structured JSON from notebook sources **NEW**\n- 🔬 **Gemini 3 + Deep Research** — latest models with thinking control (optional API) **NEW**\n- 📄 **Document API** — upload \u0026 query PDFs without browser (optional API)\n- 🔐 **14 security layers** — post-quantum encryption, audit logs, secrets scanning\n- ✅ **Enterprise compliance** — GDPR, SOC2, CSSF ready\n- 💡 **No API key required** — core features work with just browser auth\n\n---\n\n## 🚀 What's New in 2026\n\n**Latest: v2026.2.1** — Standard profile now exposes all key features (33 tools by default)\n\n| Version | Highlights |\n|---------|------------|\n| **v2026.2.1** | Standard profile expanded: 14 → 33 tools — notebook creation, audio, source management now visible by default |\n| **v2026.2.0** | Gemini 3 models (2.5 retiring March 31), Video Overviews, Data Tables, thinking level, structured JSON, SDK 1.41 |\n| **v2026.1.12** | Security hardening: constant-time auth, command injection fix, memory leak fixes, MCP SDK 1.26.0 |\n| **v2026.1.11** | Notebook sync extraction for new Angular UI, `NOTEBOOKLM_NO_GEMINI` env var |\n| **v2026.1.10** | Tool description clarity for multi-LLM compatibility |\n| **v2026.1.9** | Documentation \u0026 UX improvements, npm audit fix |\n| **v2026.1.8** | Major dependency updates (zod 4.x, dotenv 17.x, post-quantum 0.5.4) |\n| **v2026.1.7** | MCP Protocol UX: tool icons, human-friendly titles, behavior annotations |\n| **v2026.1.4** | Defense-in-depth path validation, security hardening |\n| **v2026.1.1** | Deep health checks, chat history extraction, context management |\n\n```bash\n# Quick install\nclaude mcp add notebooklm -- npx @pan-sec/notebooklm-mcp@latest\n```\n\n### Why Choose This MCP?\n\n| Capability | Other MCPs | This MCP |\n|------------|------------|----------|\n| Query NotebookLM | ✅ Basic | ✅ **+ session management, quotas** |\n| Create notebooks programmatically | ❌ | ✅ **UNIQUE** |\n| Gemini Deep Research | ❌ | ✅ **EXCLUSIVE** |\n| Document API (no browser) | ❌ | ✅ **EXCLUSIVE** |\n| Post-quantum encryption | ❌ | ✅ **Future-proof** |\n| Enterprise compliance | ❌ | ✅ **GDPR/SOC2/CSSF** |\n| Video Overview generation | ❌ | ✅ **NEW** |\n| Data Table extraction | ❌ | ✅ **NEW** |\n| Chat history extraction | ❌ | ✅ |\n| Deep health verification | ❌ | ✅ |\n\n\u003cdetails\u003e\n\u003csummary\u003e\u003cb\u003e📋 Full Feature List (47 Tools)\u003c/b\u003e\u003c/summary\u003e\n\n#### Core NotebookLM (No API Key Required)\n| Tool | Description |\n|------|-------------|\n| `ask_question` | Query notebooks with source-grounded answers |\n| `add_notebook` | Add a notebook to your library |\n| `list_notebooks` | List all notebooks in library |\n| `select_notebook` | Set active notebook |\n| `update_notebook` | Update notebook metadata |\n| `remove_notebook` | Remove from library |\n| `create_notebook` | Programmatically create new notebooks |\n| `batch_create_notebooks` | Create multiple notebooks at once |\n| `sync_library` | Sync library with NotebookLM |\n| `list_sources` | List sources in a notebook |\n| `add_source` | Add source to notebook |\n| `remove_source` | Remove source from notebook |\n| `generate_audio_overview` | Create podcast-style audio |\n| `get_audio_status` | Check audio generation status |\n| `download_audio` | Download generated audio |\n| `generate_video_overview` | Create AI video overview (10 styles) |\n| `get_video_status` | Check video generation status |\n| `generate_data_table` | Generate structured data table |\n| `get_data_table` | Extract data table as JSON |\n| `list_sessions` | List active sessions |\n| `close_session` | Close a session |\n| `reset_session` | Reset session history |\n| `get_health` | Check server \u0026 auth status |\n| `setup_auth` | Initial authentication |\n| `re_auth` | Re-authenticate |\n| `cleanup_data` | Clean up local data |\n| `get_quota` | Check usage quotas |\n| `set_quota_tier` | Set quota tier |\n| `get_query_history` | View past queries |\n| `get_notebook_chat_history` | Extract browser chat history |\n| `get_project_info` | Get project context |\n| `export_library` | Export library backup |\n\n#### Gemini API (Optional - Requires GEMINI_API_KEY)\n| Tool | Description |\n|------|-------------|\n| `deep_research` | Comprehensive research agent |\n| `gemini_query` | Fast grounded queries |\n| `get_research_status` | Check research progress |\n| `upload_document` | Upload docs to Gemini |\n| `query_document` | Query uploaded documents |\n| `query_chunked_document` | Query large documents |\n| `list_documents` | List uploaded documents |\n| `delete_document` | Delete uploaded document |\n\n#### Webhooks \u0026 Integrations\n| Tool | Description |\n|------|-------------|\n| `configure_webhook` | Set up webhook notifications |\n| `list_webhooks` | List configured webhooks |\n| `test_webhook` | Test webhook delivery |\n| `remove_webhook` | Remove a webhook |\n\n#### Enterprise Compliance (16 additional tools)\nSee [Compliance Documentation](./docs/COMPLIANCE-SPEC.md) for full list.\n\n\u003c/details\u003e\n\n---\n\n## Gemini Deep Research (v1.8.0)\n\n**The most powerful research capability for AI agents — now in your MCP toolkit.**\n\nv1.8.0 introduces the **Gemini Interactions API** as a stable, API-based research backend alongside browser automation. This gives your agents access to Google's state-of-the-art Deep Research agent.\n\n### Why This Matters\n\n| Challenge | Solution |\n|-----------|----------|\n| Browser UI changes break automation | **Gemini API is stable and versioned** |\n| Need comprehensive research but no research agent | **Deep Research agent does it for you** |\n| Want current information with citations | **Google Search grounding built-in** |\n| Need reliable, fast queries | **API-based = no UI dependencies** |\n\n### New Tools\n\n#### `deep_research` — Comprehensive Research Agent\n\n```\n\"Research the security implications of post-quantum cryptography adoption in financial services\"\n```\n\n- Runs Google's **Deep Research agent** (same as Gemini Advanced)\n- Takes 1-5 minutes for comprehensive, web-grounded analysis\n- Returns structured answers with **citations and sources**\n- Perfect for complex topics requiring multi-source synthesis\n\n#### `gemini_query` — Fast Grounded Queries\n\n```\n\"What are the latest CVEs for Log4j in 2025?\" (with Google Search)\n\"Calculate the compound interest on $10,000 at 5% over 10 years\" (with code execution)\n\"Summarize this security advisory: [URL]\" (with URL context)\n```\n\n- **Google Search grounding** — Current information, not just training data\n- **Code execution** — Run calculations, data analysis\n- **URL context** — Analyze web pages on demand\n- Models: `gemini-3-flash-preview` (default), `gemini-3-pro-preview` (powerful), `gemini-2.5-flash` (legacy)\n\n#### `get_research_status` — Background Task Monitoring\n\nRun deep research in the background and check progress:\n```\n\"Start researching [topic] in the background\"\n... continue other work ...\n\"Check research status for interaction_abc123\"\n```\n\n### Hybrid Architecture\n\n```\n┌──────────────────────────────────────────────────────────────────────────────┐\n│                      NotebookLM MCP Server v2026.2.x                         │\n├──────────────────────────────────────────────────────────────────────────────┤\n│                                                                              │\n│  ┌────────────────────────────────┐    ┌──────────────────────────────────┐  │\n│  │      BROWSER AUTOMATION        │    │          GEMINI API              │  │\n│  │    ✅ NO API KEY NEEDED        │    │    ⚡ OPTIONAL - needs API key   │  │\n│  ├────────────────────────────────┤    ├──────────────────────────────────┤  │\n│  │                                │    │                                  │  │\n│  │  QUERY                         │    │  RESEARCH                        │  │\n│  │  • ask_question                │    │  • deep_research                 │  │\n│  │  • get_notebook_chat_history   │    │  • gemini_query                  │  │\n│  │                                │    │  • get_research_status           │  │\n│  │  CREATE \u0026 MANAGE               │    │                                  │  │\n│  │  • create_notebook             │    │  DOCUMENTS                       │  │\n│  │  • batch_create_notebooks      │    │  • upload_document               │  │\n│  │  • manage_sources              │    │  • query_document                │  │\n│  │  • generate_audio              │    │  • query_chunked_document        │  │\n│  │  • generate_video_overview     │    │  • list/delete_document          │  │\n│  │  • generate_data_table         │    │                                  │  │\n│  │  • sync_notebook               │    │                                  │  │\n│  │                                │    │                                  │  │\n│  │  HEALTH \u0026 SESSIONS     v2026   │    │                                  │  │\n│  │  • get_health (deep_check)     │    │  Fast API • 48h retention        │  │\n│  │  • get_query_history           │    │  Auto-chunking for large PDFs    │  │\n│  └────────────────────────────────┘    └──────────────────────────────────┘  │\n│                                                                              │\n│                      ┌─────────────────────────────────┐                     │\n│                      │       14 SECURITY LAYERS        │                     │\n│                      │   Post-Quantum • Audit Logs     │                     │\n│                      │   Cert Pinning • Memory Wipe    │                     │\n│                      │   GDPR • SOC2 • CSSF Ready      │                     │\n│                      └─────────────────────────────────┘                     │\n└──────────────────────────────────────────────────────────────────────────────┘\n```\n\n\u003e **💡 Gemini API is completely optional!** All core NotebookLM features (ask_question, notebooks, sessions, audio) work via browser automation with **no API key required**. The Gemini tools below are bonus features for users who want direct API access.\n\n### Gemini Configuration (Optional)\n\n```bash\n# Only required if you want Gemini API features (deep_research, gemini_query, upload_document)\nGEMINI_API_KEY=your-api-key          # Get from https://aistudio.google.com/apikey\n\n# Optional settings\nGEMINI_DEFAULT_MODEL=gemini-3-flash-preview  # Default model (was gemini-2.5-flash)\nGEMINI_DEEP_RESEARCH_ENABLED=true            # Enable Deep Research\nGEMINI_TIMEOUT_MS=30000                      # API timeout\n```\n\n### When to Use Which\n\n| Task | Best Tool | Why |\n|------|-----------|-----|\n| Questions about YOUR documents | `ask_question` | Grounded on your uploaded sources |\n| Comprehensive topic research | `deep_research` | Multi-source synthesis with citations |\n| Current events / recent info | `gemini_query` + google_search | Live web data |\n| Code calculations | `gemini_query` + code_execution | Reliable computation |\n| Analyze a webpage | `gemini_query` + url_context | Direct page analysis |\n| **Quick PDF/document analysis** | `upload_document` + `query_document` | **Fast API, no browser** (NEW!) |\n\n---\n\n## 📄 Document API (v1.9.0)\n\n**Upload and query documents directly via Gemini API — no browser automation needed.**\n\nv1.9.0 introduces the **Gemini Files API** for fast, reliable document analysis. Upload PDFs, analyze them instantly, and delete when done.\n\n### Why This Matters\n\n| Feature | Browser Mode | Document API |\n|---------|--------------|--------------|\n| Speed | Seconds | **Milliseconds** |\n| Reliability | UI-dependent | **API-stable** |\n| File Support | Via NotebookLM | **50MB PDFs, 1000 pages** |\n| Retention | Permanent | 48 hours |\n| Setup | Auth + cookies | **Just API key** |\n\n### New Tools\n\n#### `upload_document` — Fast Document Upload\n\nUpload any document to Gemini for instant querying:\n\n```\nUpload /path/to/research-paper.pdf\n```\n\n- **Supported**: PDF (50MB, 1000 pages), TXT, MD, HTML, CSV, JSON, DOCX, images, audio, video\n- **48-hour retention** — files auto-expire, or delete manually\n- Returns a file ID for querying\n\n#### `query_document` — Ask Questions About Documents\n\n```\n\"What are the main findings in this research paper?\"\n\"Summarize section 3 of the document\"\n\"Extract all statistics mentioned in the PDF\"\n```\n\n- Full document understanding (text, tables, charts, diagrams)\n- Multi-document queries (compare multiple files)\n- Fast API response (no browser wait)\n\n#### `list_documents` — See All Uploaded Files\n\n```\nList all my uploaded documents\n```\n\nShows file names, sizes, MIME types, and expiration times.\n\n#### `delete_document` — Clean Up Sensitive Files\n\n```\nDelete file xyz123\n```\n\nImmediately remove files (don't wait for 48h expiration).\n\n### Workflow Example\n\n```\n1. upload_document(\"/research/paper.pdf\")\n   → Returns: files/abc123\n\n2. query_document(\"files/abc123\", \"What methodology was used?\")\n   → Returns: \"The paper uses a mixed-methods approach combining...\"\n\n3. query_document(\"files/abc123\", \"List all cited authors\")\n   → Returns: \"Smith et al. (2024), Johnson (2023)...\"\n\n4. delete_document(\"files/abc123\")\n   → File removed\n```\n\n### Auto-Chunking for Large PDFs (v1.10.0)\n\n**No file size limits** — PDFs of any size are automatically handled.\n\nWhen you upload a PDF that exceeds Gemini's limits (50MB or 1000 pages), the system automatically:\n\n1. **Detects** the oversized PDF\n2. **Splits** it into optimal chunks (500 pages each)\n3. **Uploads** all chunks in parallel\n4. **Returns** chunk metadata for querying\n\n```\nupload_document(\"/research/massive-2000-page-report.pdf\")\n\n→ Returns:\n{\n  \"wasChunked\": true,\n  \"totalPages\": 2000,\n  \"chunks\": [\n    { \"fileName\": \"files/abc1\", \"pageStart\": 1, \"pageEnd\": 500 },\n    { \"fileName\": \"files/abc2\", \"pageStart\": 501, \"pageEnd\": 1000 },\n    { \"fileName\": \"files/abc3\", \"pageStart\": 1001, \"pageEnd\": 1500 },\n    { \"fileName\": \"files/abc4\", \"pageStart\": 1501, \"pageEnd\": 2000 }\n  ],\n  \"allFileNames\": [\"files/abc1\", \"files/abc2\", \"files/abc3\", \"files/abc4\"]\n}\n```\n\n#### `query_chunked_document` — Query All Chunks at Once\n\nFor chunked documents, use this tool to query all parts and get an aggregated answer:\n\n```\nquery_chunked_document(\n  file_names: [\"files/abc1\", \"files/abc2\", \"files/abc3\", \"files/abc4\"],\n  query: \"What are the key recommendations in this report?\"\n)\n\n→ Queries each chunk, then synthesizes a unified answer\n```\n\n### When to Use Document API vs NotebookLM\n\n| Scenario | Use |\n|----------|-----|\n| Quick one-off document analysis | **Document API** — fast, no setup |\n| Building a permanent knowledge base | **NotebookLM** — permanent storage |\n| Analyzing sensitive documents | **Document API** — 48h auto-delete |\n| Multi-source research over time | **NotebookLM** — organized notebooks |\n| CI/CD pipeline document processing | **Document API** — API-native |\n| **Large PDFs (1000+ pages)** | **Document API** — auto-chunking |\n\n---\n\n## Programmatic Notebook Creation (v1.7.0+)\n\n**Create NotebookLM notebooks entirely from code — no manual clicks required.**\n\nMost MCP servers can only *read* from NotebookLM. This one can **create notebooks, add sources, and generate audio** — all programmatically.\n\n### `create_notebook` — Build Notebooks Instantly\n\nCreate a complete notebook with multiple sources in one command:\n\n```json\n{\n  \"name\": \"Security Research 2025\",\n  \"sources\": [\n    { \"type\": \"url\", \"value\": \"https://owasp.org/Top10\" },\n    { \"type\": \"file\", \"value\": \"/path/to/security-report.pdf\" },\n    { \"type\": \"text\", \"value\": \"Custom analysis notes...\", \"title\": \"My Notes\" }\n  ],\n  \"description\": \"OWASP security best practices\",\n  \"topics\": [\"security\", \"owasp\", \"vulnerabilities\"]\n}\n```\n\n**Supported source types:**\n- **URL** — Web pages, documentation, articles\n- **File** — PDF, DOCX, TXT, and more\n- **Text** — Raw text, code snippets, notes\n\n### `batch_create_notebooks` — Scale Up\n\nCreate **up to 10 notebooks** in a single operation:\n\n```json\n{\n  \"notebooks\": [\n    { \"name\": \"React Docs\", \"sources\": [{ \"type\": \"url\", \"value\": \"https://react.dev/reference\" }] },\n    { \"name\": \"Node.js API\", \"sources\": [{ \"type\": \"url\", \"value\": \"https://nodejs.org/api/\" }] },\n    { \"name\": \"TypeScript Handbook\", \"sources\": [{ \"type\": \"url\", \"value\": \"https://www.typescriptlang.org/docs/\" }] }\n  ]\n}\n```\n\nPerfect for:\n- Setting up project documentation libraries\n- Onboarding new team members with curated knowledge bases\n- Creating topic-specific research notebooks in bulk\n\n### `manage_sources` — Dynamic Source Management\n\nAdd or remove sources from existing notebooks:\n\n```json\n{\n  \"notebook_id\": \"abc123\",\n  \"action\": \"add\",\n  \"sources\": [{ \"type\": \"url\", \"value\": \"https://new-documentation.com\" }]\n}\n```\n\n### `generate_audio` — Audio Overview Creation\n\nGenerate NotebookLM's famous \"Audio Overview\" podcasts programmatically:\n\n```\n\"Generate an audio overview for my Security Research notebook\"\n```\n\n### `sync_notebook` — Keep Sources Updated\n\nSync notebook sources from a local directory:\n\n```json\n{\n  \"notebook_id\": \"abc123\",\n  \"directory\": \"/path/to/docs\",\n  \"patterns\": [\"*.md\", \"*.pdf\"]\n}\n```\n\n### Why This Matters\n\n| Traditional Workflow | With This MCP |\n|---------------------|---------------|\n| Manually create notebook in browser | `create_notebook` → done |\n| Click \"Add source\" for each document | Batch add in single command |\n| Navigate UI to generate audio | `generate_audio` → podcast ready |\n| Update sources by hand | `sync_notebook` from local files |\n\n**Your agent can now build entire knowledge bases autonomously.**\n\n---\n\n## 🎬 Video Overviews \u0026 Data Tables (v2026.2.0)\n\n**Generate AI-powered visual summaries and extract structured data from any notebook — all programmatically.**\n\nNotebookLM's Studio panel now offers Video Overviews and Data Tables alongside Audio Overviews. This release brings full automation for both.\n\n### `generate_video_overview` — AI Video Summaries\n\nGenerate visual video overviews of your notebook content with **10 visual styles**:\n\n| Style | Description |\n|-------|-------------|\n| `auto-select` | Let NotebookLM choose the best style (default) |\n| `classic` | Clean presentation style |\n| `whiteboard` | Hand-drawn whiteboard aesthetic |\n| `kawaii` | Cute illustrated style |\n| `anime` | Anime-inspired visuals |\n| `watercolour` | Watercolour painting style |\n| `retro-print` | Retro print aesthetic |\n| `heritage` | Traditional heritage style |\n| `paper-craft` | Paper-craft visual style |\n| `custom` | Custom visual style |\n\n**Two formats:**\n- **Explainer** — Full explanation (5-15 min)\n- **Brief** — Quick summary (1-3 min)\n\n```\n\"Generate a kawaii-style brief video overview for my Security Research notebook\"\n```\n\n### `get_video_status` — Check Generation Progress\n\nVideo generation takes 3-10 minutes. Check progress:\n\n```\n\"Check video status for my Security Research notebook\"\n→ { \"status\": \"generating\", \"progress\": 0 }\n→ { \"status\": \"ready\" }\n```\n\n### `generate_data_table` — Structured Data Extraction\n\nGenerate a structured table from your notebook sources. NotebookLM extracts key information into rows and columns:\n\n```\n\"Generate a data table for my research notebook\"\n```\n\n### `get_data_table` — Extract Table as JSON\n\nExtract the generated table as structured JSON for processing:\n\n```\n\"Get the data table from my research notebook\"\n→ {\n    \"headers\": [\"Title\", \"Year\", \"Key Finding\", \"Methodology\", ...],\n    \"rows\": [[\"Paper A\", \"2025\", \"Finding X\", \"Survey\", ...], ...],\n    \"totalRows\": 27,\n    \"totalColumns\": 7\n  }\n```\n\n### When to Use Which Studio Feature\n\n| Task | Best Tool | Why |\n|------|-----------|-----|\n| Podcast-style audio summary | `generate_audio_overview` | Shareable audio content |\n| Visual presentation of research | `generate_video_overview` | Engaging video summary |\n| Structured data for analysis | `generate_data_table` + `get_data_table` | Machine-readable JSON |\n| Quick status check | `get_audio_status` / `get_video_status` | Non-blocking progress |\n\n---\n\n## 📊 Query History \u0026 Chat Extraction (v2026.1.0)\n\n**Track your research and recover conversations from NotebookLM notebooks.**\n\n### `get_query_history` — Review Past Research (v1.10.8)\n\nAll queries made through the MCP are automatically logged for review:\n\n```\n\"Show me my recent NotebookLM queries\"\n\"Find queries about security from last week\"\n\"What did I ask the fine-tuning notebook?\"\n```\n\n- **Automatic logging** — every Q\u0026A pair saved with metadata\n- **Search** — find specific topics across all queries\n- **Filter** — by notebook, session, or date\n- **Quota tracking** — see query counts and timing\n\n### `get_notebook_chat_history` — Extract Browser Conversations (v2026.1.0)\n\nExtract conversation history directly from a NotebookLM notebook's chat UI with **context management** to avoid overwhelming your AI context window:\n\n**Quick audit (preview mode):**\n```json\n{ \"notebook_id\": \"my-research\", \"preview_only\": true }\n```\nReturns message counts without content — test the water before extracting.\n\n**Export to file (avoids context overflow):**\n```json\n{ \"notebook_id\": \"my-research\", \"output_file\": \"/tmp/chat-history.json\" }\n```\nDumps full history to disk instead of returning to context.\n\n**Paginate through history:**\n```json\n{ \"notebook_id\": \"my-research\", \"limit\": 20, \"offset\": 0 }\n{ \"notebook_id\": \"my-research\", \"limit\": 20, \"offset\": 20 }\n```\nPage through large histories without loading everything at once.\n\n**Returns:**\n```json\n{\n  \"notebook_url\": \"https://notebooklm.google.com/notebook/xxx\",\n  \"notebook_name\": \"My Research\",\n  \"total_messages\": 150,\n  \"returned_messages\": 40,\n  \"user_messages\": 75,\n  \"assistant_messages\": 75,\n  \"offset\": 0,\n  \"has_more\": true,\n  \"messages\": [...]\n}\n```\n\n**Use cases:**\n- **Recover conversations** made directly in the NotebookLM browser (not tracked by MCP)\n- **Audit research** — see what queries were made in a notebook\n- **Resume context** — pick up where a previous session left off\n- **Quota reconciliation** — understand why quota seems off\n\n---\n\n## Why This Fork?\n\nThe original NotebookLM MCP is excellent for productivity — but MCP servers handle sensitive data:\n- **Browser sessions** with Google authentication\n- **Cookies and tokens** stored on disk\n- **Query history** that may contain proprietary information\n\nThis fork adds **14 security hardening layers** to protect that data.\n\n---\n\n## Security Features\n\n| Layer | Feature | Protection |\n|-------|---------|------------|\n| 🔐 | **Post-Quantum Encryption** | ML-KEM-768 + ChaCha20-Poly1305 hybrid |\n| 🔍 | **Secrets Scanning** | Detects 30+ credential patterns (AWS, GitHub, Slack...) |\n| 📌 | **Certificate Pinning** | Blocks MITM attacks on Google connections |\n| 🧹 | **Memory Scrubbing** | Zeros sensitive data after use |\n| 📝 | **Audit Logging** | Tamper-evident logs with hash chains |\n| ⏱️ | **Session Timeout** | 8h hard limit + 30m inactivity auto-logout |\n| 🎫 | **MCP Authentication** | Token-based auth with brute-force lockout |\n| 🛡️ | **Response Validation** | Detects prompt injection attempts |\n| ✅ | **Input Validation** | URL whitelisting, sanitization |\n| 🚦 | **Rate Limiting** | Per-session request throttling |\n| 🙈 | **Log Sanitization** | Credentials masked in all output |\n| 🐍 | **MEDUSA Integration** | Automated security scanning |\n| 🖥️ | **Cross-Platform** | Native support for Linux, macOS, Windows |\n\n### Post-Quantum Ready\n\nTraditional encryption (RSA, ECDH) will be broken by quantum computers. This fork uses **hybrid encryption**:\n\n```\nML-KEM-768 (Kyber) + ChaCha20-Poly1305\n```\n\n- **ML-KEM-768**: NIST-standardized post-quantum key encapsulation\n- **ChaCha20-Poly1305**: Modern stream cipher (immune to timing attacks)\n\nEven if one algorithm is broken, the other remains secure.\n\n### Cross-Platform Support\n\nFull native support for all major operating systems:\n\n| Platform | File Permissions | Data Directory |\n|----------|-----------------|----------------|\n| **Linux** | Unix chmod (0o600/0o700) | `~/.local/share/notebooklm-mcp/` |\n| **macOS** | Unix chmod (0o600/0o700) | `~/Library/Application Support/notebooklm-mcp/` |\n| **Windows** | ACLs via icacls (current user only) | `%LOCALAPPDATA%\\notebooklm-mcp\\` |\n\nAll sensitive files (encryption keys, auth tokens, audit logs) are automatically protected with owner-only permissions on every platform.\n\n### Enterprise Compliance (v1.6.0+)\n\nFull compliance support for regulated industries:\n\n| Regulation | Features |\n|------------|----------|\n| **GDPR** | Consent management, DSAR handling, right to erasure, data portability |\n| **SOC2 Type II** | Hash-chained audit logs, incident response, availability monitoring |\n| **CSSF** | 7-year retention, SIEM integration, policy documentation |\n\n#### Compliance Tools (16 MCP tools)\n```\ncompliance_dashboard    - Real-time compliance status\ncompliance_report       - Generate audit reports (JSON/CSV/HTML)\ncompliance_evidence     - Collect evidence packages\ngrant_consent          - Record user consent\nsubmit_dsar            - Handle data subject requests\nrequest_erasure        - Right to be forgotten\nexport_user_data       - Data portability export\ncreate_incident        - Security incident management\n...and 8 more\n```\n\nSee [COMPLIANCE-SPEC.md](./docs/COMPLIANCE-SPEC.md) for full documentation.\n\n---\n\n## Installation\n\n### What Works Out of the Box (No API Key)\n\nAll core NotebookLM features work immediately with just browser authentication:\n\n| Feature | Tool | Description |\n|---------|------|-------------|\n| 🔍 Query notebooks | `ask_question` | Get source-grounded answers from your documents |\n| 📚 Manage library | `add_notebook`, `list_notebooks`, etc. | Organize your notebook collection |\n| 🎙️ Audio overviews | `generate_audio_overview` | Create podcast-style summaries |\n| 🎬 Video overviews | `generate_video_overview` | AI video summaries with 10 visual styles **NEW** |\n| 📊 Data tables | `generate_data_table`, `get_data_table` | Structured data extraction as JSON **NEW** |\n| 📝 Create notebooks | `create_notebook` | Programmatically create new notebooks |\n| 🔄 Session management | `list_sessions`, `reset_session` | Manage conversation context |\n| 📊 Chat history | `get_notebook_chat_history` | Extract past conversations |\n| ❤️ Health checks | `get_health` | Verify authentication status |\n\n**Optional:** Add `GEMINI_API_KEY` for bonus features like `deep_research`, `gemini_query`, and `upload_document`.\n\n---\n\n### Claude Code\n```bash\nclaude mcp add notebooklm -- npx @pan-sec/notebooklm-mcp@latest\n```\n\n### With Authentication + Gemini (Recommended)\n```bash\nclaude mcp add notebooklm \\\n  --env NLMCP_AUTH_ENABLED=true \\\n  --env NLMCP_AUTH_TOKEN=$(openssl rand -base64 32) \\\n  --env GEMINI_API_KEY=your-gemini-api-key \\\n  -- npx @pan-sec/notebooklm-mcp@latest\n```\n\n### Codex\n```bash\ncodex mcp add notebooklm -- npx @pan-sec/notebooklm-mcp@latest\n```\n\n\u003cdetails\u003e\n\u003csummary\u003eCursor\u003c/summary\u003e\n\nAdd to `~/.cursor/mcp.json`:\n```json\n{\n  \"mcpServers\": {\n    \"notebooklm\": {\n      \"command\": \"npx\",\n      \"args\": [\"-y\", \"@pan-sec/notebooklm-mcp@latest\"],\n      \"env\": {\n        \"NLMCP_AUTH_ENABLED\": \"true\",\n        \"NLMCP_AUTH_TOKEN\": \"your-secure-token\",\n        \"GEMINI_API_KEY\": \"your-gemini-api-key\"\n      }\n    }\n  }\n}\n```\n\u003c/details\u003e\n\n\u003cdetails\u003e\n\u003csummary\u003eGoogle Antigravity\u003c/summary\u003e\n\nAdd to `~/.gemini/antigravity/mcp_config.json` (macOS/Linux) or `%USERPROFILE%\\.gemini\\antigravity\\mcp_config.json` (Windows):\n```json\n{\n  \"mcpServers\": {\n    \"notebooklm\": {\n      \"command\": \"npx\",\n      \"args\": [\"-y\", \"@pan-sec/notebooklm-mcp@latest\"]\n    }\n  }\n}\n```\n\nWith optional env vars:\n```json\n{\n  \"mcpServers\": {\n    \"notebooklm\": {\n      \"command\": \"npx\",\n      \"args\": [\"-y\", \"@pan-sec/notebooklm-mcp@latest\"],\n      \"env\": {\n        \"GEMINI_API_KEY\": \"your-gemini-api-key\"\n      }\n    }\n  }\n}\n```\n\n\u003e **Note:** Antigravity does NOT support `${workspaceFolder}` variables. Use absolute paths.\n\u003c/details\u003e\n\n\u003cdetails\u003e\n\u003csummary\u003eOpenCode\u003c/summary\u003e\n\nAdd to `~/.config/opencode/opencode.json` (global) or `opencode.json` in project root:\n```json\n{\n  \"$schema\": \"https://opencode.ai/config.json\",\n  \"mcp\": {\n    \"notebooklm\": {\n      \"type\": \"local\",\n      \"command\": [\"npx\", \"-y\", \"@pan-sec/notebooklm-mcp@latest\"],\n      \"enabled\": true,\n      \"environment\": {\n        \"GEMINI_API_KEY\": \"your-gemini-api-key\"\n      }\n    }\n  }\n}\n```\n\n\u003e **Note:** OpenCode uses `\"mcp\"` (not `\"mcpServers\"`) and `\"command\"` is an array.\n\u003c/details\u003e\n\n\u003cdetails\u003e\n\u003csummary\u003eWindsurf\u003c/summary\u003e\n\nAdd to `~/.codeium/windsurf/mcp_config.json`:\n```json\n{\n  \"mcpServers\": {\n    \"notebooklm\": {\n      \"command\": \"npx\",\n      \"args\": [\"-y\", \"@pan-sec/notebooklm-mcp@latest\"],\n      \"env\": {\n        \"GEMINI_API_KEY\": \"your-gemini-api-key\"\n      }\n    }\n  }\n}\n```\n\u003c/details\u003e\n\n\u003cdetails\u003e\n\u003csummary\u003eVS Code + Copilot\u003c/summary\u003e\n\nAdd to your VS Code `settings.json`:\n```json\n{\n  \"mcp\": {\n    \"servers\": {\n      \"notebooklm\": {\n        \"command\": \"npx\",\n        \"args\": [\"-y\", \"@pan-sec/notebooklm-mcp@latest\"],\n        \"env\": {\n          \"GEMINI_API_KEY\": \"your-gemini-api-key\"\n        }\n      }\n    }\n  }\n}\n```\n\u003c/details\u003e\n\n\u003cdetails\u003e\n\u003csummary\u003eOther MCP Clients\u003c/summary\u003e\n\nMost MCP clients use this standard format:\n```json\n{\n  \"mcpServers\": {\n    \"notebooklm\": {\n      \"command\": \"npx\",\n      \"args\": [\"-y\", \"@pan-sec/notebooklm-mcp@latest\"],\n      \"env\": {\n        \"GEMINI_API_KEY\": \"your-gemini-api-key\"\n      }\n    }\n  }\n}\n```\n\n**Common config locations:**\n| Client | Config File |\n|--------|-------------|\n| Claude Desktop | `~/.config/claude/claude_desktop_config.json` |\n| Cursor | `~/.cursor/mcp.json` |\n| Antigravity | `~/.gemini/antigravity/mcp_config.json` |\n| OpenCode | `~/.config/opencode/opencode.json` |\n| Windsurf | `~/.codeium/windsurf/mcp_config.json` |\n\u003c/details\u003e\n\n---\n\n## Quick Start\n\n### 1. Install (see above)\n\n### 2. Authenticate\n```\n\"Log me in to NotebookLM\"\n```\n*Chrome opens → sign in with Google*\n\n### 3. Add your notebook\nGo to [notebooklm.google.com](https://notebooklm.google.com) → Create notebook → Upload docs → Share link\n\n### 4. Use it\n```\n\"Research [topic] using this NotebookLM: [link]\"\n```\n\n### 5. Try Deep Research (NEW!)\n```\n\"Use deep research to investigate [complex topic]\"\n```\n\n---\n\n## Complete Tool Reference\n\n### Research Tools\n| Tool | Description | Backend |\n|------|-------------|---------|\n| `ask_question` | Query your NotebookLM notebooks | Browser |\n| `deep_research` | Comprehensive research with citations | Gemini API |\n| `gemini_query` | Fast queries with grounding tools | Gemini API |\n| `get_research_status` | Check background research progress | Gemini API |\n\n### Notebook Management\n| Tool | Description |\n|------|-------------|\n| `add_notebook` | Add notebook to library |\n| `list_notebooks` | List all notebooks |\n| `get_notebook` | Get notebook details |\n| `update_notebook` | Update notebook metadata |\n| `remove_notebook` | Remove from library |\n| `select_notebook` | Set active notebook |\n| `search_notebooks` | Search by query |\n\n### Source Management (v1.7.0+)\n| Tool | Description |\n|------|-------------|\n| `manage_sources` | Add/remove/list sources |\n| `generate_audio` | Create Audio Overview |\n| `sync_notebook` | Sync sources from local files |\n\n### Studio Features (v2026.2.0)\n| Tool | Description |\n|------|-------------|\n| `generate_video_overview` | Create AI video overview (10 visual styles, 2 formats) |\n| `get_video_status` | Check video generation progress |\n| `generate_data_table` | Generate structured data table from sources |\n| `get_data_table` | Extract data table as JSON (headers + rows) |\n\n### Session \u0026 System\n| Tool | Description |\n|------|-------------|\n| `list_sessions` | View active sessions |\n| `close_session` | Close a session |\n| `reset_session` | Reset session chat |\n| `get_health` | Server health check (**with deep_check for UI verification**) |\n| `get_query_history` | Review past queries with search/filter |\n| `get_notebook_chat_history` | Extract browser conversations (pagination, file export) |\n| `setup_auth` | Initial authentication |\n| `re_auth` | Re-authenticate |\n| `cleanup_data` | Deep cleanup utility |\n| `get_library_stats` | Library statistics |\n| `get_quota` | Check usage limits and remaining quota |\n\n### Compliance (v1.6.0+)\n16 compliance tools for GDPR, SOC2, and CSSF requirements.\n\n---\n\n## What Gets Protected\n\n| Data | Protection |\n|------|------------|\n| Browser cookies | Post-quantum encrypted at rest |\n| Session tokens | Auto-expire + memory scrubbing |\n| Query history | Audit logged with tamper detection |\n| Google connection | Certificate pinned (MITM blocked) |\n| Log output | Credentials auto-redacted |\n| API responses | Scanned for leaked secrets |\n| Gemini API key | Secure memory handling |\n\n---\n\n## Configuration\n\nAll security features are **enabled by default**. Override via environment variables:\n\n```bash\n# Authentication\nNLMCP_AUTH_ENABLED=true\nNLMCP_AUTH_TOKEN=your-secret-token\n\n# Gemini API (v1.8.0+)\nGEMINI_API_KEY=your-api-key\nGEMINI_DEFAULT_MODEL=gemini-3-flash-preview  # Default (was gemini-2.5-flash)\nGEMINI_DEEP_RESEARCH_ENABLED=true\nGEMINI_TIMEOUT_MS=30000\nNOTEBOOKLM_NO_GEMINI=false       # Set to true to disable all Gemini tools\n\n# Tool Profiles\nNOTEBOOKLM_PROFILE=standard      # minimal (5 tools) | standard (33 tools) | full (all 47)\nNOTEBOOKLM_DISABLED_TOOLS=       # Comma-separated list of tools to hide\n\n# Encryption\nNLMCP_USE_POST_QUANTUM=true\nNLMCP_ENCRYPTION_KEY=base64-32-bytes  # Optional custom key\n\n# Session Limits\nNLMCP_SESSION_MAX_LIFETIME=28800  # 8 hours\nNLMCP_SESSION_INACTIVITY=1800     # 30 minutes\n\n# Secrets Scanning\nNLMCP_SECRETS_SCANNING=true\nNLMCP_SECRETS_BLOCK=false         # Block on detection\nNLMCP_SECRETS_REDACT=true         # Auto-redact\n\n# Certificate Pinning\nNLMCP_CERT_PINNING=true\n\n# Audit Logging\nNLMCP_AUDIT_ENABLED=true\n\n# Multi-Session Support (v2026.1.2+)\nNOTEBOOK_PROFILE_STRATEGY=isolated  # isolated|single|auto\nNOTEBOOK_CLONE_PROFILE=true         # Clone auth from base profile\n```\n\n### Multi-Session Mode\n\nRun multiple Claude Code sessions simultaneously with isolated browser profiles:\n\n```bash\n# Add to ~/.bashrc or ~/.zshrc\nexport NOTEBOOK_PROFILE_STRATEGY=isolated\nexport NOTEBOOK_CLONE_PROFILE=true\n```\n\n| Variable | Values | Description |\n|----------|--------|-------------|\n| `NOTEBOOK_PROFILE_STRATEGY` | `single`, `auto`, `isolated` | `isolated` = separate profile per session |\n| `NOTEBOOK_CLONE_PROFILE` | `true`, `false` | Clone authenticated base profile into isolated instances |\n\n**How it works:**\n- Each session gets its own Chrome profile (no lock conflicts)\n- Isolated profiles clone from the authenticated base profile\n- Auth coordination ensures cloning waits for any in-progress authentication\n\nSee [SECURITY.md](./SECURITY.md) for complete configuration reference.\n\n---\n\n## Security Scanning\n\nRun MEDUSA security scanner:\n\n```bash\nnpm run security-scan\n```\n\nOr integrate in CI/CD:\n\n```yaml\n- name: Security Scan\n  run: npx @pan-sec/notebooklm-mcp \u0026\u0026 npm run security-scan\n```\n\n---\n\n## Comparison\n\n### vs Other NotebookLM MCPs\n\n| Feature | Others | @pan-sec/notebooklm-mcp |\n|---------|--------|-------------------------|\n| Zero-hallucination Q\u0026A | ✅ | ✅ |\n| Library management | ✅ | ✅ |\n| **Create Notebooks Programmatically** | ❌ | ✅ **EXCLUSIVE** |\n| **Batch Create (10 notebooks)** | ❌ | ✅ **EXCLUSIVE** |\n| **Gemini Deep Research** | ❌ | ✅ **EXCLUSIVE** |\n| **Document API (no browser)** | ❌ | ✅ **EXCLUSIVE** |\n| **Auto-chunking (1000+ page PDFs)** | ❌ | ✅ **EXCLUSIVE** |\n| **Chat History Extraction** | ❌ | ✅ **NEW** |\n| **Deep Health Verification** | ❌ | ✅ **NEW** |\n| **Query History \u0026 Search** | ❌ | ✅ |\n| **Quota Management** | ❌ | ✅ |\n| Source Management (add/remove) | ❌ | ✅ |\n| Audio Overview Generation | ❌ | ✅ |\n| **Video Overview Generation (10 styles)** | ❌ | ✅ **NEW** |\n| **Data Table Extraction (JSON)** | ❌ | ✅ **NEW** |\n| **Gemini 3 + Thinking Control** | ❌ | ✅ **NEW** |\n| **Structured JSON Output** | ❌ | ✅ **NEW** |\n| Sync from Local Directories | ❌ | ✅ |\n\n### Security \u0026 Compliance (Unique to This Fork)\n\n| Feature | Others | @pan-sec/notebooklm-mcp |\n|---------|--------|-------------------------|\n| Cross-platform (Linux/macOS/Windows) | ⚠️ Partial | ✅ Full |\n| **Post-quantum encryption** | ❌ | ✅ ML-KEM-768 + ChaCha20 |\n| **Secrets scanning** | ❌ | ✅ 30+ patterns |\n| **Certificate pinning** | ❌ | ✅ Google MITM protection |\n| **Memory scrubbing** | ❌ | ✅ Zero-on-free |\n| **Audit logging** | ❌ | ✅ Hash-chained |\n| **MCP authentication** | ❌ | ✅ Token + lockout |\n| **Prompt injection detection** | ❌ | ✅ Response validation |\n| **GDPR Compliance** | ❌ | ✅ Full |\n| **SOC2 Type II** | ❌ | ✅ Full |\n| **CSSF (Luxembourg)** | ❌ | ✅ Full |\n\n\u003e **Bottom line**: If you need more than basic queries, or care about security, there's only one choice.\n\n---\n\n## Version History\n\n| Version | Highlights |\n|---------|------------|\n| **v2026.2.1** | 🔧 Standard profile expanded: 14 → 33 tools — all key features now visible by default |\n| **v2026.2.0** | 🚀 Gemini 3 models (2.5 retiring March 31), Video Overviews (10 styles), Data Table extraction (JSON), thinking level control, structured JSON output, SDK 1.41 |\n| **v2026.1.12** | 🔒 Security hardening — timing attack fix, command injection fix, 6 memory leak fixes, MCP SDK 1.26.0 |\n| **v2026.1.11** | 🔄 Notebook sync extraction for Angular UI, `NOTEBOOKLM_NO_GEMINI` env var |\n| **v2026.1.10** | 📝 Tool descriptions clarified for multi-LLM compatibility (OpenCode fix) |\n| **v2026.1.9** | 📄 Documentation \u0026 UX improvements, npm audit fix |\n| **v2026.1.8** | 📦 Major dependency updates (zod 4.x, dotenv 17.x, post-quantum 0.5.4) |\n| **v2026.1.7** | 🎨 MCP Protocol UX — tool icons, titles, behavior annotations |\n| **v2026.1.4** | 🛡️ Defense-in-depth path validation, security hardening |\n| **v2026.1.2** | 🔗 Multi-session auth coordination — lock system for concurrent sessions |\n| **v2026.1.1** | 🔍 Deep health check — verifies NotebookLM chat UI actually loads |\n| **v2026.1.0** | 📊 Chat history extraction with context management, CalVer versioning |\n| **v1.10.8** | Query history logging, quota tracking |\n| **v1.10.0** | Auto-chunking for large PDFs (1000+ pages) |\n| **v1.9.0** | Document API: upload, query, delete via Gemini Files API |\n| **v1.8.0** | Gemini Deep Research, Query with Grounding, Background Tasks |\n| **v1.7.0** | Programmatic notebook creation, batch operations, audio generation |\n| **v1.6.0** | Enterprise compliance: GDPR, SOC2 Type II, CSSF |\n| **v1.5.0** | Cross-platform support (Windows ACLs, macOS, Linux) |\n| **v1.4.0** | Post-quantum encryption, secrets scanning |\n\n---\n\n## Reporting Vulnerabilities\n\nFound a security issue? **Do not open a public GitHub issue.**\n\nEmail: support@pantheonsecurity.io\n\n---\n\n## Credits\n\n- **Original MCP Server**: [Gérôme Dexheimer](https://github.com/PleasePrompto) — [notebooklm-mcp](https://github.com/PleasePrompto/notebooklm-mcp)\n- **Security Hardening**: [Pantheon Security](https://pantheonsecurity.io)\n- **Post-Quantum Crypto**: [@noble/post-quantum](https://www.npmjs.com/package/@noble/post-quantum)\n- **Gemini API**: [Google AI](https://ai.google.dev/)\n\n## License\n\nMIT — Same as original.\n\n---\n\n\u003cdiv align=\"center\"\u003e\n\n**Security hardened with 🔒 by [Pantheon Security](https://pantheonsecurity.io)**\n\n**Powered by Google Gemini 3 🚀**\n\n[Full Security Documentation](./SECURITY.md) • [Compliance Guide](./docs/COMPLIANCE-SPEC.md) • [Report Vulnerability](mailto:support@pantheonsecurity.io)\n\n\u003c/div\u003e\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpantheon-security%2Fnotebooklm-mcp-secure","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fpantheon-security%2Fnotebooklm-mcp-secure","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpantheon-security%2Fnotebooklm-mcp-secure/lists"}