YouTube Transcript MCP Server について
YouTube Transcript MCP Serverは、Cloudflare Workers上で動作するサーバーレスMCPサーバーです。AIアシスタント向けに、複数形式のYouTube URLから言語を指定して字幕を取得します。
主な機能
- 01URLや動画IDから字幕を取得
- 02字幕の言語を選択
- 03複数のYouTube URL形式に対応
- 04SSEによるストリーミング接続
活用シーン
- 01字幕を取得して読む
- 02指定言語の字幕を取得
- 03動画の要約用テキストを準備
MCP 対応
MCPクライアントにget_transcriptツールを公開し、動画URLまたはIDと言語コードを指定してYouTube字幕を取得します。SSE接続に対応しています。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
YouTube Transcript MCP サーバー
Cloudflare Workers にデプロイされた、Model Context Protocol(MCP)を使用する高性能なサーバーレス YouTube 文字起こし抽出サービスです。
概要
この MCP サーバーを使うと、AI アシスタントはシンプルな API を通じて YouTube 動画の文字起こしを取得できます。この実装では、kimtaeyoon83/mcp-server-youtube-transcript に見られる軽量な文字起こし抽出機能と、Cloudflare AI demos のリモート MCP サーバーアーキテクチャを組み合わせています。
機能
- サーバーレスデプロイ:Cloudflare のグローバルエッジネットワークで実行し、レイテンシーを最小限に抑えます
- YouTube URL の柔軟な指定:複数の URL 形式と動画 ID の直接指定に対応しています
- 言語選択:さまざまな言語で文字起こしを取得できます(デフォルトは英語です)
- エッジ最適化:非常に高速な応答時間(通常 400~800 ミリ秒)
- 最小限の実装:コードは 300 行未満で、メンテナンスが容易です
- SSE トランスポート:ストリーミング接続に Server-Sent Events を実装しています
利用可能なツール
| ツール | 説明 | パラメーター |
|---|---|---|
get_transcript | YouTube 動画の文字起こしを抽出します | url(必須):YouTube 動画の URL または IDlang(任意、デフォルト:"en"):言語コード |
Claude Desktop での使用方法
インストール
- Claude Desktop を開き、Settings > Developer > Edit Config に移動します
- 設定ファイルを更新します:
{
"mcpServers": {
"youtube-transcript": {
"command": "npx",
"args": [
"mcp-remote",
"https://your-deployed-worker.workers.dev/sse"
]
}
}
}
- Claude Desktop を再起動します
プロンプトの例
Can you show me the transcript of this YouTube video? https://www.youtube.com/watch?v=dQw4w9WgXcQ
Extract the transcripts from this TED talk and summarize the key points: https://youtu.be/8S0FDjFBj8o
ローカル開発
前提条件
- Node.js 18 以降
- Wrangler CLI(
npm install -g wrangler)
セットアップ
# Clone the repository
git clone https://github.com/yourusername/youtube-transcript-mcp-server.git
cd youtube-transcript-mcp-server
# Install dependencies
npm install
# Run locally
wrangler dev
MCP Inspector を使用したテスト
-
MCP Inspector をインストールします:
npx @modelcontextprotocol/inspector -
Inspector で次の操作を行います:
- Transport Type を
SSEに設定します - URL として
http://localhost:8787/sseを入力します - "Connect" をクリックします
- Transport Type を
-
YouTube URL を変えて
get_transcriptツールを試します
Cloudflare へのデプロイ
# Deploy to Cloudflare Workers
wrangler deploy
技術的な実装
このサーバーは、最小限かつ高効率なコードベースで構築されています。
- YouTubeTranscriptMCPSqlite:文字起こし抽出機能を備えた MCP エージェントのコア実装
- McpServer:MCP プロトコルとのやり取りを処理します
- MCP Protocol Integration:Model Context Protocol の完全な実装
主な最適化:
- 効率的な URL の解析と検証
- 外部依存関係の最小化
- 詳細なエラーメッセージを含む適切なエラー処理
- SSE によるストリーミング対応
クレジット
- @modelcontextprotocol/sdk を使用して構築
- 文字起こしの抽出に youtube-captions-scraper を使用
- 以下から着想を得ています:
ライセンス
MIT
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。