/ Diretório / Playground / mcp-youtube-transcript
● Comunidade jkawamoto ⚡ Instantâneo

mcp-youtube-transcript

por 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.

Por que usar

Principais recursos

Demo ao vivo

Como fica na prática

youtube-transcript.replay ▶ pronto
0/0

Instalar

Escolha seu cliente

~/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
    }
  }
}

Abra Claude Desktop → Settings → Developer → Edit Config. Reinicie após salvar.

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

Cursor usa o mesmo esquema mcpServers que o Claude Desktop. Config de projeto vence a global.

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

Clique no ícone MCP Servers na barra lateral do Cline, depois "Edit Configuration".

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

Mesmo formato do Claude Desktop. Reinicie o Windsurf para aplicar.

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

O Continue usa um array de objetos de servidor em vez de um map.

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

Adicione em context_servers. Zed recarrega automaticamente ao salvar.

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

Uma linha só. Verifique com claude mcp list. Remova com claude mcp remove.

Casos de uso

Usos do mundo real: mcp-youtube-transcript

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

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

Quando usar: You can't watch the full video but need the key points (and to cite them with timestamps).

Fluxo
  1. Fetch timed transcript
    Get timed transcript for https://www.youtube.com/watch?v=VIDEO_ID.✓ Copiado
    → 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.✓ Copiado
    → Bulleted summary with clickable-style timestamps

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

Armadilhas
  • Auto-generated captions have errors on technical terms — For accuracy-critical quotes, verify against the actual video at the timestamp
Combine com: notion

Index a YouTube podcast's back catalog for semantic search

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

Quando usar: You want to ask 'which episode did they talk about X?' across 100+ episodes.

Fluxo
  1. List episode URLs
    Here's the playlist URL. Get the 50 most recent video IDs.✓ Copiado
    → 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.✓ Copiado
    → Indexed corpus
  3. Query
    In which episodes did the hosts discuss 'ring attention'? Give episode number and timestamp.✓ Copiado
    → Hits with episode metadata

Resultado: A searchable podcast library you own and control.

Armadilhas
  • Some videos have no captions — get_available_languages first; skip if empty
Combine com: local-rag

Translate a talk from one language to another

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

Quando usar: You want to read a Spanish talk in English without running ML translation yourself.

Fluxo
  1. Grab original language transcript
    get_available_languages for this URL. Use Spanish if available.✓ Copiado
    → Spanish transcript
  2. Translate
    Translate this transcript to English, preserving paragraph breaks.✓ Copiado
    → English text

Resultado: Read-worthy translated transcript.

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

Combinações

Combine com outros MCPs para 10× de alavancagem

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.✓ Copiado
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.✓ Copiado

Ferramentas

O que este MCP expõe

FerramentaEntradasQuando chamarCusto
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

Custo e limites

O que custa rodar

Cota de API
YouTube doesn't officially expose transcripts — expect IP rate limits
Tokens por chamada
Transcripts 1k-50k tokens depending on length; paginated at 50k by default
Monetário
Free; proxies (Webshare) cost a few $/mo if you need them
Dica
Transcripts are often huge. Truncate via --response-limit or just ask for a specific time range.

Segurança

Permissões, segredos, alcance

Armazenamento de credenciais: Proxy credentials if you use Webshare — env var
Saída de dados: Outbound to youtube.com (possibly via proxy)

Solução de problemas

Erros comuns e correções

HTTP 429 Too Many Requests

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

Verificar: 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+.

Verificar: uv --version

Alternativas

mcp-youtube-transcript vs. outros

AlternativaQuando usarTroca
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

Mais

Recursos

📖 Leia o README oficial no GitHub

🐙 Ver issues abertas

🔍 Ver todos os 400+ servidores MCP e Skills