YouTube MCP Server について
YouTube MCP Server は YouTube Data API 向けの MCP サーバーで、LLM から動画、チャンネル、プレイリスト、字幕を照会できるようにします。AI を使って YouTube コンテンツを分析したい方やクリエイターの発掘を行う方に適しています。複数の API キーを設定でき、クォータを使い切った場合は次のキーで再試行します。
主な機能
- 01動画とチャンネルの詳細の取得
- 02チャンネル規模で絞り込む動画検索
- 03動画字幕の取得
- 04プレイリストとその項目の取得
活用シーン
- 01トピックで動画を検索し、チャンネルで絞り込み
- 02コンテンツ分析のための動画字幕の取得
- 03登録者数の範囲に合うクリエイターチャンネルの発掘
MCP 対応
MCP サーバーであり、動画、チャンネル、字幕、プレイリストの照会用に 10 個のツールを MCP クライアントに公開します。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
YouTube MCP Server
YouTube 用の Model Context Protocol(MCP)サーバー実装です。標準化されたインターフェースを通じて、AI 言語モデルが YouTube のコンテンツとやり取りできるようにします。
ウェブサイト: zubeidhendricks.github.io/youtube-mcp-server
利用可能なツール
現在、このサーバーは 10 個の MCP ツールを公開しています。
| ツール | 説明 | 必須パラメーター | 任意パラメーター |
|---|---|---|---|
videos_getVideo | YouTube 動画の詳細情報を取得します | videoId | parts |
videos_searchVideos | YouTube で動画を検索します | query | maxResults, order, publishedAfter, publishedBefore, channelId, uniqueChannels, channelMinSubscribers, channelMaxSubscribers, channelLastUploadAfter, channelLastUploadBefore, creatorOnly, sortBy |
transcripts_getTranscript | YouTube 動画の文字起こしを取得します | videoId | language |
channels_getChannel | YouTube チャンネルの情報を取得します | channelId | None |
channels_getChannels | 複数の YouTube チャンネルの情報を取得します | channelIds | parts, includeLatestUpload |
channels_searchChannels | ハンドル名、名前、またはクエリで YouTube チャンネルを検索します | query | maxResults, order, channelType, minSubscribers, maxSubscribers, lastUploadAfter, lastUploadBefore, creatorOnly, sortBy |
channels_findCreators | チャンネル規模とアクティビティのフィルターを使用し、動画内の言及からクリエイターチャンネルを見つけます | query | maxResults, order, videoPublishedAfter, videoPublishedBefore, channelMinSubscribers, channelMaxSubscribers, channelLastUploadAfter, channelLastUploadBefore, creatorOnly, sortBy, sampleVideosPerChannel |
channels_listVideos | 特定のチャンネルの動画を取得します | channelId | maxResults |
playlists_getPlaylist | YouTube プレイリストの情報を取得します | playlistId | None |
playlists_getPlaylistItems | YouTube プレイリスト内の動画を取得します | playlistId | maxResults |
ツールのパラメーター
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 です。
レスポンスには以下が含まれるようになりました:
latestVideoPublishedAtnormalizedMetadatacountry、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 のクイックセットアップ
- パッケージをインストールします:
npm install -g zubeid-youtube-mcp-server
- 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 での使用
ワンクリックでインストールするには、以下のインストールボタンのいずれかをクリックしてください。
手動インストール
手動でインストールする場合は、まずこのセクションの上部にあるインストールボタンを確認してください。それ以外の場合は、次の手順に従ってください。
以下の 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 ファイルを参照してください。
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。