TubeScout
Transforme o YouTube em um mecanismo de pesquisa: busca sem chave, inteligência de vídeo, transcrições resilientes e sinais de demanda — além de 6 habilidades de pesquisa inclusas para Claude Code, Codex e OpenCode.
Documentação
TubeScout 🔭
Transforme o YouTube em um mecanismo de pesquisa para seu agente de IA. Um servidor MCP (sem chave de API) mais um pacote de habilidades que fazem o Claude Code, Codex e OpenCode pesquisarem no YouTube como se fosse um banco de dados, lerem transcrições em escala e minerarem vídeos em busca de evidências — afirmações, números, sinais de demanda — em vez de achismos.
Ferramentas de geração de ideias analisam Reddit e fóruns. O YouTube é onde fundadores mostram comprovantes — painéis de receita, playbooks, números reais na câmera — e nada explora isso. O TubeScout faz.
Início rápido (60 segundos)
Claude Code
claude mcp add --scope user tubescout -- npx -y tubescout
Codex
codex mcp add tubescout -- npx -y tubescout
OpenCode — adicione em ~/.config/opencode/opencode.json sob "mcp":
"tubescout": { "type": "local", "command": ["npx", "-y", "tubescout"], "enabled": true }
É só isso — sem chave de API, sem configuração. Depois, pergunte ao seu agente coisas como:
"Encontre os 5 vídeos mais assistidos sobre n8n do último mês e resuma com o que as pessoas estão tendo dificuldade."
Mais fácil tudo-em-um (Claude Code): instale como plugin — servidor MCP + todas as 6 habilidades em dois comandos:
/plugin marketplace add not0lucky/tubescout
/plugin install tubescout@tubescout
Ou instale o pacote de habilidades manualmente (funciona para Claude Code, Codex e OpenCode):
git clone https://github.com/not0lucky/tubescout && cd tubescout
./scripts/install-skills.sh # installs into ~/.claude/skills, ~/.codex/skills, ~/.config/opencode/skills
Ferramentas
| Ferramenta | O que faz |
|---|---|
search_videos | Pesquisa com filtros (janela de upload, duração, ordenar por visualizações/data) |
get_video | Metadados completos + engajamento (sinal de ressonância likesPer1kViews) |
get_transcript | Transcrição em texto puro via cadeia de fallback resiliente com 3 estratégias |
get_transcripts | Transcrições em lote (até 10 vídeos), tolerante a erros por vídeo |
get_channel_videos | Posicionamento do canal + uploads recentes com contagem de visualizações |
get_search_suggestions | Autocomplete do YouTube = demanda real de pesquisa para pesquisa de palavras-chave |
Habilidades (os métodos de pesquisa)
| Habilidade | Use para |
|---|---|
/yt-breakdown <urls> | Análise cética de vídeos: extraia cada afirmação e número, teste resistência a incentivos, viés de sobrevivência, verificabilidade |
/yt-idea-mine <niche> | Minerar um nicho em busca de ideias de produto apoiadas por sinais de demanda + dores que construtores reais descrevem na câmera |
/yt-validate <idea> | Veredito de ir/não ir: demanda, saturação, o que os números dos concorrentes realmente mostram |
/yt-channel-intel <channel> | Ler a estratégia de um canal: cadência, outliers, o que performa vs. o que publicam |
/yt-playbook <tutorial url> | Transformar um tutorial em etapas executáveis — comandos exatos, configurações e as pegadinhas ditas de passagem — adaptadas à sua stack |
/yt-gap <niche> | Encontrar lacunas de demanda-vs-oferta: tópicos muito pesquisados atendidos por vídeos fracos, antigos ou inadequados — para planos de conteúdo ou ângulos de produto |
Todas as habilidades são sensíveis ao contexto: elas leem a conversa para entender o que você está construindo, sua stack e vídeos já analisados, e adaptam vereditos à sua alavancagem real em vez de dar conselhos genéricos.
Veja uma execução real do /yt-breakdown em três vídeos de "como ganho $X/mês" — incluindo o que sobreviveu à passagem cética e o que não sobreviveu.
Como funciona (honestamente)
Não há mágica aqui, e é esse o ponto:
- youtubei.js conversa com a API InnerTube interna do YouTube — a mesma que o site usa. Sem chave, sem cota.
- Transcrições são as próprias legendas do YouTube, buscadas por uma cadeia de fallback: a trilha timedtext do cliente ANDROID → o endpoint de transcrição do InnerTube (conhecido por falhar com 400 intermitentemente — repetido com backoff) →
yt-dlplocal se você tiver. Cada resposta informa qualsourcea serviu. - Toda a análise acontece no seu agente. O servidor entrega dados; as habilidades entregam método.
Limitações
- Execute localmente. O YouTube limita agressivamente IPs de datacenter — este é um servidor stdio local por design, não um serviço hospedado.
- O YouTube muda internals sem aviso; quando quebrar, atualize (
npxsempre puxa a versão mais recente) e abra uma issue com o ID do vídeo com falha. - Vídeos com legendas desativadas não podem ser transcritos (raro; o erro diz isso explicitamente).
- Raspagem de legendas vive em área cinzenta dos Termos de Serviço do YouTube — ok para ferramentas de pesquisa local, não construa um produto pago hospedado em cima disso.
Desenvolvimento
npm install && npm run build
npm test # unit tests (offline)
npm run test:live # live smoke tests against real videos — run before publishing
npm run inspect # MCP Inspector against the built server
MIT — veja LICENSE.
Construído por Anir — eu automatizo coisas. Mais em agramprojects.com.