YouTube Transcript API について
YouTube動画の情報や字幕をRESTまたはMCP経由で取得するPythonサービスです。既存の字幕を利用し、利用できない場合はWhisperで音声を文字起こしします。
主な機能
- 01複数言語の字幕取得
- 02利用可能な字幕言語の検出
- 03字幕がない場合のWhisper文字起こし
- 04RESTとMCPのインターフェース
- 05進捗報告と一時ファイルの削除
活用シーン
- 01YouTube動画の字幕取得
- 02字幕がない動画の音声文字起こし
MCP 対応
MCPサーバーは、字幕の取得・抽出とYouTube動画の検索に使うツールを公開します。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
インストール方法は未掲載です
このサーバーのパッケージやリモートエンドポイントはまだ取得できていません。プロジェクトの README の手順に従ってください。
ツール
ツール一覧はまだ取得されていません
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
YouTube Transcript API
YouTube 動画のコンテンツを取得して文字起こしする API を提供する Python サービスです。REST API(Flask)と MCP サーバーの両方の実装に対応しています。
機能
- YouTube 動画の文字起こしを複数の言語(英語、ベトナム語)で取得
- 利用可能な文字起こしを自動検出して使用
- 文字起こしが利用できない場合、Whisper を使用して音声を文字起こし
- REST API と MCP サーバーの両方のインターフェイスに対応
- 言語を自動検出
- 一時ファイルをクリーンアップ
- 時間のかかる処理の進捗を報告
インストール
pip install -r requirements.txt
使用方法
REST API(Flask)
Flask サーバーを起動します:
python apps/flask_server.py
利用可能なエンドポイント:
GET /transcript?video_id=<video_id>&language=<lang>- 動画の文字起こしを取得GET /video/info?video_id=<video_id>- 動画情報を取得GET /health- ヘルスチェックエンドポイント
MCP サーバー
MCP サーバーを起動します:
python apps/mcp_server.py
利用可能なツール:
get_transcript(video_id, language)- 動画の文字起こしを取得extract_transcript(video_id, language)- 音声から文字起こしを抽出search_youtube_video(query)- YouTube 動画を検索
言語サポート
- 英語(en)
- ベトナム語(vi)
- その他の言語は自動検出
依存関係
- youtube-transcript-api
- pytube
- whisper
- torch
- langdetect
- flask(REST API 用)
- mcp(MCP サーバー用)
開発
プロジェクトの構成:
apps/
├── __init__.py
├── flask_server.py # REST API implementation
├── mcp_server.py # MCP server implementation
└── utils.py # Shared utilities
ライセンス
MIT ライセンス
コメント
Markdown 対応
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。