/ ディレクトリ / プレイグラウンド / NotebookLM-py
● コミュニティ teng-lin ⚡ 即起動

NotebookLM-py

作者 teng-lin · teng-lin/notebooklm-py

ClaudeからGoogle NotebookLMを操作 — ノートブックを作成し、ソースを取り込み、音声概要を生成。WebブラウザのUIが隠している機能も含む。

notebooklm-pyはNotebookLMの非公式Python API + Claudeのskillです。ノートブックのCRUD、ソースの取り込み(PDF、URL、YouTube)、音声概要/マインドマップ/FAQ機能を公開します。CLIとエージェントskillが含まれており、「これらのPDFをノートブックに読み込んで音声概要を作成して」と言うだけで、notebooklm.google.comを開かずに実行できます。

なぜ使うのか

主な機能

ライブデモ

実際の動作

準備完了

インストール

クライアントを選択

~/Library/Application Support/Claude/claude_desktop_config.json  · Windows: %APPDATA%\Claude\claude_desktop_config.json
{
  "mcpServers": {
    "notebooklm-py-skill": {
      "command": "git",
      "args": [
        "clone",
        "https://github.com/teng-lin/notebooklm-py",
        "~/.claude/skills/notebooklm-py"
      ],
      "_inferred": true
    }
  }
}

Claude Desktop → Settings → Developer → Edit Config を開く。保存後、アプリを再起動。

~/.cursor/mcp.json · .cursor/mcp.json
{
  "mcpServers": {
    "notebooklm-py-skill": {
      "command": "git",
      "args": [
        "clone",
        "https://github.com/teng-lin/notebooklm-py",
        "~/.claude/skills/notebooklm-py"
      ],
      "_inferred": true
    }
  }
}

Cursor は Claude Desktop と同じ mcpServers スキーマを使用。プロジェクト設定はグローバルより優先。

VS Code → Cline → MCP Servers → Edit
{
  "mcpServers": {
    "notebooklm-py-skill": {
      "command": "git",
      "args": [
        "clone",
        "https://github.com/teng-lin/notebooklm-py",
        "~/.claude/skills/notebooklm-py"
      ],
      "_inferred": true
    }
  }
}

Cline サイドバーの MCP Servers アイコンをクリックし、"Edit Configuration" を選択。

~/.codeium/windsurf/mcp_config.json
{
  "mcpServers": {
    "notebooklm-py-skill": {
      "command": "git",
      "args": [
        "clone",
        "https://github.com/teng-lin/notebooklm-py",
        "~/.claude/skills/notebooklm-py"
      ],
      "_inferred": true
    }
  }
}

Claude Desktop と同じ形式。Windsurf を再起動して反映。

~/.continue/config.json
{
  "mcpServers": [
    {
      "name": "notebooklm-py-skill",
      "command": "git",
      "args": [
        "clone",
        "https://github.com/teng-lin/notebooklm-py",
        "~/.claude/skills/notebooklm-py"
      ]
    }
  ]
}

Continue はマップではなくサーバーオブジェクトの配列を使用。

~/.config/zed/settings.json
{
  "context_servers": {
    "notebooklm-py-skill": {
      "command": {
        "path": "git",
        "args": [
          "clone",
          "https://github.com/teng-lin/notebooklm-py",
          "~/.claude/skills/notebooklm-py"
        ]
      }
    }
  }
}

context_servers に追加。保存時に Zed がホットリロード。

claude mcp add notebooklm-py-skill -- git clone https://github.com/teng-lin/notebooklm-py ~/.claude/skills/notebooklm-py

ワンライナー。claude mcp list で確認、claude mcp remove で削除。

ユースケース

実用的な使い方: NotebookLM-py

論文バッチからリサーチダイジェストを構築する

👤 研究者 / アナリスト ⏱ ~20 min beginner

使うタイミング: 受信トレイに10本の論文が届いた;素早く合成が欲しい。

前提条件
  • NotebookLMアクセスを持つGoogleアカウント — PythonのOAuthフローで一度サインイン
フロー
  1. 取り込み
    Use notebooklm-py. Create a notebook 'Q2 Reading'. Add the 10 PDFs in /papers/.✓ コピーしました
    → ノートブックが作成;ソースが読み込まれる
  2. 合成
    Generate a topic-clustered summary across all sources.✓ コピーしました
    → クロスソース合成
  3. 音声
    Generate an audio overview. Save the MP3.✓ コピーしました
    → MP3ファイル

結果: 10本の論文が、20分で読めるものか散歩中に聴けるものに凝縮される。

注意点
  • ソースの品質がばらつく — 合成でソースごとの帰属を求める
組み合わせ: filesystem

製品ドキュメントからFAQを自動生成する

👤 プロダクト / DevRel ⏱ ~25 min beginner

使うタイミング: ドキュメントがあり、ユーザー向けのFAQが必要な場合。

フロー
  1. 読み込み
    Create a notebook from /docs (recursive). Generate FAQ.✓ コピーしました
    → FAQ出力
  2. 改善
    Drop FAQ items that aren't actually frequently asked. Add citations to source sections.✓ コピーしました
    → 引用付き、関連性フィルタリング済みのFAQ

結果: 公開できる状態のFAQ。

注意点
  • 汎用的な質問になる — 実際のユーザーからの質問の例があれば提供する

組み合わせ

他のMCPと組み合わせて10倍の力を

notebooklm-py-skill + filesystem

音声概要 + サマリーをローカルに保存

Save MP3 to /research/audio/.✓ コピーしました
notebooklm-py-skill + aris-research-skill

ARISで自律的なリサーチ、NotebookLMで合成

ARIS finds papers; NotebookLM digests them into an audio overview.✓ コピーしました

ツール

このMCPが提供する機能

ツール入力呼び出すタイミングコスト
create_notebook title 新プロジェクト 1 NotebookLM操作
add_source notebook_id, source: pdf|url|youtube ソースセットを構築するとき 1操作 + 取り込み時間
generate_audio notebook_id, style? 音声概要 1操作 + レンダリング
generate_mind_map notebook_id ソース構造を可視化するとき 1操作
ask notebook_id, question ソースに基づくQ&A 1操作

コストと制限

運用コスト

APIクォータ
NotebookLMのプラン制限に依存
呼び出しあたりのトークン
tokenは最小限 — コストの大半はNotebookLM API
金額
NotebookLMの無料プランで無料;高い制限には有料
ヒント
ノートブックを再利用する;作成して捨てることを繰り返さない

セキュリティ

権限、シークレット、影響範囲

最小スコープ: NotebookLM用のGoogle認証
認証情報の保管: ローカルOAuthトークンキャッシュ
データ送信先: Google NotebookLM
絶対に付与しない: 不要なOAuthスコープ

トラブルシューティング

よくあるエラーと対処法

OAuthフローが止まる

ローカルのトークンキャッシュをクリアして再認証

大きなPDFのソース取り込みが失敗する

小さなチャンクに分割する;NotebookLMにはソースごとのサイズ制限がある

音声生成が永遠にキューに残る

NotebookLMの音声キューは遅いことがある;後でリトライ

代替案

NotebookLM-py 他との比較

代替案代わりに使う場面トレードオフ
NotebookLMのWeb UI手動で一度だけ使う場合自動化なし;プログラム的な機能を見逃す
カスタムRAGパイプラインモデルへの完全な制御が必要な場合大量のエンジニアリング vs 無料のNotebookLM機能

その他

リソース

📖 GitHub の公式 README を読む

🐙 オープンな issue を見る

🔍 400以上のMCPサーバーとSkillsを見る