概要
YouTube MCPサーバは、Model Context Protocol (MCP) を通じて、AIアシスタントがYouTube動画の字幕・トランスクリプトを取得するための機能を提供するサーバである。
YouTube動画のURLを指定するだけで、AIアシスタントが動画の内容を分析・要約できるようになる。
YouTube Data APIキーは不要で、手軽に導入可能である。
Claude Desktop、Claude Code、VS Code等の主要なMCPクライアントに対応し、Windows、MacOS、Linuxの主要なOSで動作する。
代表的な実装として以下の2つが存在する。
| 実装名 | 説明 |
|---|---|
| mcp-youtube (@anaisbetts/mcp-youtube) |
Ani Betts氏が開発した実装であり、yt-dlpを使用して字幕を取得する。 単純な構成で導入が容易であり、YouTube Data APIキーは不要である。 |
| mcp-server-youtube-transcript (@kimtaeyoon83/mcp-server-youtube-transcript) |
Kim Taeyoon氏が開発した実装であり、 多言語対応、広告フィルタリング、タイムスタンプ制御等の高度な機能を提供する。 外部ツールへの依存がなく、Node.jsのみで動作する。 |
主な活用シーンを以下に示す。
- 動画コンテンツの要約と分析
- 技術動画から情報抽出
- ポッドキャスト形式コンテンツの分析
- 言語学習における多言語字幕の取得
2つのサーバの比較
下表に、mcp-youtubeとmcp-server-youtube-transcriptの主要な違いを示す。
| 項目 | mcp-youtube | mcp-server-youtube-transcript |
|---|---|---|
| 開発元 | Ani Betts | Kim Taeyoon |
| npmパッケージ | @anaisbetts/mcp-youtube | @kimtaeyoon83/mcp-server-youtube-transcript |
| バージョン | 0.7.4 | 0.1.1 (npm) |
| ライセンス | MIT | MIT |
| GitHub スター数 | 538 | 582 |
| 外部依存 | yt-dlp 必須 | なし |
| 多言語対応 | 対応 (en優先、フォールバック) | 対応 (自動フォールバック) |
| 広告フィルタリング | なし | 対応 (デフォルト有効) |
| タイムスタンプ制御 | タイムスタンプ除去 | 表示 / 非表示を選択可能 |
| YouTube Shorts対応 | 対応 (yt-dlp依存) | 対応 |
| YouTube API キー | 不要 | 不要 |
バージョンの0.1.1 (npm)は、npmで公開されているパッケージのバージョンを示す。GitHub上の開発状況とは別に確認する必要がある。
動作要件
mcp-youtubeの要件
- Node.js
- MCPサーバの実行環境として必要
- yt-dlp
- 字幕取得のために必要な外部ツール
- MacOS:
brew install yt-dlp - Python環境:
pip install yt-dlp - Windows (WinGet):
winget install yt-dlp
mcp-server-youtube-transcriptの要件
- Node.js 18以上
- MCPサーバの実行環境として必要
- 外部ツールへの依存はなし
インストール
yt-dlpのインストール (mcp-youtubeを使用する場合)
mcp-youtubeはyt-dlpに依存するため、事前にインストールが必要である。
MacOSの場合
Homebrewを使用する場合は、以下に示すコマンドを実行する。
brew install yt-dlp
Linux / MacOSの場合 (pip経由)
pipを使用する場合は、以下に示すコマンドを実行する。
pip install yt-dlp
Windowsの場合
WinGetを使用する場合は、以下に示すコマンドを実行する。
winget install yt-dlp
インストール後、yt-dlpコマンドがPATHに含まれていることを確認する。
yt-dlp --version
MCPクライアントの設定
設定ファイルの場所
各MCPクライアントの設定ファイルの場所は、以下の通りである。
Claude Desktopの設定ファイルを以下に示す。
- Linux
- ~/.config/Claude/claude_desktop_config.json
- MacOS
- ~/Library/Application Support/Claude/claude_desktop_config.json
- Windows
- %APPDATA%\Claude\claude_desktop_config.json
Claude Codeの設定ファイルを以下に示す。
- local スコープ (デフォルト)
- ~/.claude.json 内の現在プロジェクト用エントリに保存される。
- project スコープ
- プロジェクトルートの .mcp.json に保存される。
- チーム共有用。
- user スコープ
- ~/.claude.json (ホームディレクトリ) に保存される。
- 全プロジェクトで利用可能。
mcp-youtubeの設定
Claude Desktopでの設定
claude_desktop_config.json ファイルに以下に示す内容を設定する。
{
"mcpServers": {
"youtube": {
"command": "npx",
"args": ["-y", "@anaisbetts/mcp-youtube"]
}
}
}
設定ファイルを保存した後、Claude Desktopを再起動して設定を反映する。
Claude Codeでの設定
Claude Codeでは、claude mcp add コマンドを使用してMCPサーバを追加できる。
claude mcp add youtube -- npx -y @anaisbetts/mcp-youtube
project スコープを明示する場合は、--scope (短縮形 -s) オプションを使用する。
claude mcp add --scope project youtube -- npx -y @anaisbetts/mcp-youtube
VS Codeでの設定
VS Code 1.99以降では、GitHub Copilot Chat がMCPをネイティブサポートしている。
.vscode/mcp.json ファイルに以下に示す内容を設定する。
VS Codeは servers キーを使用し、Claude DesktopやCursorの mcpServers とは異なる点に注意する。
{
"servers": {
"youtube": {
"type": "stdio",
"command": "npx",
"args": ["-y", "@anaisbetts/mcp-youtube"]
}
}
}
Cursorでの設定
~/.cursor/mcp.json (グローバル) または .cursor/mcp.json (プロジェクト) ファイルに以下に示す内容を設定する。
Cursorは Claude Desktop と同じ mcpServers キーを使用する。
{
"mcpServers": {
"youtube": {
"command": "npx",
"args": ["-y", "@anaisbetts/mcp-youtube"]
}
}
}
Windowsでの設定
Windows環境で npx の起動に失敗する場合、cmd /c ラッパーを使用することで動作する場合がある。
公式ドキュメントでは必須とされていないが、環境依存の回避策として使用できる。
{
"mcpServers": {
"youtube": {
"command": "cmd",
"args": ["/c", "npx", "-y", "@anaisbetts/mcp-youtube"]
}
}
}
mcp-server-youtube-transcriptの設定
Claude Desktopでの設定
claude_desktop_config.json ファイルに以下に示す内容を設定する。
{
"mcpServers": {
"youtube-transcript": {
"command": "npx",
"args": ["-y", "@kimtaeyoon83/mcp-server-youtube-transcript"]
}
}
}
設定ファイルを保存した後、Claude Desktopを再起動して設定を反映する。
Claude Codeでの設定
claude mcp add youtube-transcript -- npx -y @kimtaeyoon83/mcp-server-youtube-transcript
project スコープを明示する場合は、--scope (短縮形 -s) オプションを使用する。
claude mcp add --scope project youtube-transcript -- npx -y @kimtaeyoon83/mcp-server-youtube-transcript
VS Codeでの設定
VS Code 1.99以降では、GitHub Copilot ChatがMCPをネイティブサポートしている。
.vscode/mcp.json ファイルに以下に示す内容を設定する。
VS Codeは servers キーを使用して、Claude DesktopやCursorの mcpServers とは異なることに注意する。
{
"servers": {
"youtube-transcript": {
"type": "stdio",
"command": "npx",
"args": ["-y", "@kimtaeyoon83/mcp-server-youtube-transcript"]
}
}
}
Cursorでの設定
~/.cursor/mcp.json (グローバル) または .cursor/mcp.json (プロジェクト) ファイルに以下に示す内容を設定する。
Cursorは Claude Desktop と同じ mcpServers キーを使用する。
{
"mcpServers": {
"youtube-transcript": {
"command": "npx",
"args": ["-y", "@kimtaeyoon83/mcp-server-youtube-transcript"]
}
}
}
Windowsでの設定
Windows環境でnpxの起動に失敗する場合、cmd /c ラッパーを使用することで動作する場合がある。
公式ドキュメントでは必須とされていないが、環境依存の回避策として使用できる。
{
"mcpServers": {
"youtube-transcript": {
"command": "cmd",
"args": ["/c", "npx", "-y", "@kimtaeyoon83/mcp-server-youtube-transcript"]
}
}
}
OpenCodeでの設定
OpenCodeでは、opencode.json / opencode.jsonc ファイル または opencode mcp add コマンドでMCPサーバを追加できる。
設定ファイルの場所
OpenCodeの設定ファイルは、グローバルスコープまたはプロジェクトスコープに配置する。
- グローバルスコープ
- ~/.config/opencode/opencode.json
- プロジェクトスコープ
- <プロジェクトルート>/opencode.json または .opencode/opencode.json
mcp-youtubeの設定例
opencode.json / opencode.jsonc ファイルに以下に示す内容を設定する。
{
"$schema": "https://opencode.ai/config.json",
"mcp": {
"youtube": {
"type": "local",
"command": ["npx", "-y", "@anaisbetts/mcp-youtube"]
}
}
}
コマンドで追加する場合は、以下に示すコマンドを実行する。
opencode mcp add youtube -- npx -y @anaisbetts/mcp-youtube
mcp-server-youtube-transcriptの設定例
opencode.json に以下に示す内容を設定する。
{
"$schema": "https://opencode.ai/config.json",
"mcp": {
"youtube-transcript": {
"type": "local",
"command": ["npx", "-y", "@kimtaeyoon83/mcp-server-youtube-transcript"]
}
}
}
コマンドで追加する場合は、以下に示すコマンドを実行する。
opencode mcp add youtube-transcript -- npx -y @kimtaeyoon83/mcp-server-youtube-transcript
analyze_video を使用する場合は、環境変数を指定する。
{
"$schema": "https://opencode.ai/config.json",
"mcp": {
"youtube-transcript": {
"type": "local",
"command": ["npx", "-y", "@kimtaeyoon83/mcp-server-youtube-transcript"],
"environment": {
"TWELVELABS_API_KEY": "{env:TWELVELABS_API_KEY}"
}
}
}
}
設定の確認
登録済みのMCPサーバは、以下に示すコマンドで確認できる。
opencode mcp list opencode mcp debug youtube opencode mcp debug youtube-transcript
opencode mcp ls コマンドも一覧表示の別名として使用できる。
OpenCode固有の注意事項
typeは、local または remote を指定する。
Claude Desktopの stdio、sse、http とは異なる。commandは配列形式で指定する。
Claude Desktopの command と args を1つの配列に結合する。- 環境変数フィールドは、
environmentを使用する。 - 環境変数の値は、
{env:VARIABLE_NAME}形式で参照できる。
ツール仕様
mcp-youtubeのツール
下表に、mcp-youtubeが提供するツールを示す。
| ツール名 | 説明 |
|---|---|
| download_youtube_url | YouTube URLを指定して字幕データを取得する。 yt-dlpを使用して字幕データを取得し、テキスト形式で返す。 パラメータ: url (必須) |
mcp-youtubeのツール名は download_youtube_url であり、mcp-server-youtube-transcriptの get_transcript とは異なる。
mcp-server-youtube-transcriptのツール
下表に、mcp-server-youtube-transcriptが提供するツールとパラメータを示す。
| ツール名 | パラメータ | 説明 |
|---|---|---|
| get_transcript | url (必須) | YouTube動画URL、Shorts URL、動画IDを指定する。 |
| get_transcript | lang (オプション、デフォルト: "en") | 取得する字幕の言語コードを指定する。 例: ja (日本語)、en (英語)、ko (韓国語) |
| get_transcript | include_timestamps (オプション、デフォルト: false) | タイムスタンプを字幕テキストに含めるかどうかを指定する。 |
| get_transcript | strip_ads (オプション、デフォルト: true) | 広告・スポンサーシップに関する文字列を除去するかどうかを指定する。 |
| analyze_video | url (必須) | 解析対象の動画URL。 YouTube視聴ページURLではなく、公開された直接動画URLを指定する。 |
| analyze_video | prompt (オプション) | 解析指示。 デフォルトは一般要約。 |
| analyze_video | model (オプション、デフォルト: pegasus1.2) | 解析モデル。 pegasus1.2 または pegasus1.5 を指定する。 |
| analyze_video | max_tokens (オプション、デフォルト: 2048) | 最大出力トークン数。 |
analyze_video ツールはTwelveLabs Pegasusを使用するため、環境変数 TWELVELABS_API_KEY が必要となる。
ただし、get_transcript の使用には、この環境変数は不要である。
対応URL形式 (mcp-server-youtube-transcript)
mcp-server-youtube-transcriptは、以下に示すURL形式に対応している。
YouTube Shorts URLも使用できることが確認されている。
- 通常URL
- YouTube Shorts URL
- 短縮URL
- https://youtu.be/<動画ID>
- 動画IDのみ
- <動画ID>
TwelveLabs APIキーの取得
mcp-server-youtube-transcript の analyze_video ツールを使用するには、TwelveLabsのAPIキーが必要である。
ただし、get_transcript ツールのみを使用する場合は、APIキーは不要である。
取得手順を以下に示す。
手順1: アカウントの作成
TwelveLabs Playgroundにアクセスして、アカウントを作成する。
メールアドレス、Googleアカウント、GitHubアカウントのいずれかで登録できる。
新規登録すると、自動的に無料プラン (Free) が割り当てられる。
無料プランは、クレジットカードの登録なしで利用できる。
手順2: APIキーの作成
アカウント作成後、以下に示す手順でAPIキーを取得する。
- TwelveLabsのDashboardにログインする。
- サイドバーから[API Keys]を選択する。
- 直接アクセスする場合のURL: API Keys ページ
- [Create API Key]ボタンを押下する。
- APIキーの名前 (任意) と有効期限を設定する。
- デフォルトの有効期限は12ヶ月である。
- [Create]ボタンを押下して、APIキーを生成する。
- 一覧に表示されたAPIキーの横のコピーアイコンを選択して、クリップボードにコピーする。
手順3: APIキーの設定
取得したAPIキーを、環境変数 TWELVELABS_API_KEY に設定する。
設定方法は、使用するMCPクライアントにより異なる。
各MCPクライアントでの設定方法を以下に示す。
- OpenCode
- opencode.json の
environmentフィールドに指定する。 - 詳細を知りたい場合は、本ページのOpenCodeでの設定セクションを参照すること。
- opencode.json の
- Claude Desktop
- claude_desktop_config.json のサーバ設定に
envフィールドを追加して指定する。
- claude_desktop_config.json のサーバ設定に
- Claude Code
claude mcp addコマンドの--env(短縮形-e) オプションで指定する。
- VS Code
- .vscode/mcp.json のサーバ設定に
envフィールドを追加して指定する。
- .vscode/mcp.json のサーバ設定に
- Cursor
- ~/.cursor/mcp.json または .cursor/mcp.json のサーバ設定に
envフィールドを追加して指定する。
- ~/.cursor/mcp.json または .cursor/mcp.json のサーバ設定に
Claude CodeでのAPIキー指定例を以下に示す。
claude mcp add -e TWELVELABS_API_KEY=<取得したAPIキー> youtube-transcript -- npx -y @kimtaeyoon83/mcp-server-youtube-transcript
無料枠と料金
TwelveLabsの無料プラン (Free) では、合計600分 (10時間) まで動画をインデックスできる。
この無料枠は累積であり、インデックスや動画を削除しても復元されない。
無料枠を超えて利用する場合は、Developerプランへのアップグレードが必要である。
Developerプランへのアップグレードには、クレジットカードの登録が必要となる。
下表に、Pegasus 1.2の主な料金を示す。
| 項目 | 単価 |
|---|---|
| 動画インデックス (1回) | $0.042 / 分 |
| API入力 (動画) | $0.021 / 分 |
| API出力 (テキスト) | $0.0075 / 1,000 トークン |
料金は変動する可能性があるため、最新の料金体系はTwelveLabs公式の料金ページで確認すること。
使用方法
MCPサーバを設定後、AIアシスタントに自然言語で指示するだけで、対応するツールが自動的に呼び出される。
動画の要約
YouTube動画の内容を要約する場合の操作例を以下に示す。
- 動画全体を要約する場合
# プロンプト例 : このYouTube動画を要約してください: https://www.youtube.com/watch?v=xxxxx
- キーポイントを抽出する場合
# プロンプト例 : この動画のキーポイントを5つ教えてください: https://www.youtube.com/watch?v=xxxxx
多言語字幕の取得
特定の言語で字幕を取得する場合の操作例を以下に示す。
mcp-server-youtube-transcriptを使用する場合に有効である。
- 日本語字幕を取得する場合
# プロンプト例 : この動画の日本語字幕を取得してください: https://www.youtube.com/watch?v=xxxxx
技術情報の抽出
技術動画から特定の情報を抽出する場合の操作例を以下に示す。
- 動画で紹介されているツールを一覧化する場合
# プロンプト例 : この技術動画で紹介されているツールを一覧にしてください: https://www.youtube.com/watch?v=xxxxx
トラブルシューティング
下表に、一般的なエラーと対処法を示す。
| 問題 | 原因 | 対処法 |
|---|---|---|
| yt-dlpが見つからない (mcp-youtube) | yt-dlpがインストールされていない。 または、PATHに含まれていない。 |
yt-dlpをインストールして、PATHに追加する。yt-dlp --version コマンドで動作確認する。
|
| 字幕が取得できない | 動画に字幕が存在しない。 または、字幕が無効化されている。 |
字幕が存在する動画を指定する。 動画のYouTubeページで字幕の有無を確認する。 |
| 指定した言語の字幕が取得できない | 指定した言語コードの字幕が動画に存在しない。 | 別の言語コードを試す。 mcp-server-youtube-transcriptは自動フォールバックを試みるが、 全言語で字幕がない場合はエラーとなる。 |
| npxコマンドエラーが発生する (Windows) | Windowsでは npx を直接実行できない場合がある。 |
設定ファイルで cmd /c ラッパーを使用する。
|
| Node.jsバージョンエラーが発生する | インストールされているNode.jsが要件を満たしていない。 | mcp-server-youtube-transcriptの場合、 Node.js v18以降にアップグレードする。 |
| MCPサーバが起動しない | 設定ファイルの記述に誤りがある。 または、Node.jsがインストールされていない。 |
MCPクライアントを再起動する。 設定ファイルのJSON構文を確認する。 Node.jsのインストール状態を確認する。 |
その他のYouTube系MCPサーバ
字幕取得以外の機能 (検索、メタデータ、ダウンロード等) を提供するYouTube系MCPサーバの実装として、以下のものが知られている。
| 実装名 | 主な機能 | 必要なもの | 備考 |
|---|---|---|---|
| ZubeidHendricks/youtube-mcp-server | 検索、動画統計、字幕、チャンネル、プレイリスト | YouTube Data API キー | Node.js (npm: zubeid-youtube-mcp-server) |
| kevinwatt/yt-dlp-mcp | 検索、メタデータ、字幕、ダウンロード、コメント | yt-dlp | Node.js (npm: @kevinwatt/yt-dlp-mcp) |
| jkawamoto/mcp-youtube-transcript | 字幕取得、タイムスタンプ付き字幕、動画情報 | なし (uvxで実行) | Python実装 |
| ShellyDeng08/youtube-connector-mcp | 検索、メタデータ、字幕、コメント、チャンネル統計 | YouTube Data API キー | Python実装 |
これらは、単純な字幕取得を超えて、検索やダウンロード、統計情報の取得等の機能を必要とする場合に検討する価値がある。