mcpField
Y
YouTube Transcript API

YouTube Transcript API

ローカル
github.com/minhleathvnメディア・デザイン084 週間前に更新

YouTube Transcript API について

YouTube動画の情報や字幕をRESTまたはMCP経由で取得するPythonサービスです。既存の字幕を利用し、利用できない場合はWhisperで音声を文字起こしします。

主な機能

  1. 01複数言語の字幕取得
  2. 02利用可能な字幕言語の検出
  3. 03字幕がない場合のWhisper文字起こし
  4. 04RESTとMCPのインターフェース
  5. 05進捗報告と一時ファイルの削除

活用シーン

  1. 01YouTube動画の字幕取得
  2. 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 ライセンス

コメント

MCP は初めてですか?

プロトコルの概要から最初のサーバーの導入まで、よくある疑問にまとめて答えます。

AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。