mcpField
N
notebooklm

notebooklm

github.com/mathews-tom生産性33795 回インストール4 日前に更新
リポジトリ

notebooklm について

notebooklm は、Google NotebookLM をコマンドラインから操作する自動化スキルです。ノートブックやソースをプログラムから管理したい利用者向けに、ソースの取り込み、質問、各種成果物の生成・ダウンロードを扱います。

主な機能

  1. 01ノートブックの作成とソース管理
  2. 02ソース内容への質問と参照表示
  3. 03ポッドキャスト、動画、レポートなどの生成
  4. 04生成結果を複数形式でダウンロード
  5. 05自動化向け JSON 出力

活用シーン

  1. 01ウェブページや文書から調査用ノートブックを作成
  2. 02選択したソースへの質問と引用確認
  3. 03調査資料からポッドキャストやレポートを作成
  4. 04ソースの一括登録と成果物の書き出し

MCP 対応

入力には MCP 連携や MCP サーバー機能の説明がありません。

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/mathews-tom/armory --skill notebooklm

インストール後、Claude Code で/notebooklmを入力して読み込まれたか確認します。

同梱ファイルevals/cases.yaml

詳細

NotebookLM の自動化

Google NotebookLM にプログラムから完全にアクセスできます。ウェブ UI では利用できない機能も含まれます。ノートブックの作成、ソース(URL、YouTube、PDF、音声、動画、画像)の追加、コンテンツとのチャット、あらゆる種類のアーティファクトの生成、複数の形式での結果のダウンロードが可能です。

前提条件

インストール
uv tool install notebooklm-py
認証(初回のみ)
notebooklm login          # Opens browser for Google OAuth
notebooklm list           # Verify authentication works

認証エラーでコマンドが失敗する場合は、notebooklm login を再実行してください。

セットアップの確認
notebooklm --version
notebooklm status         # Shows "Authenticated as: email@..."
notebooklm list --json    # Should return valid JSON
CI/CD と並列エージェント
変数目的
NOTEBOOKLM_HOMEカスタム設定ディレクトリ(デフォルト:~/.notebooklm)
NOTEBOOKLM_AUTH_JSONインライン認証 JSON — ファイルへの書き込みは不要

並列エージェント: CLI はノートブックのコンテキストを ~/.notebooklm/context.json に保存します。notebooklm use を使用する複数のエージェントを同時に実行すると、互いのコンテキストが上書きされます。代わりに -n <notebook_id> または --notebook <notebook_id> フラグを明示的に使用するか、エージェントごとに固有の NOTEBOOKLM_HOME を設定してください。

クイックリファレンス

タスクコマンド
認証するnotebooklm login
認証を診断するnotebooklm auth check --test
ノートブックを一覧表示するnotebooklm list
ノートブックを作成するnotebooklm create "Title"
コンテキストを設定するnotebooklm use <notebook_id>
コンテキストを表示するnotebooklm status
URL ソースを追加するnotebooklm source add "https://..."
ファイルを追加するnotebooklm source add ./file.pdf
YouTube を追加するnotebooklm source add "https://youtube.com/..."
ソースを一覧表示するnotebooklm source list
ソースを待機するnotebooklm source wait <source_id>
ウェブ調査(高速)notebooklm source add-research "query"
ウェブ調査(詳細)notebooklm source add-research "query" --mode deep --no-wait
調査状況を確認するnotebooklm research status
調査の完了を待つnotebooklm research wait --import-all
チャットnotebooklm ask "question"
チャット(新しい会話)notebooklm ask "question" --new
チャット(特定のソース)notebooklm ask "question" -s src_id1 -s src_id2
チャット(参照付き)notebooklm ask "question" --json
ソースの全文を取得するnotebooklm source fulltext <source_id>
ソースガイドを取得するnotebooklm source guide <source_id>
ポッドキャストを生成するnotebooklm generate audio "instructions"
動画を生成するnotebooklm generate video "instructions"
クイズを生成するnotebooklm generate quiz
インフォグラフィックを生成するnotebooklm generate infographic
スライドデッキを生成するnotebooklm generate slide-deck
レポートを生成するnotebooklm generate report
マインドマップを生成するnotebooklm generate mind-map
データテーブルを生成するnotebooklm generate data-table "description"
フラッシュカードを生成するnotebooklm generate flashcards
アーティファクトの状態を確認するnotebooklm artifact list
完了を待つnotebooklm artifact wait <artifact_id>
音声をダウンロードするnotebooklm download audio ./output.mp3
動画をダウンロードするnotebooklm download video ./output.mp4
レポートをダウンロードするnotebooklm download report ./report.md
マインドマップをダウンロードするnotebooklm download mind-map ./map.json
データテーブルをダウンロードするnotebooklm download data-table ./data.csv
クイズをダウンロードするnotebooklm download quiz quiz.json
クイズをダウンロードする(Markdown)notebooklm download quiz --format markdown quiz.md
フラッシュカードをダウンロードするnotebooklm download flashcards cards.json
インフォグラフィックをダウンロードするnotebooklm download infographic ./infographic.png
スライドデッキをダウンロードするnotebooklm download slide-deck ./slides.pdf
言語を一覧表示するnotebooklm language list
言語を設定するnotebooklm language set zh_Hans
部分 ID: UUID の先頭 6 文字以上を使用します。一意のプレフィックスである必要があります。自動化では完全な UUID を使用することを推奨します。

自律実行ルール

確認なしで実行:

  • status、auth check、list、source list、artifact list、language list/get/set
  • use <id>、create、ask "..."、source add
  • source wait、artifact wait、research wait/status(サブエージェントのコンテキスト内)

実行前に確認:

  • delete — 破壊的な操作です
  • generate * — 長時間かかり、レート制限により失敗する可能性があります
  • download * — ファイルシステムに書き込みます
  • artifact wait、source wait、research wait — 長時間かかります(メインの会話内)

生成タイプ

すべての生成コマンドで、次のオプションを使用できます。

  • -s, --source ですべてのソースではなく、特定のソースを使用します
  • --language で出力言語を上書きします
  • --json で機械可読な出力を指定します(task_id と status を返します)
  • --retry N で指数バックオフによる自動再試行を指定します
タイプコマンド主なオプションダウンロード形式
ポッドキャストgenerate audio--format [deep-dive|brief|critique|debate]、--length [short|default|long].mp3
動画generate video--format [explainer|brief]、--style [auto|classic|whiteboard|kawaii|anime|watercolor|retro-print|heritage|paper-craft].mp4
スライド資料generate slide-deck--format [detailed|presenter]、--length [default|short].pdf
インフォグラフィックgenerate infographic--orientation [landscape|portrait|square]、--detail [concise|standard|detailed].png
レポートgenerate report--format [briefing-doc|study-guide|blog-post|custom].md
マインドマップgenerate mind-map(同期、即時).json
データテーブルgenerate data-table説明が必要です.csv
クイズgenerate quiz--difficulty [easy|medium|hard]、--quantity [fewer|standard|more].json/.md/.html
フラッシュカードgenerate flashcards--difficulty [easy|medium|hard]、--quantity [fewer|standard|more].json/.md/.html

Web UI 以外の機能

機能コマンド説明
一括ダウンロードdownload <type> --all指定したタイプのすべての成果物を一度にダウンロードします
クイズ/フラッシュカードのエクスポートdownload quiz --format jsonJSON、Markdown、HTML 形式でエクスポートします
マインドマップの抽出download mind-map視覚化ツール向けの階層型 JSON です
データテーブルのエクスポートdownload data-table構造化されたテーブルを CSV 形式で出力します
ソース全文source fulltext <id>任意のソースのインデックス済みテキストコンテンツを取得します
プログラムによる共有share コマンドUI を使わずに共有権限を管理します

JSON 出力形式

機械可読な出力には --json を使用します。

ノートブックを作成する:

{ "id": "abc123de-...", "title": "Research" }

ソースを追加する:

{ "source_id": "def456...", "title": "Example", "status": "processing" }

アーティファクトを生成する:

{ "task_id": "xyz789...", "status": "pending" }

参照情報を使ってチャットする:

{
  "answer": "X is... [1] [2]",
  "conversation_id": "...",
  "references": [
    {
      "source_id": "abc123...",
      "citation_number": 1,
      "cited_text": "Relevant passage..."
    }
  ]
}

ソース一覧:

{
  "sources": [
    { "id": "...", "title": "...", "status": "ready|processing|error" }
  ]
}

アーティファクト一覧:

{
  "artifacts": [
    {
      "id": "...",
      "title": "...",
      "type": "Audio Overview",
      "status": "in_progress|pending|completed|unknown"
    }
  ]
}

一般的なワークフロー

リサーチからポッドキャストを作成する
  1. notebooklm create "Research: [topic]" --json — ノートブック ID を取得します
  2. ソースごとに notebooklm source add "https://..." --json を実行します — ソース ID を取得します
  3. notebooklm source list --json を実行します — すべてのステータスが ready になるまで待ちます
  4. notebooklm generate audio "Focus on [angle]" --json を実行します — アーティファクト ID を取得します
  5. notebooklm artifact wait <artifact_id> を実行します — 完了するまで処理をブロックします
  6. notebooklm download audio ./podcast.mp3
ドキュメントを分析する
  1. notebooklm create "Analysis: [project]"
  2. notebooklm source add ./doc.pdf
  3. notebooklm ask "Summarize the key points"
  4. 必要に応じてチャットを続けます
一括インポート
  1. notebooklm create "Collection: [name]"
  2. ソースを追加します(ノートブックあたり最大 50 件):
    notebooklm source add "https://url1.com" --json
    notebooklm source add "https://url2.com" --json
    notebooklm source add ./local-file.pdf --json
    
  3. notebooklm source list --json を実行して確認します

対応ソース形式: PDF、YouTube URL、ウェブ URL、Google Docs、テキストファイル、Markdown、Word ドキュメント、オーディオファイル、動画ファイル、画像。

ウェブの詳細なリサーチ
  1. notebooklm create "Research: [topic]"
  2. 詳細なリサーチを開始します:notebooklm source add-research "topic" --mode deep --no-wait
  3. 完了まで待ちます:notebooklm research wait --import-all --timeout 300
  4. リサーチが完了すると、ソースが自動的にインポートされます

モード: --mode fast(5~10 件のソース、数秒)と --mode deep(20 件以上、2~5 分)。 検索対象: --from web(デフォルト)または --from drive(Google Drive)。

長時間処理向けのサブエージェントパターン

ブロックせずに生成するには、バックグラウンドエージェントを起動します。

  1. notebooklm generate audio "..." --json を実行します — artifact_id を解析します
  2. 待機とダウンロードを行う Task エージェントを起動します:
    Wait for artifact {artifact_id} in notebook {notebook_id} to complete.
    Use: notebooklm artifact wait {artifact_id} -n {notebook_id} --timeout 600
    Then: notebooklm download audio ./podcast.mp3 -a {artifact_id} -n {notebook_id}
    
  3. エージェントが待機している間、メインの会話を続けられます

処理時間

操作目安の時間推奨タイムアウト
ソースの処理30s - 10 min600s
リサーチ(fast)30s - 2 min180s
リサーチ(deep)15 - 30+ min1800s
マインドマップ即時(同期)n/a
メモ即時n/a
クイズ、フラッシュカード5 - 15 min900s
レポート、データテーブル5 - 15 min900s
オーディオ生成10 - 20 min1200s
動画生成15 - 45 min2700s

エラー処理

エラー原因対処
認証/Cookie エラーセッションの期限切れnotebooklm auth check の後に notebooklm login を実行
"No notebook context"コンテキストが未設定-n <id> フラグまたは notebooklm use <id> を使用
"No result found for RPC ID"レート制限5~10 分待ってから再試行します
GENERATION_FAILEDGoogle のレート制限待ってから再試行します
ダウンロードに失敗する生成が未完了artifact list でステータスを確認します
無効なノートブック/ソース IDID が間違っているnotebooklm list を実行して確認します
RPC プロトコルエラーGoogle が API を変更CLI の更新が必要な場合があります(uv tool upgrade notebooklm-py)

終了コード: 0 = 成功、1 = エラー、2 = タイムアウト(wait コマンドのみ)。

安定して動作する操作: ノートブック、ソース、チャット、マインドマップ、レポート、データテーブル。 レート制限に達する場合がある操作: オーディオ、動画、クイズ、フラッシュカード、インフォグラフィック、スライドデッキ。

言語設定

言語は、すべてのノートブックに影響するグローバル設定です。

notebooklm language list              # 80+ supported languages
notebooklm language get               # Current setting
notebooklm language set ja            # Set globally
notebooklm generate audio --language ja  # Override per command

主なコード:en、zh_Hans、zh_Hant、ja、ko、es、fr、de、pt_BR。

制限事項

  • 非公式 API:notebooklm-py を使ってブラウザーを自動操作します。Google が NotebookLM の内部仕様を変更すると、動作しなくなる可能性があります。Google とは提携していません。
  • ノートブックあたり 50 件のソース:NotebookLM による上限です。
  • レート制限:生成エンドポイントは Google によってレート制限されています。待つ以外に回避方法はありません。
  • 認証の有効期限切れ:Google OAuth セッションには有効期限があります。認証に失敗した場合は、notebooklm login を再実行してください。
  • ストリーミング非対応:チャットの応答はストリーミングではなく、すべてまとめて返されます。
  • 単一エージェントのコンテキスト:notebooklm use は共有ファイルに書き込みます。並列ワークフローでは -n フラグを使用してください。

コメント