MCPサーバ - YouTube
概要
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.6.0 | 0.1.1 |
| ライセンス | MIT | MIT |
| GitHub スター数 | 506 | 503 |
| 外部依存 | yt-dlp 必須 | なし |
| 多言語対応 | 限定的 | 対応 (自動フォールバック) |
| 広告フィルタリング | なし | 対応 (デフォルト有効) |
| タイムスタンプ制御 | タイムスタンプ除去 | 表示 / 非表示を選択可能 |
| YouTube Shorts対応 | 不明 | 対応 |
| YouTube API キー | 不要 | 不要 |
動作要件
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の設定ファイルを以下に示す。
- ローカルスコープ
- .mcp.json (プロジェクトルート) :
claude mcp addコマンドで生成される。
- .mcp.json (プロジェクトルート) :
- ユーザスコープ
- ~/.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
プロジェクトスコープで設定する場合は、--scope project オプションを追加する。
claude mcp add --scope project youtube -- npx -y @anaisbetts/mcp-youtube
VS Code / Cursorでの設定
.vscode/mcp.json または .cursor/mcp.json ファイルに以下に示す内容を設定する。
{
"mcpServers": {
"youtube": {
"command": "npx",
"args": ["-y", "@anaisbetts/mcp-youtube"]
}
}
}
Windowsでの設定
Windowsでは npx を使用するMCPサーバの場合、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
プロジェクトスコープで設定する場合は、--scope project オプションを追加する。
claude mcp add --scope project youtube-transcript -- npx -y @kimtaeyoon83/mcp-server-youtube-transcript
VS Code / Cursorでの設定
.vscode/mcp.json または .cursor/mcp.json ファイルに以下に示す内容を設定する。
{
"mcpServers": {
"youtube-transcript": {
"command": "npx",
"args": ["-y", "@kimtaeyoon83/mcp-server-youtube-transcript"]
}
}
}
Windowsでの設定
Windowsでは cmd /c ラッパーを使用する。
{
"mcpServers": {
"youtube-transcript": {
"command": "cmd",
"args": ["/c", "npx", "-y", "@kimtaeyoon83/mcp-server-youtube-transcript"]
}
}
}
ツール仕様
mcp-youtubeのツール
下表に、mcp-youtubeが提供するツールを示す。
| ツール名 | 説明 |
|---|---|
| get_transcript | YouTube URLを指定して字幕テキストを取得する。 yt-dlpを使用して字幕データを取得し、テキスト形式で返す。 |
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) | 広告・スポンサーシップに関する文字列を除去するかどうかを指定する。 |
対応URL形式 (mcp-server-youtube-transcript)
mcp-server-youtube-transcriptは、以下に示すURL形式に対応している。
- 通常URL
- YouTube Shorts URL
- 短縮URL
- https://youtu.be/<動画ID>
- 動画IDのみ
- <動画ID>
使用方法
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のインストール状態を確認する。 |