mcpField
Y
YouTube MCP Server

YouTube MCP Server

ローカル
github.com/ZubeidHendricksメディア・デザイン59212 週間前に更新

YouTube MCP Server について

YouTube MCP Server は YouTube Data API 向けの MCP サーバーで、LLM から動画、チャンネル、プレイリスト、字幕を照会できるようにします。AI を使って YouTube コンテンツを分析したい方やクリエイターの発掘を行う方に適しています。複数の API キーを設定でき、クォータを使い切った場合は次のキーで再試行します。

主な機能

  1. 01動画とチャンネルの詳細の取得
  2. 02チャンネル規模で絞り込む動画検索
  3. 03動画字幕の取得
  4. 04プレイリストとその項目の取得

活用シーン

  1. 01トピックで動画を検索し、チャンネルで絞り込み
  2. 02コンテンツ分析のための動画字幕の取得
  3. 03登録者数の範囲に合うクリエイターチャンネルの発掘

MCP 対応

MCP サーバーであり、動画、チャンネル、字幕、プレイリストの照会用に 10 個のツールを MCP クライアントに公開します。

設定

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

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

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

パッケージ
npm@modelcontextprotocol/server-youtube

ツール

ツール一覧はまだ取得されていません

ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。

詳細

YouTube MCP Server

npm version npm downloads npm total downloads

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

ウェブサイト: zubeidhendricks.github.io/youtube-mcp-server

利用可能なツール

現在、このサーバーは 10 個の MCP ツールを公開しています。

ツール説明必須パラメーター任意パラメーター
videos_getVideoYouTube 動画の詳細情報を取得しますvideoIdparts
videos_searchVideosYouTube で動画を検索しますquerymaxResults, order, publishedAfter, publishedBefore, channelId, uniqueChannels, channelMinSubscribers, channelMaxSubscribers, channelLastUploadAfter, channelLastUploadBefore, creatorOnly, sortBy
transcripts_getTranscriptYouTube 動画の文字起こしを取得しますvideoIdlanguage
channels_getChannelYouTube チャンネルの情報を取得しますchannelIdNone
channels_getChannels複数の YouTube チャンネルの情報を取得しますchannelIdsparts, includeLatestUpload
channels_searchChannelsハンドル名、名前、またはクエリで YouTube チャンネルを検索しますquerymaxResults, order, channelType, minSubscribers, maxSubscribers, lastUploadAfter, lastUploadBefore, creatorOnly, sortBy
channels_findCreatorsチャンネル規模とアクティビティのフィルターを使用し、動画内の言及からクリエイターチャンネルを見つけますquerymaxResults, order, videoPublishedAfter, videoPublishedBefore, channelMinSubscribers, channelMaxSubscribers, channelLastUploadAfter, channelLastUploadBefore, creatorOnly, sortBy, sampleVideosPerChannel
channels_listVideos特定のチャンネルの動画を取得しますchannelIdmaxResults
playlists_getPlaylistYouTube プレイリストの情報を取得しますplaylistIdNone
playlists_getPlaylistItemsYouTube プレイリスト内の動画を取得しますplaylistIdmaxResults
ツールのパラメーター
videos_getVideo
  • videoId (string):YouTube 動画の ID です。
  • parts (string[], optional):取得する特定の動画リソースの部分です。
videos_searchVideos
  • query (string):検索クエリです。
  • maxResults (number, optional):返す結果の最大数です。
  • order (string, optional):relevance や date などの結果の並べ替え順です。
  • publishedAfter (string, optional):この ISO 8601 日付より後に公開された動画のみを含めます。
  • publishedBefore (string, optional):この ISO 8601 日付より前に公開された動画のみを含めます。
  • channelId (string, optional):結果を特定のチャンネルに限定します。
  • uniqueChannels (boolean, optional):チャンネルごとに動画を 1 つだけ返します。
  • channelMinSubscribers / channelMaxSubscribers (number, optional):該当する動画を、そのチャンネルの登録者数の範囲で絞り込みます。
  • channelLastUploadAfter / channelLastUploadBefore (string, optional):該当する動画を、そのチャンネルの最新アップロード時期で絞り込みます。
  • creatorOnly (boolean, optional):クリエイターと推定されるチャンネルに結果を限定します。
  • sortBy (string, optional):relevance、subscribers_asc、subscribers_desc、indie_priority、recent_activity に対応しています。
transcripts_getTranscript
  • videoId (string):YouTube 動画の ID です。
  • language (string, optional):文字起こしの言語コードです。YOUTUBE_TRANSCRIPT_LANG または en にフォールバックします。
channels_getChannel
  • channelId (string):YouTube チャンネル ID です。

レスポンスには以下が含まれるようになりました:

  • latestVideoPublishedAt
  • normalizedMetadata
    • country、defaultLanguage、joinedAt、customUrl、emailsFound、contactLinks、およびクリエイターかブランドかを判定するヒューリスティック項目が含まれます。
channels_getChannels
  • channelIds (string[]):YouTube チャンネル ID のリストです。
  • includeLatestUpload (boolean, optional):latestVideoPublishedAt を含めるかどうかを指定します。デフォルトは true です。
channels_searchChannels
  • query (string):チャンネルの検索クエリまたはハンドルです。
  • maxResults (number, optional):返すチャンネルの最大数です。
  • order (string, optional):relevance などの検索結果の並び順です。
  • channelType (string, optional):検索対象をチャンネルの種類で絞り込みます。
  • minSubscribers / maxSubscribers (number, optional):チャンネルを登録者数の範囲で絞り込みます。
  • lastUploadAfter / lastUploadBefore (string, optional):チャンネルの最新動画の投稿時期で絞り込みます。
  • creatorOnly (boolean, optional):ヒューリスティックによりクリエイターと分類されたチャンネルに結果を限定します。
  • sortBy (string, optional):relevance、subscribers_asc、subscribers_desc、indie_priority、recent_activity を指定できます。
channels_findCreators
  • query (string):一致する動画からチャンネルを見つけるためのトピック、ゲーム、または言及に関するクエリです。
  • videoPublishedAfter / videoPublishedBefore (string, optional):一致する動画の新しさを絞り込むフィルターです。
  • channelMinSubscribers / channelMaxSubscribers (number, optional):返されるチャンネルの登録者数の範囲を絞り込むフィルターです。
  • channelLastUploadAfter / channelLastUploadBefore (string, optional):返されるチャンネルの最新動画の投稿時期を絞り込むフィルターです。
  • creatorOnly (boolean, optional):ヒューリスティックによりクリエイターと分類されたチャンネルに結果を限定します。
  • sortBy (string, optional):relevance、subscribers_asc、subscribers_desc、indie_priority、recent_activity を指定できます。
  • sampleVideosPerChannel (number, optional):返される各チャンネルについて含める、一致した動画の数です。
channels_listVideos
  • channelId (string):YouTube チャンネル ID です。
  • maxResults (number, optional):返す動画の最大数です。
playlists_getPlaylist
  • playlistId (string):YouTube プレイリスト ID です。
playlists_getPlaylistItems
  • playlistId (string):YouTube プレイリスト ID です。
  • maxResults (number, optional):返すプレイリスト項目の最大数です。

インストール

Claude Desktop のクイックセットアップ
  1. パッケージをインストールします:
npm install -g zubeid-youtube-mcp-server
  1. Claude Desktop の設定(macOS の場合は ~/Library/Application Support/Claude/claude_desktop_config.json、Windows の場合は %APPDATA%\Claude\claude_desktop_config.json)に追加します:
{
  "mcpServers": {
    "zubeid-youtube-mcp-server": {
      "command": "zubeid-youtube-mcp-server",
      "env": {
        "YOUTUBE_API_KEY": "your_primary_youtube_api_key",
        "YOUTUBE_API_KEY2": "your_secondary_youtube_api_key",
        "YOUTUBE_API_KEY3": "your_tertiary_youtube_api_key"
      }
    }
  }
}
別の方法:NPX を使用(インストール不要)

以下を Claude Desktop の設定に追加します:

{
  "mcpServers": {
    "youtube": {
      "command": "npx",
      "args": ["-y", "zubeid-youtube-mcp-server"],
      "env": {
        "YOUTUBE_API_KEY": "your_primary_youtube_api_key",
        "YOUTUBE_API_KEY2": "your_secondary_youtube_api_key",
        "YOUTUBE_API_KEY3": "your_tertiary_youtube_api_key"
      }
    }
  }
}
Smithery 経由でインストール

Smithery 経由で YouTube MCP Server を Claude Desktop に自動インストールするには:

npx -y @smithery/cli install @ZubeidHendricks/youtube --client claude

設定

以下の環境変数を設定します:

  • YOUTUBE_API_KEY:YouTube Data API のプライマリ API キー
  • YOUTUBE_API_KEY2:フォールバック用のセカンダリ API キー
  • YOUTUBE_API_KEY3:3 番目のフォールバック API キー
  • YOUTUBE_TRANSCRIPT_LANG:字幕のデフォルト言語(省略可。デフォルトは 'en')

YOUTUBE_API_KEY、YOUTUBE_API_KEY2、YOUTUBE_API_KEY3 のうち、少なくとも 1 つを設定する必要があります。キーの割り当て済みクォータを使い切ったためにリクエストが失敗すると、サーバーは次に設定されているキーを使って同じリクエストを再試行します。

VS Code での使用

ワンクリックでインストールするには、以下のインストールボタンのいずれかをクリックしてください。

Install with NPX in VS Code Install with NPX in VS Code Insiders

手動インストール

手動でインストールする場合は、まずこのセクションの上部にあるインストールボタンを確認してください。それ以外の場合は、次の手順に従ってください。

以下の JSON ブロックを VS Code のユーザー設定(JSON)ファイルに追加します。Ctrl + Shift + P を押して Preferences: Open User Settings (JSON) と入力すると追加できます。

{
  "mcp": {
    "inputs": [
      {
        "type": "promptString",
        "id": "apiKey",
        "description": "YouTube API Key",
        "password": true
      }
    ],
    "servers": {
      "youtube": {
        "command": "npx",
        "args": ["-y", "zubeid-youtube-mcp-server"],
        "env": {
          "YOUTUBE_API_KEY": "${input:apiKey}"
        }
      }
    }
  }
}

必要に応じて、ワークスペース内の .vscode/mcp.json というファイルに追加することもできます。

{
  "inputs": [
    {
      "type": "promptString",
      "id": "apiKey",
      "description": "YouTube API Key",
      "password": true
    }
  ],
  "servers": {
    "youtube": {
      "command": "npx",
      "args": ["-y", "zubeid-youtube-mcp-server"],
      "env": {
        "YOUTUBE_API_KEY": "${input:apiKey}"
      }
    }
  }
}

開発

# Install dependencies
npm install

# Build
npm run build

# Start the server (requires at least one configured YouTube API key)
npm start

# Development mode with auto-rebuild
npm run dev

Docker

同梱の Docker イメージは、デフォルトでサーバーを HTTP 経由で起動します。

  • デフォルトのトランスポート:http
  • デフォルトのエンドポイント:http://localhost:8088/mcp
  • 準備状態のエンドポイント:http://localhost:8088/ready
  • デフォルトのモード:ステートレス

Docker のビルドでは .env が実行時イメージにコピーされ、サーバーは起動時に自動で読み込みます。そのため、.env が docker build の実行時に存在していれば、docker run の実行時に API 認証情報を渡さなくてもコンテナを起動できます。

docker build -t youtube-mcp-server .
docker run --rm -p 8088:8088 youtube-mcp-server

コンテナのデフォルト設定は次のとおりです。

MCP_TRANSPORT=http
MCP_HOST=0.0.0.0
MCP_PORT=8088
MCP_STATELESS=true

コントリビューション

このリポジトリへのコントリビューションについては、CONTRIBUTING.md を参照してください。

ライセンス

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

コメント

MCP は初めてですか?

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

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