Youtube MCP Server について
Youtube MCP Serverは、MCPクライアントからYouTube Data APIの動画、チャンネル、プレイリスト、トレンドを扱うサーバーです。字幕がある動画の取得にも対応し、利用にはAPIキー、非公開プレイリストにはOAuth認証が必要です。
主な機能
- 01動画検索とメタデータ取得
- 02多言語字幕の取得
- 03チャンネルとエンゲージメント分析
- 04プレイリストの取得と検索
- 05地域別トレンドの確認
活用シーン
- 01動画を探して詳細を調べる
- 02字幕付き動画の内容を分析する
- 03チャンネル指標や人気動画を確認する
- 04動画の実績やトレンドを比較する
MCP 対応
YouTubeの検索、動画、字幕、チャンネル、プレイリスト、トレンド機能をMCPクライアント向けのツールとして提供します。公開コンテンツにはYouTube APIキー、非公開プレイリストにはOAuth認証が必要です。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
ツール
16掲載時のツール一覧 · 2 週間前に更新
このツールにパラメーターはありません。
詳細
YouTube MCP サーバー
最終更新日:2025-07-05
YouTube Data API を利用した Model Context Protocol(MCP)サーバーの実装です。標準化されたインターフェースを通じて、AI 言語モデルが YouTube のコンテンツとやり取りできるようにします。
✅ YouTube の文字起こしに対応:このサーバーには、Python パッケージ youtube-transcript-api を使用した文字起こし/字幕機能がすべて含まれています。Python の依存関係をインストールし、必要に応じて Python のパスを設定するだけで、字幕を利用できる動画の文字起こしをシームレスに取得できます。
目次
- 主な機能
- OAuth 認証(非公開の再生リスト)
- 利用可能なツール
- クイックスタート
- 前提条件
- 環境設定
- トラブルシューティング
- 開発
- システム要件
- セキュリティに関する考慮事項
- クレジット
- ライセンス
主な機能
動画情報
- 動画の詳細情報(タイトル、説明、再生時間、統計情報)を取得
- キーワードで動画を検索
- 特定の動画に基づいて関連動画を取得
- 動画のエンゲージメント率を計算・分析
✅ 文字起こし/字幕の管理(完全に動作)
- 強力な Python パッケージ
youtube-transcript-apiを使用して動画の文字起こしを取得 - 言語の自動検出とフォールバック機能による多言語対応
- コンテンツの参照や分析に役立つタイムスタンプ付き字幕
- 簡単にセットアップできます。Python の依存関係をインストールし、必要に応じて Python のパスを設定するだけです
- 字幕/文字起こしを利用できる動画であれば、安定して動作
チャンネル分析
- チャンネルの詳細な統計情報(登録者数、再生回数、動画数)を表示
- チャンネルの人気動画を取得
- チャンネルの成長とエンゲージメント指標を分析
再生リストの管理
- 再生リストの詳細情報を取得
- 再生リスト内のすべての動画を取得
- キーワードで公開再生リストを検索
- 特定のチャンネルの公開再生リストをすべて取得
トレンド分析
- 地域やカテゴリ別のトレンド動画を表示
- 複数の動画のパフォーマンス指標を比較
- 特定のカテゴリで人気のコンテンツを見つける
OAuth 認証(非公開の再生リスト)
注:OAuth が必要なのは、非公開の YouTube 再生リストにアクセスする場合のみです。公開コンテンツには認証なしでアクセスできます。
認証手順
-
OAuth が設定されていることを確認します(上記の前提条件のセクションを参照)
-
Google で認証します:
npx を使用する場合:
npx yt-mcp-auth authローカル開発の場合:
npm run auth -
「Google hasn’t verified this app」という警告に対処します:
- 「Advanced」をクリックします
- 「Go to [your app name] (unsafe)」をクリックします
- OAuth アプリを自分で作成しているため、安全です
-
OAuth フローを完了します:
- 要求された権限を許可します
- 認証が完了すると、成功メッセージが表示されます
-
認証を確認します:
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(任意) |
getRelatedVideos | YouTube のおすすめアルゴリズムに基づいて、特定の動画に関連する動画を取得します | 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(任意) |
checkOAuthStatus | OAuth 認証が有効かどうかを確認します | なし |
クイックスタート
オプション 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 パッケージを使用して、字幕が利用可能なあらゆる動画の文字起こしを確実に取得します。
📋 セットアップ手順:
-
Python をインストールします(まだインストールされていない場合):
- Python 3.7 以降が必要です
- python.org からダウンロードするか、システムのパッケージマネージャーを使用します
- インストールを確認します:
python --versionまたはpython3 --version
-
Python の文字起こしパッケージをインストールします:
pip install youtube-transcript-apiまたは、pip3 を使用する場合:
pip3 install youtube-transcript-api -
必要に応じて Python のパスを設定します:
- ほとんどのユーザーはこの手順を行う必要はありません。サーバーが自動的に
python3を見つけます - conda、仮想環境、またはカスタムの Python インストールを使用している場合にのみ必要です
- 環境変数に
PYTHON_PATHを設定し、Python の実行ファイルを指定します - 例:
/Users/username/miniconda3/bin/python/opt/homebrew/bin/python3C:\Python39\python.exe(Windows)
- ほとんどのユーザーはこの手順を行う必要はありません。サーバーが自動的に
🎯 これで完了です! Python とパッケージをインストールすれば、字幕が利用可能なあらゆる動画で文字起こし機能をすぐに使用できます。
2. YouTube Data API のセットアップ
Google Cloud Console の手順:
-
プロジェクトを作成/選択する:
- Google Cloud Console に移動します
- 「Select a project」→「New Project」をクリックします
- プロジェクト名を入力します(例:「YouTube MCP Server」)
- 「Create」をクリックします
-
YouTube Data API v3 を有効にする:
- サイドバーで「APIs & Services」→「Library」に移動します
- 「YouTube Data API v3」を検索します
- クリックして「Enable」を押します
-
API キーを作成する:
- 「APIs & Services」→「Credentials」に移動します
- 「Create Credentials」→「API Key」をクリックします
- 生成された API キーをコピーします
- (任意)「Restrict Key」をクリックして、YouTube Data API v3 のみに制限します
3. OAuth のセットアップ(非公開プレイリスト用 — 任意)
非公開プレイリストにアクセスする場合のみ必要です:
- 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!')"
- 解決策:Python パッケージをインストールしてください:
-
「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を実行したことを確認してください
ヘルプの利用
問題が発生した場合:
- 上記のトラブルシューティングのセクションを確認してください
- API キーと OAuth の設定を確認してください
- 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 ファイルを参照してください。
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。