Youtube について
Youtubeは、AIエージェントがYouTubeの文字起こし、動画・チャンネル検索、チャンネル動画一覧、タイムスタンプ付きスクリーンショットを利用できるMCPサーバーです。Google APIキーやOAuthの設定は不要で、文字起こしからスポンサー区間を除くこともできます。
主な機能
- 01タイムスタンプ付きまたはプレーンテキストの文字起こし取得
- 02指定時刻の動画フレーム撮影
- 03関連度、日付、評価、再生数での動画検索
- 04チャンネル検索と動画一覧の取得
- 05スポンサー区間の任意削除
活用シーン
- 01専門家の講演や技術動画を調査の根拠にする
- 02トピックから動画を探し、文字起こしを取得する
- 03重要な動画フレームを文字起こしの文脈と組み合わせる
- 04動画の特定箇所についての質問に答える
MCP 対応
このサーバーは、YouTubeの文字起こし、検索、チャンネル、動画フレームのツールをMCPクライアントに提供します。npmパッケージで導入でき、Google APIの認証情報は不要です。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
ツール
5掲載時のツール一覧 · 3 週間前に更新
| パラメーター | 型 | 必須 | 説明 |
|---|---|---|---|
| videoUrl | string | はい | トランスクリプトを取得する YouTube 動画の完全な URL。ブラウザーで動画を視聴する際に使う標準 URL です(例:'https://www.youtube.com/watch?v=dQw4w9WgXcQ')。 |
| chunkSize | number | いいえ | 任意:トランスクリプトの各チャンクの最大文字数。指定すると、トランスクリプトはこのサイズで分割されます。非常に長いトランスクリプトを、小さく扱いやすい部分に処理する場合に便利です。 |
| chunkBySilence | boolean | いいえ | 任意:true の場合、音声の無音区間に基づいてトランスクリプトを分割します。より自然な会話やテーマの区切りで分割するのに役立ちます。 |
| silenceThreshold | number | いいえ | 任意:chunkBySilence 为 true の場合、チャンクの区切りとみなす無音の最短時間(ミリ秒)を指定します。値が大きいほど、新しいチャンクを作成するために長い無音が必要です。 |
| skipSponsor | boolean | いいえ | 任意:true の場合、SponsorBlock API を使用して、文字起こしからスポンサー/広告セグメントを削除します。スポンサーのタイムスタンプを取得し、スポンサー部分に該当する文字起こしテキストを除外します。 |
| plainText | boolean | いいえ | 任意:true の場合、タイムスタンプデータなしで、文字起こし全体を単一のプレーンテキスト文字列として返します。デフォルトのタイムスタンプ付き形式よりコンテキストの使用量が少なく、要約に適しています。後でタイムスタンプが必要になった場合、以降の呼び出しではキャッシュが使用されます。 |
詳細
@inlustris/youtube-mcp
YouTube の優れたコンテンツで AI エージェントを支えます。API キー不要、設定も不要です。
YouTube は、チュートリアル、講演、レビュー、詳しい解説など、専門知識を集めた世界最大のライブラリです。しかし、AI エージェントは動画を見ることができません。
この MCP サーバーがそのギャップを埋めます。シンプルなツールを通じて、エージェントが YouTube の文字起こし、検索、チャンネルデータ、動画のスクリーンショットを利用できるようにします。Google API キーも OAuth もセットアップも不要です。
FastMCP と youtubei.js を使用して構築されています。
AI の情報基盤として YouTube を使う理由
ウェブ検索はノイズが多いものです。YouTube のコンテンツはランキングされ、評価され、厳選されています。再生回数の多い動画、信頼できるクリエイター、タイムスタンプ付きの文字起こしがそろっており、LLM のコンテキストに最適です。フォーラムやブログをスクレイピングする代わりに、エージェントは関連動画から正確な文字起こしを取得したり、チャンネル全体を検索したり、特定の瞬間のスクリーンショットを撮影したりできます。
これは、維持管理が必要な別の「AI スキル」ではありません。すぐに使える単一の npm パッケージです。
利用できる機能
| ツール | 目的 |
|---|---|
get_transcript | タイムスタンプ付きの動画の文字起こし、または plainText によるプレーンテキストを取得します。skipSponsor を使ってスポンサー区間を除外することもできます。文字起こしはメモリ内にキャッシュされるため、2 回目以降の取得は瞬時です。 |
get_video_frame | 任意のタイムスタンプのスクリーンショットを取得します。yt-dlp が利用可能な場合は最高画質で取得し、利用できない場合も適切に代替処理します。 |
search_videos | 関連度、日付、評価、再生回数で並べ替えて YouTube を検索します。 |
search_channels | 検索クエリでチャンネルを探します。 |
get_channel_videos | チャンネルの全動画を一覧表示します。 |
インストール
npm install -g @inlustris/youtube-mcp
任意の MCP クライアントに追加します。
{
"mcpServers": {
"youtube": {
"command": "npx",
"args": ["-y", "@inlustris/youtube-mcp@latest"]
}
}
}
Claude Desktop、Cursor、opencode、VS Code Copilot、その他の MCP 対応エージェントで動作します。
高画質スクリーンショット(任意)
get_video_frame は YouTube のストーリーボード(320×180)を使って、インストール直後から動作します。フル解像度の画像(720p、1080p、4K)を取得するには、システムツールをインストールしてください。
brew install yt-dlp ffmpeg
このツールは yt-dlp を自動的に検出して機能を強化するため、設定の変更は不要です。
SponsorBlock
get_transcript に skipSponsor: true を指定します。SponsorBlock API(認証不要、無料)からスポンサー区間のタイムスタンプを取得し、文字起こしからスポンサーコンテンツを削除します。広告のないクリーンな動画コンテキストを取得するのに最適です。
ユースケース
- リサーチエージェント:ブログ記事を斜め読みする代わりに、専門家の講演、カンファレンスの発表、技術的な詳しい解説から文字起こしを取得します。
- コンテンツ分析:トピックに関連する YouTube コンテンツを検索し、文字起こしを大規模に抽出します。
- 視覚的な情報基盤:文字起こしとともに重要な場面のスクリーンショットを撮影し、マルチモーダルな理解に活用します。
- 学習ツール:特定の動画のタイムスタンプについてユーザーが質問し、根拠に基づく回答を得られるようにします。
開発
npm install
npm run dev # hot-reload
npm test # 31 tests
npm run build # production bundle
src/
├── index.ts
├── server/server.ts
├── core/
│ ├── tools.ts
│ ├── resources.ts
│ └── services/
│ ├── youtube-service.ts
│ ├── sponsorblock-service.ts
│ └── screenshot-service.ts
└── __tests__/
ライセンス
MIT
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。