YouTube Caption MCP Server について
YouTube Caption MCP Serverは、CursorなどのMCPクライアントからAPIキーなしでYouTube動画の情報や字幕を取得できます。複数言語の字幕に対応し、Raw、SRT、VTT形式で出力します。
主な機能
- 01動画情報の取得
- 02利用可能な字幕言語の一覧表示
- 03Raw、SRT、VTT形式での字幕ダウンロード
- 04字幕付き動画の検索
- 05インメモリキャッシュ
活用シーン
- 01動画の基本情報の確認
- 02指定言語の字幕がある動画の検索
- 03文字起こしや確認用の字幕ダウンロード
MCP 対応
動画情報の取得、字幕一覧表示とダウンロード、字幕付き動画の検索をMCPクライアント向けツールとして提供します。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
これはバイブコーディングで作成されています。ご注意ください。
YouTube Caption MCP Server
Vive Cursor でYouTube動画の字幕を取得するためのMCPサーバーです。APIキー不要でYouTube動画の字幕情報にアクセスできます。
特徴
- APIキー不要: youtube-jsライブラリを使用してYouTubeの内部APIにアクセスします
- 多言語対応: 利用可能な字幕言語を自動検出して取得します
- フォーマット変換: Raw、SRT、VTT形式で字幕を出力します
- キャッシュ: パフォーマンス向上のため、インメモリキャッシュを使用します
- Claude連携: MCPプロトコルを介してシームレスに連携します
インストール
NPMからインストール
npm install -g @iamyosuke/youtube-caption-mcp
ソースからビルド
git clone https://github.com/iamyosuke/youtube-caption-mcp.git
cd youtube-caption-mcp
npm install
npm run build
Cursorの設定
Cursorの設定ファイル(.cursor/mcp.json)に以下を追加してください:
{
"mcpServers": {
"youtube-caption-mcp": {
"command": "npx",
"args": ["-y", "youtube-caption-mcp", "--stdio"],
"env": {
"CACHE_ENABLED": "true",
"LOG_LEVEL": "debug"
}
}
}
}
利用可能なツール
1. get_video_info
YouTube動画の基本情報を取得します。
パラメーター:
video_id(必須):YouTube動画IDまたはURL
例:
{
"video_id": "dQw4w9WgXcQ"
}
2. get_captions_list
動画で利用可能な字幕の一覧を取得します。
パラメーター:
video_id(必須):YouTube動画IDまたはURL
例:
{
"video_id": "dQw4w9WgXcQ"
}
3. download_captions
指定した動画の字幕をダウンロードします。
パラメーター:
video_id(必須):YouTube動画IDまたはURLlang(省略可):字幕の言語コード(デフォルト:"ja")format(省略可):出力形式:"raw"、"srt"、"vtt"(デフォルト:"raw")
例:
{
"video_id": "dQw4w9WgXcQ",
"lang": "ja",
"format": "srt"
}
4. search_videos_with_captions
字幕付き動画を検索します。
パラメーター:
query(必須):検索クエリlang(省略可):字幕の言語フィルターlimit(省略可):検索結果の最大数(1~50、デフォルト:10)
例:
{
"query": "programming tutorial",
"lang": "en",
"limit": 5
}
対応URL形式
以下のYouTube URL形式に対応しています:
https://www.youtube.com/watch?v=VIDEO_IDhttps://youtu.be/VIDEO_IDhttps://www.youtube.com/embed/VIDEO_IDVIDEO_ID(11文字の動画ID)
環境変数
| 変数名 | デフォルト値 | 説明 |
|---|---|---|
CACHE_ENABLED | true | キャッシュの有効/無効を切り替えます |
CACHE_DEFAULT_TTL | 3600 | デフォルトのキャッシュ保持時間(秒) |
CACHE_MAX_KEYS | 1000 | キャッシュキーの最大数 |
LOG_LEVEL | info | ログレベル(debug、info、warn、error) |
開発
開発環境のセットアップ
npm install
開発サーバーの起動
npm run dev
テストの実行
npm test
ビルド
npm run build
リントとフォーマット
npm run lint
npm run format
ライセンス
MITライセンス
コントリビューション
プルリクエストや問題の報告を歓迎します。
免責事項
注記:このプロジェクトは週末に3時間でバイブコーディングされ、十分なテストは行われていません。本番環境での使用は自己責任でお願いします。
注意事項
- YouTubeの利用規約に従ってこのツールを使用してください
- 著作権のあるコンテンツは適切に取り扱ってください
- 多数のリクエストを送信する際は、レート制限に注意してください
トラブルシューティング
よくある問題
-
動画が見つからない
- 動画IDまたはURLが正しいか確認してください
- 動画が公開されているか確認してください
-
字幕を取得できない
- 動画に字幕があるか確認してください
- 指定した言語の字幕が利用可能か確認してください
-
パフォーマンスが遅い
- キャッシュが有効になっているか確認してください
- ネットワーク接続を確認してください
ログの確認
詳細なログを表示するには、環境変数 LOG_LEVEL=debug を設定してください:
LOG_LEVEL=debug npx @iamyosuke/youtube-caption-mcp
YouTube字幕MCPサーバー
Cusor 向けのYouTube動画字幕取得MCPサーバーです。APIキー不要でYouTube動画の字幕情報を取得できます。
特徴
- APIキー不要: youtube-jsライブラリを使用してYouTubeの内部APIにアクセス
- 多言語対応: 利用可能な字幕言語の自動検出と取得
- フォーマット変換: Raw、SRT、VTT形式での字幕出力
- キャッシュ機能: パフォーマンス向上のためのインメモリキャッシュ
- Claude統合: MCPプロトコルによるシームレスな連携
インストール
NPMからインストール
npm install -g @iamyosuke/youtube-caption-mcp
ソースからビルド
git clone https://github.com/iamyosuke/youtube-caption-mcp.git
cd youtube-caption-mcp
npm install
npm run build
Cursor設定
Cursorの設定ファイル(.cursor/mcp.json)に以下を追加してください:
{
"mcpServers": {
"youtube-caption-mcp": {
"command": "npx",
"args": ["-y", "youtube-caption-mcp", "--stdio"],
"env": {
"CACHE_ENABLED": "true",
"LOG_LEVEL": "debug"
}
}
}
}
利用可能なツール
1. get_video_info
YouTube動画の基本情報を取得します。
パラメータ:
video_id(必須): YouTube動画IDまたはURL
例:
{
"video_id": "dQw4w9WgXcQ"
}
2. get_captions_list
動画で利用可能な字幕一覧を取得します。
パラメータ:
video_id(必須): YouTube動画IDまたはURL
例:
{
"video_id": "dQw4w9WgXcQ"
}
3. download_captions
指定された動画の字幕をダウンロードします。
パラメータ:
video_id(必須): YouTube動画IDまたはURLlang(オプション): 字幕の言語コード(デフォルト: "ja")format(オプション): 出力形式 - "raw", "srt", "vtt"(デフォルト: "raw")
例:
{
"video_id": "dQw4w9WgXcQ",
"lang": "ja",
"format": "srt"
}
4. search_videos_with_captions
字幕付きの動画を検索します。
パラメータ:
query(必須): 検索クエリlang(オプション): 字幕の言語フィルタlimit(オプション): 検索結果の最大数(1-50、デフォルト: 10)
例:
{
"query": "プログラミング チュートリアル",
"lang": "ja",
"limit": 5
}
対応URL形式
以下のYouTube URL形式に対応しています:
https://www.youtube.com/watch?v=VIDEO_IDhttps://youtu.be/VIDEO_IDhttps://www.youtube.com/embed/VIDEO_IDVIDEO_ID(11文字の動画ID)
環境変数
| 変数名 | デフォルト値 | 説明 |
|---|---|---|
CACHE_ENABLED | true | キャッシュ機能の有効/無効 |
CACHE_DEFAULT_TTL | 3600 | デフォルトキャッシュ保持時間(秒) |
CACHE_MAX_KEYS | 1000 | 最大キャッシュキー数 |
LOG_LEVEL | info | ログレベル(debug, info, warn, error) |
開発
開発環境のセットアップ
npm install
開発サーバーの起動
npm run dev
テストの実行
npm test
ビルド
npm run build
リント・フォーマット
npm run lint
npm run format
ライセンス
MIT License
貢献
プルリクエストやイシューの報告を歓迎します。
免責事項
注意: このプロジェクトは週末の3時間で作成されたものであり、十分なテストが行われていません。本番環境での使用は自己責任でお願いします。
注意事項
- このツールはYouTubeの利用規約に従って使用してください
- 著作権保護されたコンテンツの適切な取り扱いにご注意ください
- 大量のリクエストを送信する際は、レート制限にご注意ください
トラブルシューティング
よくある問題
-
動画が見つからない
- 動画IDまたはURLが正しいか確認してください
- 動画が公開されているか確認してください
-
字幕が取得できない
- 動画に字幕が存在するか確認してください
- 指定した言語の字幕が利用可能か確認してください
-
パフォーマンスが遅い
- キャッシュが有効になっているか確認してください
- ネットワーク接続を確認してください
ログの確認
詳細なログを確認するには、環境変数 LOG_LEVEL=debug を設定してください。
LOG_LEVEL=debug npx @iamyosuke/youtube-caption-mcp
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。