YouTube Transcript Server について
YouTube Transcript Server は、YouTube 動画の文字起こしを取得する MCP サーバーです。Shorts の URL や動画 ID にも対応しています。字幕をテキストとして LLM による要約や質問応答に使いたい利用者向けです。オプションの TwelveLabs 連携では、直接の動画 URL を対象に画面内容を分析できます。
主な機能
- 01動画 URL、Shorts URL、動画 ID の入力に対応
- 02言語指定による字幕取得と自動フォールバック
- 03文字起こしへのタイムスタンプ付加
- 04スポンサーや広告区間のフィルタリング(デフォルト有効)
- 05オプションの TwelveLabs 動画分析ツール
活用シーン
- 01動画の字幕を取得して要約を作成
- 02指定した言語で文字起こしテキストを抽出
- 03スポンサー区間を除いた文字起こしの作成
MCP 対応
本プロジェクトは MCP サーバーであり、get_transcript ツールを MCP クライアントに提供します。TwelveLabs の API キーを設定すると、analyze_video ツールも利用できます。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
YouTube Transcript Server
YouTube 動画の文字起こしを取得できる Model Context Protocol サーバーです。シンプルなインターフェースを通じて、動画のキャプションと字幕に直接アクセスできます。
Smithery 経由でのインストール
Smithery を使って、Claude Desktop に YouTube Transcript Server を自動的にインストールするには:
npx -y @smithery/cli install @kimtaeyoon83/mcp-server-youtube-transcript --client claude
コンポーネント
ツール
-
get_transcript
- YouTube 動画の文字起こしを取得します
- 入力:
url(string、必須):YouTube 動画の URL、Shorts の URL、または動画 IDlang(string、任意、デフォルト:"en"):文字起こしの言語コード(例:'ko'、'en')。指定した言語が見つからない場合は、利用可能な言語に自動的にフォールバックします。include_timestamps(boolean、任意、デフォルト:false):出力にタイムスタンプを含めます(例:「[0:05] テキスト」)strip_ads(boolean、任意、デフォルト:true):チャプターマーカーに基づいて、文字起こしからスポンサー提供、広告、プロモーションのコンテンツを除外します
-
analyze_video(任意。TwelveLabs API キーが必要です)
- 動画理解モデルである TwelveLabs Pegasus を使って動画を分析します。
get_transcriptとは異なり、画面に 表示されている 内容を推論するため、発話がほとんどない、またはまったくない動画(デモ、ゲームプレイ、B ロール、ミュージックビデオ)でも、有用な要約や回答を生成できます。 - 入力:
url(string、必須):外部からアクセス可能な 動画ファイルへの直接 URL(例:.mp4/.mov/.webmのリンク、または署名付き URL)。TwelveLabs はサーバー側でファイルを取得するため、YouTube の視聴ページ URL は使用できません。生の動画ストリームではなく HTML が配信されるためです。prompt(string、任意):モデルへの指示または質問(例:"Summarize this video in 3 sentences"や"What products are shown?")。デフォルトでは一般的な要約を生成します。model(string、任意、デフォルト:"pegasus1.2"):使用する Pegasus モデル("pegasus1.2"または"pegasus1.5")。max_tokens(number、任意、デフォルト:2048):応答の最大トークン数。
TWELVELABS_API_KEY環境変数が必要です。文字起こしツールはこのキーなしで動作します。分析機能は完全にオプトインです。twelvelabs.io で無料キーを取得できます。無料利用枠も充実しています。
- 動画理解モデルである TwelveLabs Pegasus を使って動画を分析します。
主な機能
- 複数の動画 URL 形式に対応(YouTube Shorts を含む)
- 言語を指定した文字起こしの取得と、自動フォールバック
- 特定の場面を参照するためのタイムスタンプ(任意)
- 広告/スポンサー提供コンテンツのフィルタリング機能を内蔵(デフォルトで有効)
- 文字起こしの取得に外部依存関係が不要
- 応答に詳細なメタデータを含む
設定
Claude Desktop で使用するには、次のサーバー設定を追加します:
{
"mcpServers": {
"youtube-transcript": {
"command": "npx",
"args": ["-y", "@kimtaeyoon83/mcp-server-youtube-transcript"]
}
}
}
任意の analyze_video ツールを有効にするには、TwelveLabs API キーを追加します:
{
"mcpServers": {
"youtube-transcript": {
"command": "npx",
"args": ["-y", "@kimtaeyoon83/mcp-server-youtube-transcript"],
"env": {
"TWELVELABS_API_KEY": "your-twelvelabs-api-key"
}
}
}
}
ツール経由でのインストール
mcp-get Model Context Protocol(MCP)サーバーをインストールおよび管理するためのコマンドラインツールです。
npx @michaellatman/mcp-get@latest install @kimtaeyoon83/mcp-server-youtube-transcript
Awesome-mcp-servers
awesome-mcp-servers 厳選された優れた Model Context Protocol(MCP)サーバーの一覧です。
開発
前提条件
- Node.js 18 以降
- npm または yarn
セットアップ
依存関係をインストールします:
npm install
サーバーをビルドします:
npm run build
自動再ビルドを有効にして開発する場合:
npm run watch
テスト
npm test
デバッグ
MCP サーバーは stdio 経由で通信するため、デバッグが難しい場合があります。開発には MCP Inspector の使用をおすすめします:
npm run inspector
evals の実行
evals パッケージは MCP クライアントを読み込み、その後 index.ts ファイルを実行するため、テストのたびにビルドし直す必要はありません。npx コマンドの前に環境変数を指定すると、環境変数を読み込めます。詳細なドキュメントはこちらをご覧ください。
OPENAI_API_KEY=your-key npx mcp-eval src/evals/evals.ts src/index.ts
エラー処理
サーバーは、次のような一般的な状況に対して堅牢なエラー処理を実装しています:
- 無効な動画 URL または ID
- 利用できない文字起こし
- 言語の利用可否に関する問題
- ネットワークエラー
使用例
- 動画 URL から文字起こしを取得:
await server.callTool("get_transcript", {
url: "https://www.youtube.com/watch?v=VIDEO_ID",
lang: "en"
});
- 動画 ID から文字起こしを取得:
await server.callTool("get_transcript", {
url: "VIDEO_ID",
lang: "ko"
});
- YouTube Shorts から文字起こしを取得:
await server.callTool("get_transcript", {
url: "https://www.youtube.com/shorts/VIDEO_ID"
});
- タイムスタンプ付きで文字起こしを取得:
await server.callTool("get_transcript", {
url: "VIDEO_ID",
include_timestamps: true
});
- 広告フィルタリングなしで生の文字起こしを取得:
await server.callTool("get_transcript", {
url: "VIDEO_ID",
strip_ads: false
});
- Claude Desktop App で YouTube 字幕を抽出する方法
chat: https://youtu.be/ODaHJzOyVCQ?si=aXkJgso96Deri0aB Extract subtitles
セキュリティに関する考慮事項
サーバーは次の処理を行います:
- すべての入力パラメーターを検証します
- YouTube API のエラーを適切に処理します
- 文字起こしの取得にタイムアウトを設定します
- トラブルシューティングに役立つ詳細なエラーメッセージを提供します
ライセンス
この MCP サーバーは MIT License の下でライセンスされています。詳細については LICENSE ファイルをご覧ください。
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。
