youtube-summarize

Servidor MCP que obtém transcrições de vídeos do YouTube e as resume usando seu cliente LLM

Documentação

youtube-summarize

Servidor MCP que busca transcrições de vídeos do YouTube e opcionalmente as resume.

Demo — summarizing a YouTube video in Claude

Recursos

  • Buscar transcrições em vários formatos (texto, JSON, SRT, WebVTT, pretty-print)
  • Metadados do vídeo — título, descrição, canal, data de upload, duração, visualizações, capítulos (via yt-dlp)
  • Carimbos de tempo opcionais em transcrições de texto simples
  • Resumir vídeos — retorna a transcrição com o prompt claramente separado para revisão humana antes que o LLM atue sobre ele
  • Listar vídeos de playlist — enumeração rápida de qualquer playlist pública com ordenação opcional
  • Pesquisar vídeos — resultados classificados e limpos com opções de ordenação e filtro, sem anúncios, prateleiras de Shorts e recomendações personalizadas do site do YouTube
  • Listar idiomas disponíveis para as transcrições de qualquer vídeo
  • Análise flexível de URL — aceita URLs completas do YouTube (youtube.com/watch?v=, youtu.be/, youtube.com/embed/, youtube.com/shorts/) ou IDs de vídeo simples
  • Suporte a vários idiomas — solicite transcrições em idiomas específicos com prioridade de fallback

Ferramentas

get_transcript

Busca a transcrição de um vídeo do YouTube. Por padrão, a resposta é prefixada com um bloco [METADATA] (título, canal, publicação, duração, visualizações, descrição); passe include_metadata=false para saída apenas com a transcrição.

ParâmetroTipoPadrãoDescrição
urlstringobrigatórioURL do vídeo do YouTube ou ID do vídeo
languagesstring[]["en"]Idiomas preferidos em ordem de prioridade
formatstring"text"Formato de saída: text, json, pretty, webvtt, srt
preserve_formattingbooleanfalseManter tags de formatação HTML na transcrição
include_timestampsbooleanfalseQuando true com format="text", prefixar cada linha com [HH:MM:SS]. Ignorado para outros formatos (eles já incluem carimbos de tempo).
include_metadatabooleantrueAntepor um bloco [METADATA] antes da transcrição. Passe false para saída apenas com a transcrição.

summarize_transcript

Busca uma transcrição e a retorna com instruções de resumo. A resposta é estruturada em seções claramente rotuladas ([INSTRUCTIONS], [PROMPT_SOURCE], [VIDEO], [METADATA], [TRANSCRIPT]) para que um humano possa revisar o prompt antes de permitir que o LLM atue sobre ele.

ParâmetroTipoPadrãoDescrição
urlstringobrigatórioURL do vídeo do YouTube ou ID do vídeo
promptstring(prompt padrão)Instruções personalizadas de resumo
languagesstring[]["en"]Idiomas preferidos em ordem de prioridade
include_timestampsbooleanfalsePrefixar cada linha da transcrição com [HH:MM:SS].
include_metadatabooleantrueIncluir um bloco [VIDEO] com título, canal, publicação, duração, visualizações e descrição.

get_video_metadata

Busca metadados (título, descrição, canal, data de upload, duração, visualizações, tags, capítulos, etc.) de um vídeo do YouTube. Suportado por yt-dlp.

ParâmetroTipoPadrãoDescrição
urlstringobrigatórioURL do vídeo do YouTube ou ID do vídeo

list_playlist_videos

Lista os vídeos de uma playlist do YouTube (título, ID, canal, duração, visualizações, URL). Os metadados por vídeo são intencionalmente enxutos para que a chamada permaneça rápida mesmo para playlists grandes; chame get_video_metadata com um ID de vídeo específico para detalhes completos.

ParâmetroTipoPadrãoDescrição
urlstringobrigatórioURL da playlist do YouTube (com ?list=...) ou ID da playlist simples
limitinteger500Máximo de vídeos a retornar
sort_bystring"index"Um de: index (ordem da playlist), title, duration, views. upload_date não é suportado.
orderstring"asc"asc ou desc

search_videos

Pesquisa vídeos no YouTube e retorna uma lista classificada e limpa (título, ID, canal, duração, visualizações, URL) — apenas vídeos reais, sem anúncios, prateleiras de recomendação ou personalização. A ordenação por relevância ainda vem do backend do YouTube. Combine com get_transcript ou summarize_transcript no ID ou URL de um resultado.

ParâmetroTipoPadrãoDescrição
querystringobrigatórioTermos de pesquisa
limitinteger10Máximo de resultados a retornar
sort_bystring"relevance"Um de: relevance, date (mais recentes primeiro), views, rating
uploadedstring"any"Filtrar por tempo de upload: any, hour, today, week, month, year
durationstring"any"Filtrar por duração: any, short (<4 min), medium (4–20 min), long (>20 min)

list_transcripts

Lista os idiomas de transcrição disponíveis para um vídeo.

ParâmetroTipoPadrãoDescrição
urlstringobrigatórioURL do vídeo do YouTube ou ID do vídeo

Instalação

Início rápido (recomendado)

uvx youtube-summarize

Claude Desktop

Adicione ao seu claude_desktop_config.json:

  • macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
  • Windows: %APPDATA%\Claude\claude_desktop_config.json
{
  "mcpServers": {
    "youtube-summarize": {
      "command": "uvx",
      "args": ["youtube-summarize"]
    }
  }
}

Claude Code

claude mcp add youtube-summarize -- uvx youtube-summarize

Outros clientes MCP

Execute o servidor via stdio:

uvx youtube-summarize

Pré-requisitos

  • Python 3.13+
  • uv gerenciador de pacotes

Desenvolvimento

# Install dependencies
uv sync

# Launch the MCP inspector (web UI for testing tools)
uv run mcp dev main.py

Licença

MIT


mcp-name: io.github.zlatkoc/youtube-summarize