notebooklm-mcp-secure について
notebooklm-mcp-secure は Google NotebookLM 向け MCP サーバーのセキュリティ強化版です。エージェントからノートブックの照会、作成、管理を行えます。README には監査ログや暗号化などの機能が記載されています。
主な機能
- 01ソースに基づくノートブックへの質問応答
- 02ノートブックのプログラムによる作成と一括作成
- 03音声および動画の概要の生成
- 04ノートブックのソースからのデータテーブル抽出
- 05監査ログと暗号化などのセキュリティ機能
活用シーン
- 01エージェントにアップロード済みのソースを照会させ、根拠付きの回答を得る
- 02ノートブックを一括作成し、ローカルの PDF ファイルを追加する
- 03ノートブックのソースから構造化されたデータテーブルを抽出する
MCP 対応
本プロジェクトは MCP サーバーとして、ノートブックへの質問、ソース管理、音声・動画の生成、任意の Gemini API による調査、Webhook などを含む約 48 のツールを MCP クライアントに公開します。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
ツール
25掲載時のツール一覧 · 2 週間前に更新
| パラメーター | 型 | 必須 | 説明 |
|---|---|---|---|
| question | string | はい | NotebookLM に尋ねる質問 |
| session_id | string | いいえ | コンテキストを引き継ぐ会話に使用する任意のセッション ID。省略すると、新しいセッションが作成されます。 |
| notebook_id | string | いいえ | ライブラリ内の任意のノートブック ID。省略すると、アクティブなノートブックが使用されます。利用可能なノートブックを確認するには list_notebooks を使います。 |
| notebook_url | string | いいえ | 任意のノートブック URL(notebook_id より優先)。ライブラリにないノートブックへのアドホックな問い合わせに使用します。 |
| show_browser | boolean | いいえ | デバッグ用にブラウザーウィンドウを表示します(簡易版)。入力速度やステルスモードなどを高度に制御するには、代わりに browser_options を使います。 |
| browser_options | object | いいえ | 任意のブラウザー動作設定。Claude は表示状態、入力速度、ステルスモード、タイムアウトなど、すべてを制御できます。デバッグや微調整に便利です。 |
| browser_options.show | boolean | いいえ | ブラウザーウィンドウを表示します(デフォルト:ENV の値、または false) |
| browser_options.stealth | object | いいえ | 検出を回避するための人間らしい動作の設定 |
| browser_options.stealth.enabled | boolean | いいえ | すべてのステルス機能のマスタースイッチ(デフォルト:true) |
| browser_options.stealth.delay_max_ms | number | いいえ | 操作間の最長遅延(ミリ秒、デフォルト:400) |
| browser_options.stealth.delay_min_ms | number | いいえ | 操作間の最短遅延(ミリ秒、デフォルト:100) |
| browser_options.stealth.human_typing | boolean | いいえ | 人間らしいタイピングパターン(デフォルト:true) |
| browser_options.stealth.random_delays | boolean | いいえ | 操作間のランダムな遅延(デフォルト:true) |
| browser_options.stealth.typing_wpm_max | number | いいえ | 最高タイピング速度(WPM、デフォルト:240) |
| browser_options.stealth.typing_wpm_min | number | いいえ | 最低タイピング速度(WPM、デフォルト:160) |
| browser_options.stealth.mouse_movements | boolean | いいえ | リアルなマウスの動き(デフォルト:true) |
| browser_options.headless | boolean | いいえ | ブラウザーをヘッドレスモードで実行します(デフォルト:true) |
| browser_options.viewport | object | いいえ | ブラウザーのビューポートサイズ |
| browser_options.viewport.width | number | いいえ | ビューポートの幅(ピクセル、デフォルト:1920) |
| browser_options.viewport.height | number | いいえ | ビューポートの高さ(ピクセル、デフォルト:1080) |
| browser_options.timeout_ms | number | いいえ | ブラウザー操作のタイムアウト(ミリ秒、デフォルト:30000) |
詳細
NotebookLM MCP Server(セキュリティ強化版)
🏆 世界で最も高度なNotebookLM MCP サーバー
ハルシネーションゼロの回答 • Gemini Deep Research • 17層のセキュリティ • エンタープライズコンプライアンス
2026年の新機能 • Deep Research • ドキュメントAPI • ノートブックの作成 • セキュリティ • インストール
エンタープライズグレードのセキュリティ、耐量子暗号化、Gemini APIの完全統合を備えた唯一のNotebookLM MCPです。
PleasePrompto/notebooklm-mcpのセキュリティ強化フォーク • Pantheon Securityがメンテナンスしています
⚡ TL;DR — 利用できる機能
- 🔍 NotebookLMのノートブックに質問 — ソースに基づいた、ハルシネーションゼロの回答
- 📚 ノートブックをプログラムで作成・管理 — 手動でのクリックは不要
- 🎙️ 音声概要を生成 — ドキュメントのポッドキャスト形式の要約
- 🎬 動画概要を生成 — 10種類のビジュアルスタイルに対応したAI動画要約 新機能
- 📊 データテーブルを抽出 — ノートブックのソースから構造化JSONを抽出 新機能
- 🔬 Gemini 3 + Deep Research — 思考制御に対応した最新モデル(APIは任意) 新機能
- 📄 ドキュメントAPI — ブラウザーなしでPDFをアップロードして質問
- 🔐 17層のセキュリティ — 耐量子暗号化、監査ログ、シークレットのスキャン
- ✅ コンプライアンス対応のアーキテクチャ — GDPR、SOC2、CSSFの基準に準拠して構築(管理策は実装済み。正式な認証には第三者監査が必要です)
- 💡 APIキー不要 — ブラウザー認証だけで主要機能を利用可能
🚀 2026年の新機能
最新バージョン:v2026.3.1 — 監査で指摘された334件の問題をすべて解決しました。テスト数は631件です。MCP プロトコルに完全準拠しています。
| バージョン | 主な変更点 |
|---|---|
| v2026.3.1 | セキュリティ監査完了 — 第三者監査で指摘された334件の問題をすべて解決しました。テスト数:609 → 631。コード品質:URL 解決の重複排除、ハンドラーの抽出、非 null アサーションの排除。テストの不足を解消:validateNotebookId、エラーボディの形式、delete_document の確認ガード、サニタイズ済みの例外送出、ログローテーション、レートリミッターのメモリ上限、範囲のクランプ。 |
| v2026.3.0 | セキュリティ監査リリース — 334件の問題を対象に、セキュリティ、プロトコル、アーキテクチャ、テストの4分野でAIによるコードレビューを並行して実施しました。重要度が高・中の問題をすべて解決しました。テスト数:50ファイルにわたり139 → 609(4.4倍)。MCP プロトコルに完全準拠:structuredContent、isError、トランスポートタグ。48種類すべてのツールにスキーマの制約を適用。アノテーションを正確化。Webhook の SSRF を修正。監査ログの完全性を確保(ハッシュチェーン、同時書き込みロック、ローテーションの連続性)。ページ単位のミューテックス。HandlerContext による DI。証明書ピンニングを撤回(主張を実装に合わせて調整)。 |
| v2026.2.10 | 堅牢化リリース — 新たなセキュリティ層を3つ追加(14→17):セキュアな設定をデフォルトにした認証、指数バックオフによるロックアウト、認証情報の分離。アーキテクチャを刷新:3,611行のハンドラーを9つのドメインモジュールに分割し、ツールレジストリパターンを導入。Gemini API のリトライにバックオフを追加。マルチステージ Docker ビルド。トークン CLI(token show/rotate)。テスト数は168件です。 |
| v2026.2.9 | Chrome が起動する前にperformSetupが認証情報を消去しないように修正 — 起動に失敗した場合の認証情報の破損を防止 |
| v2026.2.8 | cleanup_dataが認証ディレクトリ(browser_state/、chrome_profile/)を削除しないように修正 — どのクリーンアップ処理でも認証情報を保持 |
| v2026.2.7 | ヘッドレスモードでのsetup_auth呼び出しをブロック。Chrome プロファイルのロック処理に対応した堅牢なスタンドアロンスクリプトauth-now.mjsを追加 |
| v2026.2.6 | PDF/ファイルを一括アップロードする新しいadd_folderツールを追加。NotebookLM Plus のティア検出を改善 |
| v2026.2.5 | setup_authでshow_browserが無視される問題を修正 — 認証時にブラウザーが確実に開くように変更 |
| v2026.2.4 | 認証の安定性を向上:状態の有効期限を7日に設定、検証時にtouchStateFileを実行、ヘッドレスモードでのre_authをブロック |
| v2026.2.3 | Studio Panel のツールを復元:Video Overview と Data Table の生成を再び有効化 |
| v2026.2.1 | Standard プロファイルを拡張:14 → 33種類のツール — ノートブックの作成、音声、ソース管理をデフォルトで利用可能に |
| v2026.2.0 | Gemini 3 モデル(2.5は3月31日に提供終了)、Video Overviews、Data Tables、思考レベル、構造化 JSON、SDK 1.41 |
| v2026.1.12 | セキュリティを強化:定時間認証、コマンドインジェクションを修正、メモリリークを修正、MCP SDK 1.26.0 |
| v2026.1.11 | 新しい Angular UI 向けにノートブック同期を抽出。NOTEBOOKLM_NO_GEMINI環境変数を追加 |
| v2026.1.10 | 複数の LLM との互換性を高めるため、ツールの説明を明確化 |
| v2026.1.9 | ドキュメントと UX を改善、npm audit の問題を修正 |
| v2026.1.8 | 依存関係を大幅に更新(zod 4.x、dotenv 17.x、post-quantum 0.5.4) |
| v2026.1.7 | MCP プロトコルの UX を改善:ツールアイコン、わかりやすいタイトル、動作アノテーション |
| v2026.1.4 | 多層防御型のパス検証、セキュリティ強化 |
| v2026.1.1 | 詳細なヘルスチェック、チャット履歴の抽出、コンテキスト管理 |
# Quick install
claude mcp add notebooklm -- npx @pan-sec/notebooklm-mcp@latest
この MCP を選ぶ理由
| 機能 | 他の MCP | この MCP |
|---|---|---|
| NotebookLM へのクエリ | ✅ 基本機能 | ✅ +セッション管理、使用量上限 |
| プログラムからノートブックを作成 | ❌ | ✅ 独自機能 |
| Gemini Deep Research | ❌ | ✅ 独自機能 |
| ドキュメント API(ブラウザー不要) | ❌ | ✅ 独自機能 |
| 耐量子暗号 | ❌ | ✅ 保存データをハイブリッド PQ で暗号化 |
| エンタープライズコンプライアンス | ❌ | ✅ GDPR/SOC2/CSSF に対応 |
| Video Overview の生成 | ❌ | ✅ 新機能 |
| Data Table の抽出 | ❌ | ✅ 新機能 |
| チャット履歴の抽出 | ❌ | ✅ |
| 詳細なヘルス検証 | ❌ | ✅ |
🔬 セキュリティ監査 2026 — 調査結果と修正内容
2026 年 4 月、v2026.2.11(main @ 2973097)を対象に、攻撃対象領域ごとに専門分野を分けた 4 つの AI コードレビュアーによる並行詳細監査を実施しました。各レビューアーは、それぞれセキュリティ脆弱性、プロトコルの正確性、アーキテクチャの品質、テストの不足とエッジケースに焦点を当てました。4 つのレビューアーは、互いの調査結果に影響されないよう独立して作業しました。これにより、プロトコルの正確性、セキュリティ脆弱性、アーキテクチャの問題、テストの不足、ドキュメントの正確性を網羅する334 件のマスター課題リストが作成されました。334 件すべての課題を v2026.3.0 および v2026.3.1 で解決しました。
監査の数値
| 指標 | 監査前(v2026.2.11) | 監査後(v2026.3.1) |
|---|---|---|
| テスト | 139 | 50 ファイルにわたる 631 件 |
| テストスイート | 約 6 | 50 |
TypeScript エラー(tsc --noEmit) | 0 | 0(維持) |
| npm audit の脆弱性 | 0 | 0(維持) |
| MCP プロトコルへの準拠 | 部分的 | 完全(structuredContent、isError、トランスポートタグ) |
| 監査ログの完全性 | 基本的 | 読み取り時にハッシュチェーンを検証 |
| 同時書き込みの安全性 | ❌ | ✅ 書き込みロック済み |
| Webhook の SSRF | ❌ | ✅ ブロック済み |
4 つのレビューアーによる調査結果
セキュリティレビューアー: validateToken() の forceAuth によるバイパスを特定しました。これにより、認証なしでファイルシステムツールにアクセスできていました。また、検証されていない配信先による Webhook SSRF、読み取り時に検証されない監査ログのハッシュチェーン、監査ログへの同時書き込みによるエントリーの混在、認証トークンのソルトが永続化されず再起動時にトークンが無効になる問題も見つかりました。
プロトコルレビューアー: 38 個のツールが不正なレスポンス形式を返していることを発見しました(structuredContent の欠落、isError のセマンティクスの誤り、トランスポートタグのコンテンツへの漏出)。また、48 個すべてのツールで readOnlyHint/idempotentHint/destructiveHint アノテーションに誤りがあるか、欠落していました。9 個のツールスキーマには数値の上限・下限がなく、範囲外の入力が可能でした。
アーキテクチャレビューアー: 3,611 行の handlers.ts が保守上の負担になっていることを指摘しました。ドメイン関数全体でシングルトンをインポートしていたため単体テストが困難であり、500 行の switch/case によるディスパッチは O(n) のオーバーヘッドを生み、ツール登録を誤りやすくしていました。
テストとエッジケースのレビューアー: テスト数が 139 件で、セキュリティ上重要なモジュールのカバレッジが最小限であることを発見しました。mcp-auth.ts のカバレッジはほぼゼロで、プロンプトインジェクションのパターン、監査ログの改ざん、ブラウザーセッション状態の同時操作に関するテストもありませんでした。また、DSAR ハンドラーに検出されていない競合状態がありました。
主な修正
- 17 件のセキュリティ脆弱性を修正しました(認証バイパス、SSRF、監査の完全性、競合状態、セレクターインジェクションの攻撃経路)
- MCP プロトコルへの完全準拠 — 48 個すべてのツールが正しい
structuredContent/isError形式を返すようになりました。アノテーションを正確にし、スキーマの範囲制約を適用しました - アーキテクチャを分割 —
handlers.tsを 9 個のドメインモジュールに分割し、HandlerContext による依存性注入を導入しました。プロセスのモックなしで 100% 単体テスト可能です - テストカバレッジ — ブラウザーセッション、認証、プロンプトインジェクション、監査ログ、Webhook、DSAR、コンプライアンスを含む、セキュリティ上重要な 15 個のテストスイートを新たに追加しました
- 主張を実態に整合 — 証明書ピンニングを削除しました(監査 1 日目に実装を撤回)。PQ 暗号化の適用範囲を正確に記載し、コンプライアンスに関する表現を「認証済み」ではなく「実装済みの管理策」に変更しました
📋 全機能一覧(48 個のツール)
#### NotebookLM のコア機能(API キー不要) | ツール | 説明 | |------|-------------| | `ask_question` | ソースに基づく回答でノートブックに質問します | | `add_notebook` | ライブラリにノートブックを追加します | | `list_notebooks` | ライブラリ内のすべてのノートブックを一覧表示します | | `select_notebook` | アクティブなノートブックを設定します | | `update_notebook` | ノートブックのメタデータを更新します | | `remove_notebook` | ライブラリから削除します | | `create_notebook` | プログラムから新しいノートブックを作成します | | `batch_create_notebooks` | 複数のノートブックを一度に作成します | | `sync_library` | ライブラリを NotebookLM と同期します | | `list_sources` | ノートブック内のソースを一覧表示します | | `add_source` | ノートブックにソースを追加します | | `add_folder` | ローカルフォルダーからノートブックに PDF/ファイルを一括アップロードします | | `remove_source` | ノートブックからソースを削除します | | `generate_audio_overview` | ポッドキャスト形式の音声を作成します | | `get_audio_status` | 音声の生成状況を確認します | | `download_audio` | 生成された音声をダウンロードします | | `generate_video_overview` | AI 動画の概要を作成します(10 種類のスタイル) | | `get_video_status` | 動画の生成状況を確認します | | `generate_data_table` | 構造化データテーブルを生成します | | `get_data_table` | データテーブルを JSON として抽出します | | `list_sessions` | アクティブなセッションを一覧表示します | | `close_session` | セッションを終了します | | `reset_session` | セッション履歴をリセットします | | `get_health` | サーバーと認証の状態を確認します | | `setup_auth` | 初期認証を行います | | `re_auth` | 再認証します | | `cleanup_data` | ローカルデータをクリーンアップします | | `get_quota` | 使用量の上限を確認します | | `set_quota_tier` | 使用量の上限レベルを設定します | | `get_query_history` | 過去のクエリを表示します | | `get_notebook_chat_history` | ブラウザーのチャット履歴を抽出します | | `get_project_info` | プロジェクトのコンテキストを取得します | | `export_library` | ライブラリのバックアップをエクスポートします |Gemini API(オプション — GEMINI_API_KEY が必要)
| ツール | 説明 |
|---|---|
deep_research | 包括的なリサーチエージェント |
gemini_query | 高速で根拠に基づくクエリ |
get_research_status | リサーチの進行状況を確認します |
upload_document | ドキュメントを Gemini にアップロードします |
query_document | アップロードしたドキュメントにクエリします |
query_chunked_document | 大規模なドキュメントにクエリします |
list_documents | アップロードしたドキュメントを一覧表示します |
delete_document | アップロードしたドキュメントを削除します |
Webhook とインテグレーション
| ツール | 説明 |
|---|---|
configure_webhook | Webhook 通知を設定します |
list_webhooks | 設定済みの Webhook を一覧表示します |
test_webhook | Webhook の配信をテストします |
remove_webhook | Webhook を削除します |
エンタープライズコンプライアンス(追加の 16 ツール)
全ツールの一覧はコンプライアンスドキュメントをご覧ください。
Gemini Deep Research(v1.8.0)
AI エージェント向けの最も強力なリサーチ機能が、MCP ツールキットで利用可能になりました。
v1.8.0 では、ブラウザー自動化に加え、安定した API ベースのリサーチバックエンドとして Gemini Interactions API が導入されました。これにより、エージェントは Google の最先端の Deep Research エージェントを利用できます。
これが重要な理由
| 課題 | 解決策 |
|---|---|
| ブラウザー UI の変更によって自動化が動作しなくなる | Gemini API は安定しており、バージョン管理されています |
| 包括的なリサーチが必要だが、リサーチエージェントがない | Deep Research エージェントが代わりに実行します |
| 引用付きの最新情報が必要 | Google Search によるグラウンディングが組み込まれています |
| 信頼性の高い高速なクエリが必要 | API ベースのため、UI に依存しません |
新しいツール
deep_research — 包括的なリサーチエージェント
"Research the security implications of post-quantum cryptography adoption in financial services"
- Google の Deep Research エージェント(Gemini Advanced と同じ)を実行します
- 包括的でウェブ情報に基づく分析に 1~5 分かかります
- 引用とソースを含む構造化された回答を返します
- 複数のソースを統合する必要がある複雑なトピックに最適です
gemini_query — 高速な根拠付きクエリ
"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 によるグラウンディング — 学習データだけでなく、最新情報を取得します
- コード実行 — 計算やデータ分析を実行します
- URL コンテキスト — 必要に応じてウェブページを分析します
- モデル:
gemini-3-flash-preview(デフォルト)、gemini-3-pro-preview(高性能)、gemini-2.5-flash(レガシー)
get_research_status — バックグラウンドタスクの監視
バックグラウンドで詳細な調査を実行し、進捗を確認します:
"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 は完全に任意です! NotebookLM のすべてのコア機能(ask_question、ノートブック、セッション、音声)は、API キー不要でブラウザー自動化を使って動作します。以下の Gemini ツールは、API に直接アクセスしたいユーザー向けの追加機能です。
Gemini の設定(任意)
# 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
用途に応じた使い分け
| タスク | 最適なツール | 理由 |
|---|---|---|
| あなたのドキュメントに関する質問 | ask_question | アップロードしたソースに基づいて回答します |
| トピックの包括的な調査 | deep_research | 複数のソースを統合し、引用を付けます |
| 時事問題/最新情報 | gemini_query + google_search | ウェブの最新データを取得します |
| コードによる計算 | gemini_query + code_execution | 信頼性の高い計算を実行します |
| ウェブページの分析 | gemini_query + url_context | ページを直接分析します |
| PDF/ドキュメントの簡易分析 | upload_document + query_document | 高速な API、ブラウザー不要(新機能!) |
📄 ドキュメント API(v1.9.0)
Gemini API 経由でドキュメントを直接アップロードしてクエリできます。ブラウザー自動化は不要です。
v1.9.0 では、高速で信頼性の高いドキュメント分析を実現する Gemini Files API が導入されました。PDF をアップロードしてすぐに分析し、完了後に削除できます。
これが重要な理由
| 機能 | ブラウザーモード | ドキュメント API |
|---|---|---|
| 速度 | 数秒 | 数ミリ秒 |
| 信頼性 | UI に依存 | API の安定性 |
| ファイルのサポート | NotebookLM 経由 | 50MB の PDF、1000 ページ |
| 保持期間 | 永続 | 48 時間 |
| セットアップ | 認証情報 + Cookie | API キーのみ |
新しいツール
upload_document — ドキュメントをすばやくアップロード
あらゆるドキュメントを Gemini にアップロードして、すぐにクエリできます:
Upload /path/to/research-paper.pdf
- 対応形式:PDF(50MB、1000 ページ)、TXT、MD、HTML、CSV、JSON、DOCX、画像、音声、動画
- 48 時間保持 — ファイルは自動的に期限切れになります。手動で削除することもできます
- クエリに使用するファイル ID を返します
query_document — ドキュメントについて質問
"What are the main findings in this research paper?"
"Summarize section 3 of the document"
"Extract all statistics mentioned in the PDF"
- ドキュメント全体を理解します(テキスト、表、グラフ、図)
- 複数のドキュメントに対するクエリ(複数ファイルの比較)
- 高速な API 応答(ブラウザーの待ち時間なし)
list_documents — アップロード済みファイルをすべて表示
List all my uploaded documents
ファイル名、サイズ、MIME タイプ、有効期限を表示します。
delete_document — 機密ファイルを削除
Delete file xyz123
ファイルをすぐに削除します(48 時間の有効期限を待つ必要はありません)。
ワークフローの例
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
大きな PDF の自動分割(v1.10.0)
ファイルサイズの制限はありません — どのサイズの PDF も自動的に処理されます。
Gemini の制限(50MB または 1000 ページ)を超える PDF をアップロードすると、システムが自動的に次の処理を行います:
- 検出 — サイズ超過の PDF を検出します
- 分割 — 最適なサイズのチャンク(各 500 ページ)に分割します
- アップロード — すべてのチャンクを並列でアップロードします
- 返却 — クエリに使用するチャンクのメタデータを返します
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_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
ドキュメント API と NotebookLM の使い分け
| シナリオ | 使用するもの |
|---|---|
| ドキュメントを手早く一度だけ分析する | ドキュメント API — 高速で、セットアップ不要 |
| 永続的なナレッジベースを構築する | NotebookLM — 永続ストレージ |
| 機密ドキュメントを分析する | ドキュメント API — 48 時間後に自動削除 |
| 複数ソースを使った継続的な調査 | NotebookLM — ノートブックで整理 |
| CI/CD パイプラインでドキュメントを処理する | ドキュメント API — API ネイティブ |
| 大きな PDF(1000 ページ以上) | ドキュメント API — 自動分割 |
プログラムによるノートブックの作成(v1.7.0+)
コードだけで NotebookLM のノートブックを作成できます。手動でクリックする必要はありません。
ほとんどの MCP サーバーでは NotebookLM から読み取ることしかできません。このサーバーでは、ノートブックの作成、ソースの追加、音声の生成をすべてプログラムから行えます。
create_notebook — ノートブックをすぐに作成
1 回のコマンドで、複数のソースを含むノートブックを作成します。
{
"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 — ウェブページ、ドキュメント、記事
- ファイル — PDF、DOCX、TXT など
- テキスト — プレーンテキスト、コードスニペット、メモ
batch_create_notebooks — 大規模に作成
1 回の操作で最大 10 個のノートブックを作成します。
{
"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/" }] }
]
}
次の用途に最適です。
- プロジェクトのドキュメントライブラリを構築する
- 厳選したナレッジベースを使って新しいチームメンバーをオンボーディングする
- 特定のトピックに関する調査用ノートブックをまとめて作成する
manage_sources — ソースを動的に管理
既存のノートブックにソースを追加したり、削除したりできます。
{
"notebook_id": "abc123",
"action": "add",
"sources": [{ "type": "url", "value": "https://new-documentation.com" }]
}
generate_audio — 音声概要の作成
NotebookLM でおなじみの「音声概要」ポッドキャストをプログラムから生成します。
"Generate an audio overview for my Security Research notebook"
sync_notebook — ソースを最新の状態に維持
ローカルディレクトリからノートブックのソースを同期します。
{
"notebook_id": "abc123",
"directory": "/path/to/docs",
"patterns": ["*.md", "*.pdf"]
}
重要な理由
| 従来のワークフロー | この MCP を使う場合 |
|---|---|
| ブラウザーで手動でノートブックを作成する | create_notebook → 完了 |
| ドキュメントごとに「ソースを追加」をクリックする | 1 回のコマンドでまとめて追加 |
| UI を操作して音声を生成する | generate_audio → ポッドキャストの完成 |
| ソースを手動で更新する | ローカルファイルから sync_notebook |
エージェントがナレッジベース全体を自律的に構築できるようになりました。
🎬 動画概要とデータテーブル(v2026.2.0)
AI を活用したビジュアル要約を生成し、あらゆるノートブックから構造化データをプログラムで抽出できます。
NotebookLM の Studio パネルでは、音声概要に加えて動画概要とデータテーブルを利用できるようになりました。このリリースでは、どちらも完全に自動化できます。
generate_video_overview — AI 動画要約
10 種類のビジュアルスタイルで、ノートブックのコンテンツの動画概要を生成します。
| スタイル | 説明 |
|---|---|
auto-select | NotebookLM が最適なスタイルを選択します(デフォルト) |
classic | すっきりとしたプレゼンテーションスタイル |
whiteboard | 手描きのホワイトボード風 |
kawaii | かわいらしいイラストスタイル |
anime | アニメ風のビジュアル |
watercolour | 水彩画スタイル |
retro-print | レトロな印刷物風 |
heritage | 伝統的なヘリテージスタイル |
paper-craft | ペーパークラフト風のビジュアルスタイル |
custom | カスタムビジュアルスタイル |
2 種類の形式:
- 解説 — 詳細な解説(5~15 分)
- ブリーフ — 簡潔な要約(1~3 分)
"Generate a kawaii-style brief video overview for my Security Research notebook"
get_video_status — 生成の進捗を確認
動画の生成には 3~10 分かかります。進捗を確認します。
"Check video status for my Security Research notebook"
→ { "status": "generating", "progress": 0 }
→ { "status": "ready" }
generate_data_table — 構造化データの抽出
ノートブックのソースから構造化テーブルを生成します。NotebookLM が重要な情報を行と列に抽出します。
"Generate a data table for my research notebook"
get_data_table — テーブルを JSON として抽出
生成したテーブルを、処理に使える構造化 JSON として抽出します。
"Get the data table from my research notebook"
→ {
"headers": ["Title", "Year", "Key Finding", "Methodology", ...],
"rows": [["Paper A", "2025", "Finding X", "Survey", ...], ...],
"totalRows": 27,
"totalColumns": 7
}
Studio 機能の使い分け
| タスク | 最適なツール | 理由 |
|---|---|---|
| ポッドキャスト形式の音声要約 | generate_audio_overview | 共有しやすい音声コンテンツ |
| 調査内容のビジュアルプレゼンテーション | generate_video_overview | 魅力的な動画要約 |
| 分析用の構造化データ | generate_data_table + get_data_table | 機械可読な JSON |
| 簡単なステータス確認 | get_audio_status / get_video_status | 処理をブロックしない進捗確認 |
📊 クエリ履歴とチャットの抽出(v2026.1.0)
NotebookLM のノートブックで、調査の記録を追跡し、会話を復元します。
get_query_history — 過去の調査を確認(v1.10.8)
MCP 経由で行われたすべてのクエリは、確認用に自動で記録されます:
"Show me my recent NotebookLM queries"
"Find queries about security from last week"
"What did I ask the fine-tuning notebook?"
- 自動記録 — すべての Q&A ペアをメタデータとともに保存します
- 検索 — すべてのクエリから特定のトピックを見つけます
- 絞り込み — ノートブック、セッション、日付で絞り込みます
- クォータの追跡 — クエリ数とタイミングを確認します
get_notebook_chat_history — ブラウザーの会話を抽出(v2026.1.0)
NotebookLM ノートブックのチャット UI から会話履歴を直接抽出します。コンテキスト管理により、AI のコンテキストウィンドウがいっぱいになるのを防ぎます:
クイック監査(プレビューモード):
{ "notebook_id": "my-research", "preview_only": true }
内容を含めずにメッセージ数を返します。抽出する前に、まず動作を確認できます。
ファイルにエクスポート(コンテキストのオーバーフローを回避):
{ "notebook_id": "my-research", "output_file": "/tmp/chat-history.json" }
履歴全体をコンテキストに返すのではなく、ディスクに書き出します。
履歴をページ分割:
{ "notebook_id": "my-research", "limit": 20, "offset": 0 }
{ "notebook_id": "my-research", "limit": 20, "offset": 20 }
すべてを一度に読み込まずに、大量の履歴をページ単位で確認できます。
返される内容:
{
"notebook_url": "https://notebooklm.google.com/notebook/xxx",
"notebook_name": "My Research",
"total_messages": 150,
"returned_messages": 40,
"user_messages": 75,
"assistant_messages": 75,
"offset": 0,
"has_more": true,
"messages": [...]
}
ユースケース:
- 会話の復元 — NotebookLM ブラウザーで直接行った会話(MCP では追跡されません)を復元します
- 調査の監査 — ノートブックで行われたクエリを確認します
- コンテキストの再開 — 前回のセッションの続きから再開します
- クォータの照合 — クォータが合わないように見える理由を把握します
このフォークを選ぶ理由
オリジナルの NotebookLM MCP は生産性向上に優れていますが、MCP サーバーは機密データを扱います:
- Google 認証を含むブラウザーセッション
- ディスクに保存されるCookie とトークン
- 独自情報が含まれる可能性のあるクエリ履歴
このフォークでは、データを保護するために17 層のセキュリティ強化を追加しています。
セキュリティ機能
| 層 | 機能 | 保護内容 |
|---|---|---|
| 🔐 | 耐量子暗号化 | ML-KEM-768 + ChaCha20-Poly1305 のハイブリッド方式(ローカルの保存データ向け) |
| 🔍 | シークレットスキャン | 30 種類以上の認証情報パターンを検出します(AWS、GitHub、Slack など) |
| 🧹 | メモリのスクラブ | 使用後に機密データをゼロ化します |
| 📝 | 監査ログ | ハッシュチェーンによる改ざん検知可能なログ |
| ⏱️ | セッションタイムアウト | 8 時間の絶対上限 + 30 分間操作がない場合の自動ログアウト |
| 🎫 | MCP 認証 | 総当たり攻撃時にロックアウトするトークンベース認証 |
| 🛡️ | 応答の検証 | プロンプトインジェクションの試みを検出します |
| ✅ | 入力の検証 | URL のホワイトリスト登録とサニタイズ |
| 🚦 | レート制限 | セッションごとのリクエスト数を制限します |
| 🙈 | ログのサニタイズ | すべての出力で認証情報をマスキングします |
| 🐍 | MEDUSA との統合 | セキュリティスキャンを自動化します |
| 🖥️ | クロスプラットフォーム | Linux、macOS、Windows をネイティブサポート |
| 🔒 | デフォルトで安全な認証 | 設定なしで認証が有効になり、明示的なオプトアウトが必要です |
| 📈 | 指数バックオフ | ロックアウトの段階的延長:5 分 → 15 分 → 45 分 → 上限 4 時間 |
| 🗝️ | 認証情報の分離 | SecureCredential の TTL + process.env からの環境変数のスクラブ |
耐量子プリミティブ(ローカルの保存データ向け)
ディスク上のシークレットの暗号化には、ハイブリッド耐量子プリミティブを使用します:
ML-KEM-768 (Kyber) + ChaCha20-Poly1305
- ML-KEM-768:NIST 標準化の耐量子鍵カプセル化
- ChaCha20-Poly1305:最新のストリーム暗号(タイミング攻撃の影響を受けません)
適用範囲について: これはローカルの保存データの暗号化です。2 つの鍵はどちらも同じマシン上にあります。PQ 秘密鍵はリモートの受信者が保持するのではなく、マシンにひも付いたシークレットから導出した従来型の鍵でラップされます。 個々の暗号化ファイルがオフラインで盗まれた場合には保護されますが、Harvest-Now-Decrypt-Later 攻撃に対する保護にはなりません(この攻撃への対策には、ラップ解除鍵を保持するリモートの PQ 受信者が必要です)。
クロスプラットフォーム対応
主要なすべてのオペレーティングシステムを完全にネイティブサポートしています。
| プラットフォーム | ファイル権限 | データディレクトリ |
|---|---|---|
| Linux | Unix chmod(0o600/0o700) | ~/.local/share/notebooklm-mcp/ |
| macOS | Unix chmod(0o600/0o700) | ~/Library/Application Support/notebooklm-mcp/ |
| Windows | icacls 経由の ACL(現在のユーザーのみ) | %LOCALAPPDATA%\notebooklm-mcp\ |
機密性の高いすべてのファイル(暗号化キー、認証トークン、監査ログ)は、すべてのプラットフォームで自動的に所有者のみがアクセスできる権限で保護されます。
エンタープライズコンプライアンス対応アーキテクチャ(v1.6.0+)
規制対象業界で求められる基準に沿って構築されています。コードレベルの技術的統制はすべて実装されています。完全なコンプライアンスには、組織的なプロセス統制(ポリシー、トレーニング、ベンダー管理)も必要です。正式な認証(SOC2 Type II レポート、GDPR 登録、CSSF への提出)には、第三者による監査契約が必要です。
| 規制 | 実装済みの統制 |
|---|---|
| GDPR | 同意管理、DSAR 対応、消去権、データポータビリティ |
| SOC2 Type II | ハッシュチェーン監査ログ、インシデント対応、可用性モニタリング |
| CSSF | 7年間の保持、SIEM 統合、ポリシー文書 |
コンプライアンスツール(16 MCP ツール)
compliance_dashboard - Real-time compliance status
compliance_report - Generate audit reports (JSON/CSV/HTML)
compliance_evidence - Collect evidence packages
grant_consent - Record user consent
submit_dsar - Handle data subject requests
request_erasure - Right to be forgotten
export_user_data - Data portability export
create_incident - Security incident management
...and 8 more
詳しいドキュメントについては、COMPLIANCE-SPEC.md をご覧ください。
インストール
インストール直後に API キーなしで使える機能
NotebookLM の主要機能はすべて、ブラウザー認証だけですぐに使えます。
| 機能 | ツール | 説明 |
|---|---|---|
| 🔍 ノートブックへの質問 | ask_question | ドキュメントの内容に基づく回答を取得します |
| 📚 ライブラリの管理 | add_notebook, list_notebooks, etc. | ノートブックコレクションを整理します |
| 🎙️ 音声概要 | generate_audio_overview | ポッドキャスト形式の要約を作成します |
| 🎬 動画概要 | generate_video_overview | 10種類のビジュアルスタイルに対応した AI 動画要約です NEW |
| 📊 データテーブル | generate_data_table, get_data_table | JSON として構造化データを抽出します NEW |
| 📝 ノートブックの作成 | create_notebook | プログラムから新しいノートブックを作成します |
| 🔄 セッション管理 | list_sessions, reset_session | 会話のコンテキストを管理します |
| 📊 チャット履歴 | get_notebook_chat_history | 過去の会話を抽出します |
| ❤️ ヘルスチェック | get_health | 認証状態を確認します |
任意: deep_research、gemini_query、upload_document などの追加機能を利用するには、GEMINI_API_KEY を設定してください。
認証済みの検証を繰り返し実行する方法については、認証済みテスト手順書をご覧ください。
Claude Code
claude mcp add notebooklm -- npx @pan-sec/notebooklm-mcp@latest
認証 + Gemini を利用する場合(推奨)
claude mcp add notebooklm \
--env NLMCP_AUTH_ENABLED=true \
--env NLMCP_AUTH_TOKEN=$(openssl rand -base64 32) \
--env GEMINI_API_KEY=your-gemini-api-key \
-- npx @pan-sec/notebooklm-mcp@latest
Codex
codex mcp add notebooklm -- npx @pan-sec/notebooklm-mcp@latest
Cursor
~/.cursor/mcp.json に追加します:
{
"mcpServers": {
"notebooklm": {
"command": "npx",
"args": ["-y", "@pan-sec/notebooklm-mcp@latest"],
"env": {
"NLMCP_AUTH_ENABLED": "true",
"NLMCP_AUTH_TOKEN": "your-secure-token",
"GEMINI_API_KEY": "your-gemini-api-key"
}
}
}
}
Google Antigravity
~/.gemini/antigravity/mcp_config.json(macOS/Linux)または %USERPROFILE%\.gemini\antigravity\mcp_config.json(Windows)に追加します:
{
"mcpServers": {
"notebooklm": {
"command": "npx",
"args": ["-y", "@pan-sec/notebooklm-mcp@latest"]
}
}
}
省略可能な環境変数を設定する場合:
{
"mcpServers": {
"notebooklm": {
"command": "npx",
"args": ["-y", "@pan-sec/notebooklm-mcp@latest"],
"env": {
"GEMINI_API_KEY": "your-gemini-api-key"
}
}
}
}
注: Antigravity は
${workspaceFolder}変数をサポートしていません。絶対パスを使用してください。
OpenCode
~/.config/opencode/opencode.json(グローバル)またはプロジェクトのルートにある opencode.json に追加します:
{
"$schema": "https://opencode.ai/config.json",
"mcp": {
"notebooklm": {
"type": "local",
"command": ["npx", "-y", "@pan-sec/notebooklm-mcp@latest"],
"enabled": true,
"environment": {
"GEMINI_API_KEY": "your-gemini-api-key"
}
}
}
}
注: OpenCode では
"mcpServers"ではなく"mcp"を使用し、"command"は配列にします。
Windsurf
~/.codeium/windsurf/mcp_config.json に追加します:
{
"mcpServers": {
"notebooklm": {
"command": "npx",
"args": ["-y", "@pan-sec/notebooklm-mcp@latest"],
"env": {
"GEMINI_API_KEY": "your-gemini-api-key"
}
}
}
}
VS Code + Copilot
VS Code の settings.json に追加します:
{
"mcp": {
"servers": {
"notebooklm": {
"command": "npx",
"args": ["-y", "@pan-sec/notebooklm-mcp@latest"],
"env": {
"GEMINI_API_KEY": "your-gemini-api-key"
}
}
}
}
}
その他の MCP クライアント
ほとんどの MCP クライアントでは、次の標準形式を使用します:
{
"mcpServers": {
"notebooklm": {
"command": "npx",
"args": ["-y", "@pan-sec/notebooklm-mcp@latest"],
"env": {
"GEMINI_API_KEY": "your-gemini-api-key"
}
}
}
}
一般的な設定ファイルの場所:
| クライアント | 設定ファイル |
|---|---|
| Claude Desktop | ~/.config/claude/claude_desktop_config.json |
| Cursor | ~/.cursor/mcp.json |
| Antigravity | ~/.gemini/antigravity/mcp_config.json |
| OpenCode | ~/.config/opencode/opencode.json |
| Windsurf | ~/.codeium/windsurf/mcp_config.json |
クイックスタート
1. インストール(上記を参照)
2. 認証
"Log me in to NotebookLM"
Chrome が開いたら、Google にサインインします
3. ノートブックを追加
notebooklm.google.com にアクセス → ノートブックを作成 → ドキュメントをアップロード → リンクを共有
4. 使用する
"Research [topic] using this NotebookLM: [link]"
5. Deep Research を試す(新機能!)
"Use deep research to investigate [complex topic]"
ツールの完全なリファレンス
リサーチツール
| ツール | 説明 | バックエンド |
|---|---|---|
ask_question | NotebookLM のノートブックに質問する | ブラウザー |
deep_research | 引用付きの包括的なリサーチ | Gemini API |
gemini_query | グラウンディングツールを使った高速なクエリ | Gemini API |
get_research_status | バックグラウンドリサーチの進行状況を確認する | Gemini API |
ノートブック管理
| ツール | 説明 |
|---|---|
add_notebook | ライブラリにノートブックを追加する |
list_notebooks | すべてのノートブックを一覧表示する |
get_notebook | ノートブックの詳細を取得する |
update_notebook | ノートブックのメタデータを更新する |
remove_notebook | ライブラリから削除する |
select_notebook | アクティブなノートブックを設定する |
search_notebooks | クエリで検索する |
ソース管理(v1.7.0 以降)
| ツール | 説明 |
|---|---|
manage_sources | ソースを追加/削除/一覧表示する |
generate_audio | Audio Overview を作成する |
sync_notebook | ローカルファイルからソースを同期する |
Studio 機能(v2026.2.0)
| ツール | 説明 |
|---|---|
generate_video_overview | AI ビデオ概要を作成する(ビジュアルスタイル 10 種、形式 2 種) |
get_video_status | ビデオ生成の進行状況を確認する |
generate_data_table | ソースから構造化データテーブルを生成する |
get_data_table | データテーブルを JSON(ヘッダー+行)として抽出する |
セッションとシステム
| ツール | 説明 |
|---|---|
list_sessions | アクティブなセッションを表示する |
close_session | セッションを終了する |
reset_session | セッションのチャットをリセットする |
get_health | サーバーのヘルスチェック(UI 検証用の deep_check を含む) |
get_query_history | 検索/フィルター機能で過去のクエリを確認する |
get_notebook_chat_history | ブラウザーでの会話を抽出する(ページネーション、ファイルへのエクスポート) |
setup_auth | 初回認証 |
re_auth | 再認証 |
cleanup_data | 詳細なクリーンアップユーティリティ |
get_library_stats | ライブラリの統計情報 |
get_quota | 使用制限と残りのクォータを確認する |
コンプライアンス(v1.6.0 以降)
GDPR、SOC2、CSSF の要件に対応する 16 個のコンプライアンスツール。
保護対象
| データ | 保護内容 |
|---|---|
| ブラウザーの Cookie | 保存時にポスト量子暗号化 |
| セッショントークン | 自動期限切れ+メモリのスクラブ |
| クエリ履歴 | 改ざん検知付きで監査ログに記録 |
| Google 接続 | レスポンス検証付き TLS |
| ログ出力 | 認証情報を自動的にマスキング |
| API レスポンス | 秘密情報の漏えいをスキャン |
| Gemini API キー | 安全なメモリ処理 |
設定
すべてのセキュリティ機能はデフォルトで有効です。環境変数で上書きできます。
# Authentication
NLMCP_AUTH_ENABLED=true
NLMCP_AUTH_TOKEN=your-secret-token
# Gemini API (v1.8.0+)
GEMINI_API_KEY=your-api-key
GEMINI_DEFAULT_MODEL=gemini-3-flash-preview # Default (was gemini-2.5-flash)
GEMINI_DEEP_RESEARCH_ENABLED=true
GEMINI_TIMEOUT_MS=30000
NOTEBOOKLM_NO_GEMINI=false # Set to true to disable all Gemini tools
# Tool Profiles
NOTEBOOKLM_PROFILE=standard # minimal (5 tools) | standard (33 tools) | full (all 47)
NOTEBOOKLM_DISABLED_TOOLS= # Comma-separated list of tools to hide
# Encryption
NLMCP_USE_POST_QUANTUM=true
NLMCP_ENCRYPTION_KEY=base64-32-bytes # Optional custom key
# Session Limits
NLMCP_SESSION_MAX_LIFETIME=28800 # 8 hours
NLMCP_SESSION_INACTIVITY=1800 # 30 minutes
# Secrets Scanning
NLMCP_SECRETS_SCANNING=true
NLMCP_SECRETS_BLOCK=false # Block on detection
NLMCP_SECRETS_REDACT=true # Auto-redact
# Audit Logging
NLMCP_AUDIT_ENABLED=true
# Multi-Session Support (v2026.1.2+)
NOTEBOOK_PROFILE_STRATEGY=isolated # isolated|single|auto
NOTEBOOK_CLONE_PROFILE=true # Clone auth from base profile
マルチセッションモード
分離されたブラウザープロファイルを使用して、複数の Claude Code セッションを同時に実行します。
# Add to ~/.bashrc or ~/.zshrc
export NOTEBOOK_PROFILE_STRATEGY=isolated
export NOTEBOOK_CLONE_PROFILE=true
| 変数 | 値 | 説明 |
|---|---|---|
NOTEBOOK_PROFILE_STRATEGY | single、auto、isolated | isolated = セッションごとに個別のプロファイルを使用 |
NOTEBOOK_CLONE_PROFILE | true、false | 認証済みのベースプロファイルを分離されたインスタンスに複製 |
動作の仕組み:
- 各セッションには独自の Chrome プロファイルが割り当てられます(ロックの競合は発生しません)
- 分離されたプロファイルは、認証済みのベースプロファイルから複製されます
- 認証の調整機能により、進行中の認証が完了するまで複製を待機します
設定の完全なリファレンスについては、SECURITY.md を参照してください。
セキュリティスキャン
MEDUSA セキュリティスキャナーを実行します。
npm run security-scan
または、CI/CD に統合します。
- name: Security Scan
run: npx @pan-sec/notebooklm-mcp && npm run security-scan
比較
他の NotebookLM MCP との比較
| 機能 | 他製品 | @pan-sec/notebooklm-mcp |
|---|---|---|
| ハルシネーションのない Q&A | ✅ | ✅ |
| ライブラリ管理 | ✅ | ✅ |
| ノートブックのプログラムによる作成 | ❌ | ✅ 独自機能 |
| 一括作成(ノートブック 10 件) | ❌ | ✅ 独自機能 |
| Gemini Deep Research | ❌ | ✅ 独自機能 |
| ドキュメント API(ブラウザー不要) | ❌ | ✅ 独自機能 |
| 自動チャンク化(1000 ページ以上の PDF) | ❌ | ✅ 独自機能 |
| チャット履歴の抽出 | ❌ | ✅ 新機能 |
| 詳細な健全性検証 | ❌ | ✅ 新機能 |
| クエリ履歴と検索 | ❌ | ✅ |
| クォータ管理 | ❌ | ✅ |
| ソース管理(追加/削除) | ❌ | ✅ |
| 音声概要の生成 | ❌ | ✅ |
| 動画概要の生成(10 種類のスタイル) | ❌ | ✅ 新機能 |
| データテーブルの抽出(JSON) | ❌ | ✅ 新機能 |
| Gemini 3 +思考の制御 | ❌ | ✅ 新機能 |
| 構造化された JSON 出力 | ❌ | ✅ 新機能 |
| ローカルディレクトリからの同期 | ❌ | ✅ |
セキュリティとコンプライアンス(このフォーク独自)
| 機能 | 他製品 | @pan-sec/notebooklm-mcp |
|---|---|---|
| クロスプラットフォーム(Linux/macOS/Windows) | ⚠️ 一部対応 | ✅ 完全対応 |
| ポスト量子暗号化 | ❌ | ✅ ML-KEM-768 + ChaCha20(ローカル保存時) |
| シークレットのスキャン | ❌ | ✅ 30 種類以上のパターン |
| メモリのスクラブ | ❌ | ✅ 解放時にゼロ化 |
| 監査ログ | ❌ | ✅ ハッシュチェーン方式 |
| MCP 認証 | ❌ | ✅ トークン+ロックアウト |
| プロンプトインジェクションの検出 | ❌ | ✅ レスポンス検証 |
| GDPR 準拠 | ❌ | ✅ 制御を実装済み* |
| SOC2 Type II | ❌ | ✅ 制御を実装済み* |
| CSSF(ルクセンブルク) | ❌ | ✅ 制御を実装済み* |
* コンプライアンス対応:コードレベルの技術的制御を実装しています。完全なコンプライアンスには、組織的なプロセス制御と、第三者監査による正式な認証も必要です。
結論:基本的なクエリ以上の機能が必要な場合や、セキュリティを重視する場合、選択肢はこれ一つです。
バージョン履歴
| バージョン | 主な内容 |
|---|---|
| v2026.3.1 | ✅ セキュリティ監査完了 — 334 件すべての問題を解決しました。テスト数は 609→631 件。コード品質とテスト不足の改善フェーズです。 |
| v2026.3.0 | 🔬 セキュリティ監査リリース — 334 件を対象とした独立監査を実施しました。テスト数は 139→609 件(50 ファイル)。MCP プロトコルに完全準拠しました。Webhook の SSRF を修正しました。監査ログのハッシュチェーンを読み取り時に検証します。ページごとのミューテックス。HandlerContext DI。証明書ピンニングを撤回しました。 |
| v2026.2.9 | 🔐 Chrome の起動前に performSetup が認証情報を削除しないようにしました — 認証ループの最後の根本原因を修正 |
| v2026.2.8 | 🛡️ cleanup_data のすべての削除処理で browser_state/ と chrome_profile/ を除外 — クリーンアップ後も認証状態が維持されます |
| v2026.2.7 | 🚫 ヘッドレスでの setup_auth をブロック。auth-now.mjs のスタンドアロンスクリプトで、Chrome プロファイルのロックと通知のない保存失敗に対応 |
| v2026.2.6 | 📁 新しい add_folder ツール — 進捗表示、dry_run、自動分割に対応し、PDF/ファイルをノートブックに一括アップロード |
| v2026.2.5 | 🔧 修正:show_browser が performSetup に正しく渡されるようになり、認証時にブラウザーが確実に開くようになりました |
| v2026.2.4 | 🔑 認証の安定性を向上:状態の有効期間を 7 日間に変更(従来は 24 時間)。検証のたびに touchStateFile がタイマーをリセット。ヘッドレスでの re_auth をブロック |
| v2026.2.3 | 🎬 Studio Panel ツールを復元 — UI 更新後に無効化されていた動画概要の生成とデータテーブルツールを再有効化 |
| v2026.2.1 | 🔧 標準プロファイルを拡張:14 → 33 個のツール — 主要な機能がすべてデフォルトで表示されるようになりました |
| v2026.2.0 | 🚀 Gemini 3 モデル(2.5 は 3 月 31 日に提供終了)、動画概要(10 種類のスタイル)、データテーブル抽出(JSON)、思考レベル制御、構造化 JSON 出力、SDK 1.41 |
| v2026.1.12 | 🔒 セキュリティ強化 — タイミング攻撃の修正、コマンドインジェクションの修正、メモリーリークを 6 件修正、MCP SDK 1.26.0 |
| v2026.1.11 | 🔄 Angular UI 向けのノートブック同期抽出、NOTEBOOKLM_NO_GEMINI 環境変数 |
| v2026.1.10 | 📝 マルチ LLM 互換性向けにツールの説明を明確化(OpenCode の修正) |
| v2026.1.9 | 📄 ドキュメントと UX を改善、npm audit の問題を修正 |
| v2026.1.8 | 📦 主要な依存関係を更新(zod 4.x、dotenv 17.x、post-quantum 0.5.4) |
| v2026.1.7 | 🎨 MCP プロトコル UX — ツールアイコン、タイトル、動作アノテーション |
| v2026.1.4 | 🛡️ 多層防御のパス検証、セキュリティ強化 |
| v2026.1.2 | 🔗 複数セッションでの認証調整 — 同時セッション向けロックシステム |
| v2026.1.1 | 🔍 詳細なヘルスチェック — NotebookLM のチャット UI が実際に読み込まれることを確認 |
| v2026.1.0 | 📊 コンテキスト管理機能付きのチャット履歴抽出、CalVer によるバージョン管理 |
| v1.10.8 | クエリ履歴の記録、クォータの追跡 |
| v1.10.0 | 大容量 PDF(1000 ページ以上)の自動チャンク分割 |
| v1.9.0 | ドキュメント API:Gemini Files API 経由でのアップロード、クエリ、削除 |
| v1.8.0 | Gemini Deep Research、Grounding を使ったクエリ、バックグラウンドタスク |
| v1.7.0 | ノートブックのプログラムによる作成、一括操作、音声生成 |
| v1.6.0 | エンタープライズコンプライアンス:GDPR、SOC2 Type II、CSSF |
| v1.5.0 | クロスプラットフォーム対応(Windows ACL、macOS、Linux) |
| v1.4.0 | 耐量子暗号、シークレットのスキャン |
脆弱性の報告
セキュリティ上の問題を見つけましたか?公開の GitHub issue は作成しないでください。
クレジット
- オリジナルの MCP サーバー:Gérôme Dexheimer — notebooklm-mcp
- セキュリティ強化:Pantheon Security
- 耐量子暗号:@noble/post-quantum
- Gemini API:Google AI
ライセンス
MIT — オリジナルと同じです。
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。