/ ディレクトリ / プレイグラウンド / mcp-youtube-transcript
● コミュニティ jkawamoto ⚡ 即起動

mcp-youtube-transcript

作者 jkawamoto · jkawamoto/mcp-youtube-transcript

Pull transcripts (with timestamps), metadata, and language lists from any YouTube video — so Claude can summarize, quote, or timestamp an hour of video in seconds.

mcp-youtube-transcript exposes 4 tools to get raw transcripts, timed transcripts, video metadata, and available languages. Long transcripts auto-paginate at 50k chars. Supports Webshare / custom HTTP proxies when YouTube rate-limits or blocks your IP.

なぜ使うのか

主な機能

ライブデモ

実際の動作

youtube-transcript.replay ▶ 準備完了
0/0

インストール

クライアントを選択

~/Library/Application Support/Claude/claude_desktop_config.json  · Windows: %APPDATA%\Claude\claude_desktop_config.json
{
  "mcpServers": {
    "youtube-transcript": {
      "command": "uvx",
      "args": [
        "mcp-youtube-transcript"
      ],
      "_inferred": true
    }
  }
}

Claude Desktop → Settings → Developer → Edit Config を開く。保存後、アプリを再起動。

~/.cursor/mcp.json · .cursor/mcp.json
{
  "mcpServers": {
    "youtube-transcript": {
      "command": "uvx",
      "args": [
        "mcp-youtube-transcript"
      ],
      "_inferred": true
    }
  }
}

Cursor は Claude Desktop と同じ mcpServers スキーマを使用。プロジェクト設定はグローバルより優先。

VS Code → Cline → MCP Servers → Edit
{
  "mcpServers": {
    "youtube-transcript": {
      "command": "uvx",
      "args": [
        "mcp-youtube-transcript"
      ],
      "_inferred": true
    }
  }
}

Cline サイドバーの MCP Servers アイコンをクリックし、"Edit Configuration" を選択。

~/.codeium/windsurf/mcp_config.json
{
  "mcpServers": {
    "youtube-transcript": {
      "command": "uvx",
      "args": [
        "mcp-youtube-transcript"
      ],
      "_inferred": true
    }
  }
}

Claude Desktop と同じ形式。Windsurf を再起動して反映。

~/.continue/config.json
{
  "mcpServers": [
    {
      "name": "youtube-transcript",
      "command": "uvx",
      "args": [
        "mcp-youtube-transcript"
      ]
    }
  ]
}

Continue はマップではなくサーバーオブジェクトの配列を使用。

~/.config/zed/settings.json
{
  "context_servers": {
    "youtube-transcript": {
      "command": {
        "path": "uvx",
        "args": [
          "mcp-youtube-transcript"
        ]
      }
    }
  }
}

context_servers に追加。保存時に Zed がホットリロード。

claude mcp add youtube-transcript -- uvx mcp-youtube-transcript

ワンライナー。claude mcp list で確認、claude mcp remove で削除。

ユースケース

実用的な使い方: mcp-youtube-transcript

Turn a 60-minute YouTube talk into a 10-bullet summary with timestamps

👤 Researchers, content marketers, students ⏱ ~10 min beginner

使うタイミング: You can't watch the full video but need the key points (and to cite them with timestamps).

フロー
  1. Fetch timed transcript
    Get timed transcript for https://www.youtube.com/watch?v=VIDEO_ID.✓ コピーしました
    → Transcript with [MM:SS] markers
  2. Summarize with citations
    Give me 10 bullets summarizing the main argument. Each bullet should end with a [MM:SS] pointer to where it's made in the video.✓ コピーしました
    → Bulleted summary with clickable-style timestamps

結果: Digestible summary you can share with a team Slack in 2 minutes.

注意点
  • Auto-generated captions have errors on technical terms — For accuracy-critical quotes, verify against the actual video at the timestamp
組み合わせ: notion

Index a YouTube podcast's back catalog for semantic search

👤 Podcast fans, researchers following a specific show ⏱ ~45 min intermediate

使うタイミング: You want to ask 'which episode did they talk about X?' across 100+ episodes.

フロー
  1. List episode URLs
    Here's the playlist URL. Get the 50 most recent video IDs.✓ コピーしました
    → Video ID list
  2. Fetch + index
    For each video, get_transcript and get_video_info (title, date). Ingest into local-rag as one doc per episode.✓ コピーしました
    → Indexed corpus
  3. Query
    In which episodes did the hosts discuss 'ring attention'? Give episode number and timestamp.✓ コピーしました
    → Hits with episode metadata

結果: A searchable podcast library you own and control.

注意点
  • Some videos have no captions — get_available_languages first; skip if empty
組み合わせ: local-rag

Translate a talk from one language to another

👤 Non-English speakers, content localizers ⏱ ~10 min beginner

使うタイミング: You want to read a Spanish talk in English without running ML translation yourself.

フロー
  1. Grab original language transcript
    get_available_languages for this URL. Use Spanish if available.✓ コピーしました
    → Spanish transcript
  2. Translate
    Translate this transcript to English, preserving paragraph breaks.✓ コピーしました
    → English text

結果: Read-worthy translated transcript.

注意点
  • Tonal / idiomatic content translates awkwardly — For commercial localization, have a human pass

組み合わせ

他のMCPと組み合わせて10倍の力を

youtube-transcript + local-rag

Ingest a channel's transcripts into a searchable local index

For each video in this playlist, get transcript + metadata, then ingest_data into local-rag with source URL.✓ コピーしました
youtube-transcript + notion

Publish video summaries to a Notion knowledge DB

Summarize this talk and create a Notion page in 'Talks' with title, channel, date, and summary.✓ コピーしました

ツール

このMCPが提供する機能

ツール入力呼び出すタイミングコスト
get_transcript url_or_id: str, language?: str You want text only, no timestamps free
get_timed_transcript url_or_id, language? You need timestamps for citations or chapter generation free
get_video_info url_or_id Metadata for context / indexing free
get_available_languages url_or_id Check caption availability before attempting fetch free

コストと制限

運用コスト

APIクォータ
YouTube doesn't officially expose transcripts — expect IP rate limits
呼び出しあたりのトークン
Transcripts 1k-50k tokens depending on length; paginated at 50k by default
金額
Free; proxies (Webshare) cost a few $/mo if you need them
ヒント
Transcripts are often huge. Truncate via --response-limit or just ask for a specific time range.

セキュリティ

権限、シークレット、影響範囲

認証情報の保管: Proxy credentials if you use Webshare — env var
データ送信先: Outbound to youtube.com (possibly via proxy)

トラブルシューティング

よくあるエラーと対処法

HTTP 429 Too Many Requests

Your IP is rate-limited by YouTube. Configure Webshare proxy via env vars or wait 30-60 minutes.

確認: Try the same URL from another IP
No transcript available

Video has no captions. Call get_available_languages first; if empty, skip.

Age-restricted / region-locked video

Not supported by this MCP. No workaround — use official YouTube Data API with auth.

Python install issues (uvx)

Install uv first: curl -LsSf https://astral.sh/uv/install.sh | sh. Requires Python 3.10+.

確認: uv --version

代替案

mcp-youtube-transcript 他との比較

代替案代わりに使う場面トレードオフ
YouTube Data API + official MCP wrapperYou need official, authenticated accessRequires Google API key; quota limits; doesn't directly give transcript text
yt-dlp MCPYou also want video/audio download, not just transcriptsHeavier; downloads media files

その他

リソース

📖 GitHub の公式 README を読む

🐙 オープンな issue を見る

🔍 400以上のMCPサーバーとSkillsを見る