mcpField
Y
Youtube MCP Server

Youtube MCP Server

ローカル
github.com/space-cadetメディア・デザイン165 週間前に更新

Youtube MCP Server について

Youtube MCP Serverは、MCPクライアントからYouTube Data APIの動画、チャンネル、プレイリスト、トレンドを扱うサーバーです。字幕がある動画の取得にも対応し、利用にはAPIキー、非公開プレイリストにはOAuth認証が必要です。

主な機能

  1. 01動画検索とメタデータ取得
  2. 02多言語字幕の取得
  3. 03チャンネルとエンゲージメント分析
  4. 04プレイリストの取得と検索
  5. 05地域別トレンドの確認

活用シーン

  1. 01動画を探して詳細を調べる
  2. 02字幕付き動画の内容を分析する
  3. 03チャンネル指標や人気動画を確認する
  4. 04動画の実績やトレンドを比較する

MCP 対応

YouTubeの検索、動画、字幕、チャンネル、プレイリスト、トレンド機能をMCPクライアント向けのツールとして提供します。公開コンテンツにはYouTube APIキー、非公開プレイリストにはOAuth認証が必要です。

設定

ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。

mcp.json · 共通設定
{
"mcpServers": {
"yt": {
"command": "npx",
"args": [
"-y",
"yt-mcp"
],
"env": {
"YOUTUBE_API_KEY": "<YOUTUBE_API_KEY>",
"YOUTUBE_TRANSCRIPT_LANG": "<YOUTUBE_TRANSCRIPT_LANG>"
}
}
}
}
起動コマンドnpx -y yt-mcp
設定が必要な環境変数
YOUTUBE_API_KEYシークレット
YOUTUBE_TRANSCRIPT_LANG

ローカルサーバーにはマシン上の実行環境(Node.js 18 以上など)が必要です。設定ファイルの場所はクライアントごとに異なります。

パッケージ
npmyt-mcp

ツール

16

掲載時のツール一覧 · 2 週間前に更新

このツールにパラメーターはありません。

詳細

YouTube MCP サーバー

npm version

最終更新日:2025-07-05

YouTube Data API を利用した Model Context Protocol(MCP)サーバーの実装です。標準化されたインターフェースを通じて、AI 言語モデルが YouTube のコンテンツとやり取りできるようにします。

✅ YouTube の文字起こしに対応:このサーバーには、Python パッケージ youtube-transcript-api を使用した文字起こし/字幕機能がすべて含まれています。Python の依存関係をインストールし、必要に応じて Python のパスを設定するだけで、字幕を利用できる動画の文字起こしをシームレスに取得できます。

目次

主な機能

動画情報
  • 動画の詳細情報(タイトル、説明、再生時間、統計情報)を取得
  • キーワードで動画を検索
  • 特定の動画に基づいて関連動画を取得
  • 動画のエンゲージメント率を計算・分析
✅ 文字起こし/字幕の管理(完全に動作)
  • 強力な Python パッケージ youtube-transcript-api を使用して動画の文字起こしを取得
  • 言語の自動検出とフォールバック機能による多言語対応
  • コンテンツの参照や分析に役立つタイムスタンプ付き字幕
  • 簡単にセットアップできます。Python の依存関係をインストールし、必要に応じて Python のパスを設定するだけです
  • 字幕/文字起こしを利用できる動画であれば、安定して動作
チャンネル分析
  • チャンネルの詳細な統計情報(登録者数、再生回数、動画数)を表示
  • チャンネルの人気動画を取得
  • チャンネルの成長とエンゲージメント指標を分析
再生リストの管理
  • 再生リストの詳細情報を取得
  • 再生リスト内のすべての動画を取得
  • キーワードで公開再生リストを検索
  • 特定のチャンネルの公開再生リストをすべて取得
トレンド分析
  • 地域やカテゴリ別のトレンド動画を表示
  • 複数の動画のパフォーマンス指標を比較
  • 特定のカテゴリで人気のコンテンツを見つける

OAuth 認証(非公開の再生リスト)

注:OAuth が必要なのは、非公開の YouTube 再生リストにアクセスする場合のみです。公開コンテンツには認証なしでアクセスできます。

認証手順
  1. OAuth が設定されていることを確認します(上記の前提条件のセクションを参照)

  2. Google で認証します:

    npx を使用する場合:

    npx yt-mcp-auth auth
    

    ローカル開発の場合:

    npm run auth
    
  3. 「Google hasn’t verified this app」という警告に対処します:

    • 「Advanced」をクリックします
    • 「Go to [your app name] (unsafe)」をクリックします
    • OAuth アプリを自分で作成しているため、安全です
  4. OAuth フローを完了します:

    • 要求された権限を許可します
    • 認証が完了すると、成功メッセージが表示されます
  5. 認証を確認します:

    npx を使用する場合:

    npx yt-mcp-auth status
    

    ローカル開発の場合:

    npm run auth:status
    
認証の管理

ステータスを確認:

# npx users
npx yt-mcp-auth status

# Local development  
npm run auth:status

認証を取り消す:

# npx users
npx yt-mcp-auth revoke

# Local development
npm run auth:revoke

認証が完了すると、getMyPlaylists ツールを使用して非公開の再生リストにアクセスできます。

利用可能なツール

サーバーは以下の MCP ツールを提供します。

ツール名説明必須パラメーター
getVideoDetails複数の YouTube 動画について、メタデータ、統計情報、コンテンツの詳細などの詳しい情報を取得しますvideoIds(配列)
searchVideosクエリ文字列に基づいて動画を検索しますquery、maxResults(任意)
getTranscripts複数の動画の文字起こしを取得しますvideoIds(配列)、lang(任意)
getRelatedVideosYouTube のおすすめアルゴリズムに基づいて、特定の動画に関連する動画を取得しますvideoId、maxResults(任意)
getChannelStatistics複数のチャンネルについて、登録者数、再生回数、動画数などの詳細な指標を取得しますchannelIds(配列)
getChannelTopVideos特定のチャンネルで最も再生された動画を取得しますchannelId、maxResults(任意)
getVideoEngagementRatio複数の動画のエンゲージメント指標(再生回数、いいね数、コメント数、エンゲージメント率)を計算しますvideoIds(配列)
getTrendingVideos地域とカテゴリに基づいて、現在人気の動画を取得しますregionCode(任意)、categoryId(任意)、maxResults(任意)
compareVideos複数の動画の統計情報を比較しますvideoIds(配列)
getPlaylistDetails特定の YouTube プレイリストに関する詳しい情報を取得しますplaylistId
getPlaylistVideos特定のプレイリストに含まれるすべての動画を取得しますplaylistId、maxResults(任意)
searchPublicPlaylistsクエリ文字列に基づいて公開プレイリストを検索しますquery、maxResults(任意)、channelId(任意)
getChannelPlaylists特定のチャンネルの公開プレイリストをすべて取得しますchannelId、maxResults(任意)
getMyPlaylists自分のプレイリスト(非公開のものを含む)を取得しますmaxResults(任意)
checkOAuthStatusOAuth 認証が有効かどうかを確認しますなし

クイックスタート

オプション 1:npx を使う(推奨)

インストールは不要です!Claude Desktop でそのまま使用できます。

{
  "mcpServers": {
    "youtube": {
      "command": "npx",
      "args": ["-y", "yt-mcp"],
      "env": {
        "YOUTUBE_API_KEY": "YOUR_API_KEY_HERE",
        "YOUTUBE_TRANSCRIPT_LANG": "en"
      }
    }
  }
}
オプション 2:ローカル開発
git clone https://github.com/space-cadet/yt-mcp.git
cd yt-mcp
npm install
npm run build

前提条件

1. 🐍 Python のセットアップ(文字起こし機能に必須)

✅ YouTube の文字起こし機能は完全にサポートされ、正常に動作します!

文字起こし機能では、youtube-transcript-api Python パッケージを使用して、字幕が利用可能なあらゆる動画の文字起こしを確実に取得します。

📋 セットアップ手順:

  1. Python をインストールします(まだインストールされていない場合):

    • Python 3.7 以降が必要です
    • python.org からダウンロードするか、システムのパッケージマネージャーを使用します
    • インストールを確認します:python --version または python3 --version
  2. Python の文字起こしパッケージをインストールします:

    pip install youtube-transcript-api
    

    または、pip3 を使用する場合:

    pip3 install youtube-transcript-api
    
  3. 必要に応じて Python のパスを設定します:

    • ほとんどのユーザーはこの手順を行う必要はありません。サーバーが自動的に python3 を見つけます
    • conda、仮想環境、またはカスタムの Python インストールを使用している場合にのみ必要です
    • 環境変数に PYTHON_PATH を設定し、Python の実行ファイルを指定します
    • 例:
      • /Users/username/miniconda3/bin/python
      • /opt/homebrew/bin/python3
      • C:\Python39\python.exe(Windows)

🎯 これで完了です! Python とパッケージをインストールすれば、字幕が利用可能なあらゆる動画で文字起こし機能をすぐに使用できます。

2. YouTube Data API のセットアップ

Google Cloud Console の手順:

  1. プロジェクトを作成/選択する:

    • Google Cloud Console に移動します
    • 「Select a project」→「New Project」をクリックします
    • プロジェクト名を入力します(例:「YouTube MCP Server」)
    • 「Create」をクリックします
  2. YouTube Data API v3 を有効にする:

    • サイドバーで「APIs & Services」→「Library」に移動します
    • 「YouTube Data API v3」を検索します
    • クリックして「Enable」を押します
  3. API キーを作成する:

    • 「APIs & Services」→「Credentials」に移動します
    • 「Create Credentials」→「API Key」をクリックします
    • 生成された API キーをコピーします
    • (任意)「Restrict Key」をクリックして、YouTube Data API v3 のみに制限します
3. OAuth のセットアップ(非公開プレイリスト用 — 任意)

非公開プレイリストにアクセスする場合のみ必要です:

  1. OAuth 2.0 認証情報を作成する:
    • 「APIs & Services」→「Credentials」に移動します
    • 「Create Credentials」→「OAuth 2.0 Client ID」をクリックします
    • メッセージが表示された場合は、先に OAuth 同意画面を設定します:
      • ユーザータイプとして「External」を選択します
      • アプリ名、ユーザーサポートのメールアドレス、開発者の連絡先を入力します
      • テストユーザーに自分のメールアドレスを追加します
    • アプリケーションの種類として「Web application」を選択します
    • 承認済みのリダイレクト URI として http://localhost:3000/oauth2callback を追加します
    • Client ID と Client Secret をコピーします

環境設定

npx ユーザーの場合

環境変数を Claude Desktop の MCP 設定に直接追加します:

基本設定(公開コンテンツ+トランスクリプト):

{
  "mcpServers": {
    "youtube": {
      "command": "npx",
      "args": ["-y", "yt-mcp"],
      "env": {
        "YOUTUBE_API_KEY": "YOUR_API_KEY_HERE",
        "YOUTUBE_TRANSCRIPT_LANG": "en"
      }
    }
  }
}

注:この設定には、トランスクリプトの全機能が含まれています。Python と youtube-transcript-api がインストールされていることを確認してください。

カスタム Python パスを指定する設定(conda/仮想環境の場合):

{
  "mcpServers": {
    "youtube": {
      "command": "npx",
      "args": ["-y", "yt-mcp"],
      "env": {
        "YOUTUBE_API_KEY": "YOUR_API_KEY_HERE",
        "YOUTUBE_TRANSCRIPT_LANG": "en",
        "PYTHON_PATH": "/path/to/your/python"
      }
    }
  }
}

注:ほとんどのユーザーは PYTHON_PATH を設定する必要はありません。conda、仮想環境、またはカスタムの Python インストールを使用している場合にのみ設定してください。

完全な設定(OAuth とカスタム Python パスを使用):

{
  "mcpServers": {
    "youtube": {
      "command": "npx",
      "args": ["-y", "yt-mcp"],
      "env": {
        "YOUTUBE_API_KEY": "YOUR_API_KEY_HERE",
        "YOUTUBE_TRANSCRIPT_LANG": "en",
        "PYTHON_PATH": "/path/to/your/python",
        "GOOGLE_OAUTH_CLIENT_ID": "YOUR_OAUTH_CLIENT_ID",
        "GOOGLE_OAUTH_CLIENT_SECRET": "YOUR_OAUTH_CLIENT_SECRET",
        "OAUTH_REDIRECT_URI": "http://localhost:3000/oauth2callback"
      }
    }
  }
}
ローカル開発の場合

プロジェクトのルートに .env ファイルを作成します:

# Required
YOUTUBE_API_KEY=your_youtube_api_key_here

# Optional
YOUTUBE_TRANSCRIPT_LANG=en
PYTHON_PATH=/path/to/your/python

# OAuth (for private playlists)
GOOGLE_OAUTH_CLIENT_ID=your_oauth_client_id
GOOGLE_OAUTH_CLIENT_SECRET=your_oauth_client_secret
OAUTH_REDIRECT_URI=http://localhost:3000/oauth2callback

ローカル開発用 MCP 設定:

{
  "mcpServers": {
    "youtube": {
      "command": "node",
      "args": ["/path/to/yt-mcp/dist/index.js"]
    }
  }
}

トラブルシューティング

よくある問題

「Error: YOUTUBE_API_KEY environment variable is not set」

  • MCP の設定に YouTube API キーを追加したことを確認してください
  • API キーが有効で、YouTube Data API v3 が有効になっていることを確認してください

OAuth の認証中に「Google hasn't verified this app」という警告が表示される

  • 個人用の OAuth アプリでは想定される動作です
  • 「Advanced」→「Go to [app name] (unsafe)」をクリックして続行してください
  • OAuth 認証情報はご自身で作成したものなので、安全です

「OAuth authentication required」エラー

  • 認証コマンドを実行してください:npx yt-mcp-auth auth(ローカル環境の場合は npm run auth)
  • OAuth 認証情報が環境で正しく設定されていることを確認してください

認証の取り消し中に「invalid_token」エラーが発生する

  • トークンの有効期限がすでに切れている場合に発生することがあります
  • コマンドは引き続きローカルの認証状態をクリーンアップします
  • このエラーの後でも、安全に再認証できます

🐍 トランスクリプト機能のトラブルシューティング

✅ 朗報です:トランスクリプト機能は問題なく動作し、十分にテストされています!ほとんどの問題は、簡単なセットアップ上の不備です。

  • 「ModuleNotFoundError: No module named 'youtube_transcript_api'」:

    • 解決策:Python パッケージをインストールしてください:pip install youtube-transcript-api
    • conda/仮想環境を使用している場合は、その環境にパッケージがインストールされていることを確認してください
    • 次のコマンドで確認してください:python -c "import youtube_transcript_api; print('Package installed successfully!')"
  • 「Failed to start Python process」または Python が見つからない場合:

    • 解決策:PYTHON_PATH 環境変数に Python 実行ファイルのパスを設定してください
    • Python のパスを確認してください:which python3(macOS/Linux)または where python(Windows)
    • MCP の設定に追加してください:"PYTHON_PATH": "/path/to/your/python"
    • 例:
      • "/usr/bin/python3"(システムの Python)
      • "/Users/username/miniconda3/bin/python"(conda)
      • "C:\\Python39\\python.exe"(Windows)
  • トランスクリプトの結果が空の場合:

    • これは正常です! トランスクリプトを利用できない動画もあります
    • 通常字幕が付いている、人気の動画(TED のトークや教育コンテンツなど)を試してください
    • 正常に動作することがわかっている動画でテストしてください
    • 字幕のない動画では、トランスクリプト API は空の結果を返します
  • トランスクリプトの言語に関する問題:

    • 希望する言語を YOUTUBE_TRANSCRIPT_LANG に設定してください(例:「en」、「es」、「fr」)
    • 希望する言語を利用できない場合、API は利用可能な言語に自動的にフォールバックします

MCP サーバーが応答しない

  • Node.js のバージョンが 18.0.0 以降であることを確認してください
  • YouTube API キーが有効であることを確認してください
  • ローカル開発の場合は、npm run build を実行したことを確認してください
ヘルプの利用

問題が発生した場合:

  1. 上記のトラブルシューティングのセクションを確認してください
  2. API キーと OAuth の設定を確認してください
  3. GitHub で Issue を作成してください

開発

ローカル開発のセットアップ
# Clone and setup
git clone https://github.com/space-cadet/yt-mcp.git
cd yt-mcp
npm install

# Create .env file with your credentials
cp .env.example .env
# Edit .env with your API keys

# Development commands
npm run dev      # Run in development mode with auto-reload
npm run build    # Build TypeScript to JavaScript  
npm run start    # Run built version
npm test         # Run tests
npm run lint     # Lint code
プロジェクト構成
src/
├── index.ts              # Main MCP server
├── auth-cli.ts           # OAuth authentication CLI
├── functions/
│   ├── videos.ts         # Video-related API functions
│   └── playlists.ts      # Playlist-related API functions
└── utils/
    ├── oauth.ts          # OAuth token management
    ├── oauth-routes.ts   # OAuth callback server
    └── cli-auth.ts       # CLI authentication flow

システム要件

  • Node.js 18.0.0 以降
  • YouTube API にアクセスするためのインターネット接続
  • OAuth コールバック用に利用可能なポート 3000(OAuth 使用時)

セキュリティに関する考慮事項

  • API キーや OAuth シークレットをバージョン管理にコミットしないでください
  • 機密情報を含む設定には、すべて環境変数を使用してください
  • 不正使用を防ぐため、Google Cloud API キーに使用量の割り当てを設定してください
  • OAuth トークンはローカルの tokens.json に保存されます。このファイルは安全に保管してください
  • 不要になった OAuth アクセスは取り消すことを検討してください

クレジット

このプロジェクトは、icraft2170 による youtube-data-mcp-server のフォークです。この YouTube MCP サーバー実装の基盤を作成した原作者に、心より感謝します。

ライセンス

このプロジェクトは MIT ライセンスの下でライセンスされています。詳細については LICENSE ファイルを参照してください。

コメント

MCP は初めてですか?

プロトコルの概要から最初のサーバーの導入まで、よくある疑問にまとめて答えます。

AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。