00:00:00Nestes últimos dois meses, a comunidade de IA percebeu que os MCPs têm um grande problema.
00:00:04E, por causa disso, a comunidade surgiu com algumas soluções.
00:00:08Mas todas as soluções possuem lacunas enormes.
00:00:10Há um tempo, fizemos um vídeo sobre a solução da Docker,
00:00:12que considerávamos a melhor solução para o problema do MCP até agora.
00:00:16A Docker lançou o "code mode", que permite aos agentes escreverem código JavaScript que chama ferramentas MCP diretamente.
00:00:21E isso resolveu o problema em que as ferramentas MCP consomem muito contexto
00:00:24ao expor a ferramenta e a descrição na janela de contexto.
00:00:27Portanto, se você estiver trabalhando com muitos MCPs, sua janela de contexto ficará sobrecarregada com
00:00:32ferramentas desnecessárias, sendo que a maioria nem é precisa na maior parte do tempo.
00:00:36Mas com o gateway MCP da Docker, você ficava limitado aos MCPs que a Docker havia configurado
00:00:41e havia limites para MCPs locais e remotos.
00:00:43Além disso, você não conseguia salvar essas ferramentas personalizadas como funções.
00:00:47Tudo isso foi desencadeado quando a Cloudflare identificou esse problema e propôs uma solução
00:00:51para que essas ferramentas existam como código executável, em vez de ficarem na janela de contexto.
00:00:56A Anthropic, que foi a arquiteta original deste protocolo, reconheceu essa falha em
00:01:00seu produto e deu seguimento lançando um artigo destacando exatamente esse problema.
00:01:04Depois disso, as pessoas começaram a levar esse problema a sério e a explorar soluções.
00:01:09Mas a solução de converter cada ferramenta em um arquivo TypeScript também tem lacunas.
00:01:13Com muitos MCPs conectados, você precisa converter cada um para código individualmente e
00:01:18também precisa gastar muito tempo para garantir que nenhum deles falhe no processo.
00:01:22Mas como este se tornou um problema reconhecido,
00:01:24as pessoas ainda estão tentando trazer soluções melhores.
00:01:26E foi aí que encontramos esta nova ferramenta chamada MCP to CLI.
00:01:30O MCP to CLI resolve o problema de sobrecarga de contexto dos MCPs transformando todos os
00:01:36servidores MCP em ferramentas de linha de comando (CLI) que você pode executar via comandos bash.
00:01:40Atualmente, usamos principalmente o Cloud Code em nossa equipe, e ele tem uma flag de CLI que visa
00:01:45resolver parte desse problema. Essa ferramenta resolve a sobrecarga inicial de contexto do MCP ao não expor
00:01:50todas as ferramentas antecipadamente na janela de contexto. Ela permite que o Cloud Code carregue dinamicamente
00:01:55cada ferramenta conforme necessário. Mas isso ainda deixa outra questão no Cloud Code. Como você deve saber,
00:02:00os MCPs retornam seus resultados diretamente na janela de contexto. E caso haja uma saída grande
00:02:05retornada pela ferramenta MCP, ela permanece na janela de contexto de qualquer forma, levando a uma
00:02:10sobrecarga desnecessária. Agora, você também pode ter ouvido falar de outras ferramentas de código aberto, como o CLI
00:02:15Hub, que visam o mesmo problema, mas são ineficientes porque fazem a conversão no momento da compilação
00:02:20e não em tempo de execução. Então, o que significa conversão em tempo de execução? Significa que a ferramenta é convertida
00:02:25em um comando bash no exato momento em que é chamada. Isso pode parecer bom, mas o que
00:02:29acontece quando o MCP original é atualizado? Como esta ferramenta constrói suas ferramentas MCP em
00:02:34tempo de execução, qualquer alteração no MCP real é refletida automaticamente na ferramenta convertida.
00:02:39Isso não seria possível se estivéssemos construindo ferramentas na compilação. Nesse caso,
00:02:43teríamos que buscar e atualizar a ferramenta manualmente todas as vezes. Mas você pode
00:02:48pensar que converter a mesma ferramenta toda vez que ela é chamada tornaria as chamadas repetidas lentas. É aí que
00:02:53entra o mecanismo de cache que eles construíram na ferramenta. Ele salva todas as ferramentas MCP em um
00:02:58cache com um tempo de vida (TTL) padrão de uma hora. Assim, todas as ferramentas MCP usadas com frequência vão direto para
00:03:03o cache e ficam lá por uma hora. A partir daí, o agente pode obter as ferramentas com uma recuperação mais rápida
00:03:08sem sacrificar a flexibilidade do tempo de execução. Esta ferramenta é construída diretamente sobre o
00:03:13SDK Python do MCP, o mesmo que todo servidor MCP usa internamente. Assim, em todas as chamadas de ferramentas MCP,
00:03:19ela simplesmente as executa como comandos bash e só injeta a resposta na janela de contexto do
00:03:24agente quando solicitado. Ela também lida com OpenAPI e APIs REST através da mesma interface de
00:03:30CLI, o que significa que qualquer API existente que não tenha um servidor MCP ainda pode ser usada da
00:03:35mesma forma. Sem esta ferramenta, você fica limitado aos tipos de MCPs que pode conectar.
00:03:39Outras soluções similares geralmente não dão flexibilidade para trabalhar com todos os tipos de MCPs
00:03:44em um só lugar. Para comprovar suas alegações de eficiência de tokens, eles executaram uma suíte de testes automatizados usando
00:03:49o Tiktoken, a biblioteca Python para contagem de tokens. Nos testes, a ferramenta foi muito mais barata e
00:03:54teve uma execução muito mais rápida. Então, você não precisa apenas acreditar na nossa palavra. Esta ferramenta
00:03:59realmente tem os números para provar. Você pode instalá-la no seu sistema usando pip ou executá-la sem
00:04:03instalar. Escolhemos rodar sem instalar porque mantém o ambiente de trabalho limpo.
00:04:07E eles também forneceram uma "skill" que ajuda os agentes a trabalharem melhor com esta ferramenta. Ela define o
00:04:13fluxo de trabalho principal e dá exemplos de comandos bash para diferentes tarefas, como autenticação e cache,
00:04:18para as quais seu agente não tem contexto. Mas antes de prosseguirmos, uma palavra do
00:04:22nosso patrocinador, Orchids. A maioria dos construtores de IA lida bem com mockups simples, mas falha quando você precisa de
00:04:27lógica complexa ou estruturas de vários arquivos. É aí que entra o Orchids. O primeiro agente de IA que
00:04:32pode construir e implantar qualquer app em qualquer stack diretamente do seu ambiente. Você pode usar sua
00:04:36própria assinatura para rodar modelos a preço de custo usando suas contas existentes do ChatGPT, Claude ou Gemini,
00:04:41até mesmo o GitHub Copilot. Ele foi feito para lidar com qualquer app em qualquer stack. Você não está limitado apenas à web.
00:04:47Você pode construir e implantar de tudo, desde apps móveis e extensões do Chrome até agentes de IA complexos
00:04:52e bots para o Slack. Veja estes projetos: uma configuração completa do OpenClaw gerenciando lógica complexa de
00:04:57nível de hardware, um terminal Bloomberg funcional processando feeds de dados ao vivo massivos em tempo real
00:05:02e apps móveis nativos, como este identificador de prédios que aproveita o feed da câmera do seu dispositivo
00:05:07diretamente. Clique no link no comentário fixado e comece a construir. E use o código March15 para
00:05:1215% de desconto no seu plano. Assim como você, também queremos ficar ricos. E uma forma é notar uma lacuna no
00:05:17mercado. E foi aí que tivemos esta ideia de ouro: um "Grindr", mas para cavalos. Mas brincadeiras à parte,
00:05:22construir produtos em larga escala requer muitas ferramentas MCP porque elas têm muitas dependências
00:05:27e lotam a janela de contexto rapidamente. Conectamos o agente ao MCP do Supabase usando o MCP to CLI,
00:05:34porque essa era a infraestrutura de backend que estávamos usando. Agora você não precisa configurar
00:05:38nada manualmente por causa da "skill" que instalamos antes. Essa skill cuida de tudo sozinha
00:05:43e configura os MCPs para você. Mas antes de sair instalando, você precisa obter os
00:05:47tokens de acesso de qualquer MCP que esteja usando. Porque, se não o fizer, você encontrará
00:05:52erros como nós, após os quais geramos nosso token de acesso e pedimos ao Claude para adicioná-lo.
00:05:57Uma vez configurado corretamente, você verá as ferramentas disponíveis para uso. Agora, você pode pensar
00:06:01que, se esta ferramenta roda como um comando bash, não é seguro ter dados sensíveis como chaves de API e
00:06:06tokens de acesso nela, pois podem ser expostos ao listar processos. Mas esta ferramenta adiciona uma
00:06:11camada de proteção. Ela não coloca dados sensíveis nos argumentos da linha de comando. Em vez disso, ela os
00:06:15gerencia através de variáveis de ambiente, ou referencia um caminho de arquivo onde os tokens estão salvos,
00:06:21ou usa um gerenciador de segredos que os injeta em tempo de execução. Portanto, é seguro. De forma similar à
00:06:26conexão com o Supabase, conectamos o MCP do GitHub para controle de versão, o do Puppeteer para testes de
00:06:32navegador e o MCP do Context7 para dar base ao agente com a documentação correta para que
00:06:37ele trabalhe com documentos atualizados. Com todos os MCPs conectados, pedimos ao Claude para verificar tudo.
00:06:42Ele confirmou que tínhamos os quatro MCPs conectados, totalizando 78 ferramentas no nosso caso. Além disso, se você estiver
00:06:47gostando do nosso conteúdo, considere apertar o botão de "hype", pois isso nos ajuda a criar mais vídeos
00:06:52como este e a alcançar mais pessoas. Agora que estávamos conectados, era hora de começar a
00:06:57implementar o app de forma incremental. Começamos conectando o código do lado do cliente ao backend do
00:07:02Supabase. Quando o Claude executou o comando MCP to CLI para criar o projeto, notamos que ele não colocou
00:07:07o token de acesso diretamente na chamada da ferramenta. Em vez disso, ele referenciou nosso arquivo .env.local
00:07:12no nível do projeto para o token. Ele criou o projeto, configurou tudo e adicionou a lógica
00:07:17de conexão no código. Mas notamos que ele usou um arquivo de middleware para a lógica de atualização de sessão
00:07:22e não deveria estar usando isso, pois está obsoleto. A nova versão do Next.js usa
00:07:27o proxy e sabíamos que isso daria erro ao rodar o app. Isso mostra que
00:07:31conectar ferramentas não é suficiente para fazer o agente ouvi-las e realmente usá-las quando
00:07:36necessário. Então criamos um arquivo claude.md e dissemos para usar o MCP do Context7 antes de escrever qualquer
00:07:42código. Assim, isso não aconteceria de novo. Dessa forma, ele sabe que deve consultar o MCP do Context7
00:07:47antes da implementação. Quando terminou de adicionar tabelas e configurar a autenticação no Supabase,
00:07:52apontamos o aviso de middleware obsoleto ao Claude para que ele pudesse corrigir. Depois que
00:07:57pedimos, ele finalmente usou o MCP do Context7 para obter a documentação e resolver o problema
00:08:03corretamente. Mas ao explorar esta ferramenta mais a fundo, descobrimos que havia uma maneira melhor de
00:08:07lidar com essas questões do que criar um arquivo claude.md. As "skills" são melhores porque suas
00:08:11descrições são carregadas diretamente no contexto do agente. Assim, ele já sabe quais ferramentas estão
00:08:16disponíveis e quando usá-las, em vez de apenas jogarmos instruções no claude.md esperando que
00:08:21ele as leia. Então, pedimos para criar uma skill para todos os MCPs que havíamos conectado. O Claude então
00:08:26criou skills para cada MCP. Cada uma detalhava quais ferramentas ele tinha, como usá-las e quando usá-las.
00:08:32Com isso no lugar, passamos para o próximo problema. Mas o que tínhamos estava longe de ser funcional.
00:08:36O feedback dos "cavalos" nos disse que eles estavam ficando impacientes por não conseguirem conversar
00:08:41diretamente na plataforma. Então pedimos ao Claude para tornar o chat funcional para o projeto além
00:08:46da interface. Quando testamos, as mensagens não carregavam e mostravam apenas uma tela de carregamento. Então
00:08:51pedimos para usar o MCP do Puppeteer para testar o fluxo de mensagens. Fizemos ele testar a si mesmo porque
00:08:56um agente que pode clicar, rolar e interagir com sua própria interface detecta coisas que uma revisão de código estática
00:09:01nunca conseguiria. Para fins de teste, ele criou dois usuários. Mas não conseguiu manter os dados da sessão entre as
00:09:06chamadas de ferramentas, já que cada uma abria uma nova instância do navegador. O número de ferramentas usadas e o
00:09:10tempo levado no navegador headless nos fez perceber algo. Uma opção melhor seria apenas
00:09:15deixar o MCP cuidar disso. Foi muito mais rápido e levou bem menos tempo do que os sete minutos que perdemos em
00:09:21uma tarefa tão simples. Preferimos usar a própria extensão de navegador do Claude, que funciona melhor,
00:09:25tem mais capacidades e consegue reter sessões melhor para testes de ponta a ponta como esses. E
00:09:30os MCPs rodam como processos persistentes, por isso conseguem manter o estado durante toda a
00:09:35sessão. Esta ferramenta também oferece controle sobre o formato de saída, como JSON e saída bruta. Ela também
00:09:40suporta o Toon, o formato de codificação eficiente em tokens para consumo de LLMs. Quando trabalhamos com MCPs como
00:09:46o Context7, eles geralmente retornam um bloco enorme de saída diretamente na janela de contexto. Para
00:09:51evitar isso, adicionamos no arquivo claude.md que sempre que ele usar o MCP do Context7, ele deve usar
00:09:57o formato Toon para a saída. É um formato eficiente porque combina indentação e listas em estilo
00:10:02CSV, compactando grandes informações em blocos muito menores comparado ao JSON e YAML. Dessa
00:10:07forma, você não desperdiça tokens desnecessariamente. Mas a maior revolução veio de algo que
00:10:12nem era possível quando os MCPs eram lidados nativamente pelos agentes. Se você se lembra, o Cursor
00:10:16lançou um fluxo de edição de contexto em seu produto. Eles trataram os resultados do MCP como arquivos e
00:10:22deixaram o agente usar scripts bash como grep para busca de padrões e extração de dados. Cobrimos isso em nosso
00:10:27vídeo anterior. Tentamos implementar essa ideia em outros agentes de codificação, mas como os MCPs são lidados
00:10:32nativamente pelos agentes, não conseguíamos extrair muito disso. Mas agora com este CLI é possível porque
00:10:37os MCPs são tratados como ferramentas de comando bash. Então adicionamos uma instrução no claude.md para que, sempre
00:10:43que qualquer ferramenta MCP produzir uma saída grande, em vez de carregá-la na janela de contexto, ela deve
00:10:49redirecioná-la para um arquivo no caminho que especificamos. Estávamos acompanhando o progresso do projeto através de
00:10:54um arquivo progress.json. Após adicionar a instrução, pedimos ao Claude para implementar um recurso da
00:10:59lista. Ele então usou o MCP do Context7 para as chamadas de ferramenta, mas em vez de despejar a saída na janela de
00:11:05contexto, ele a enviou para um arquivo e usou grep para extrair os dados e concluir a implementação.
00:11:10O arquivo claude.md com todas as melhores práticas para usar esta ferramenta está disponível no AI Labs Pro. Para
00:11:16quem não sabe, é a nossa comunidade recém-lançada, onde você recebe templates prontos para usar
00:11:20que pode plugar diretamente em seus projetos deste vídeo e de todos os anteriores. Se você encontrou
00:11:25valor no que fazemos e quer apoiar o canal, esta é a melhor forma de fazer. O link está na
00:11:29descrição. Isso nos traz ao final deste vídeo. Se você quiser apoiar o canal e
00:11:33nos ajudar a continuar fazendo vídeos como este, pode fazer isso usando o botão "Valeu demais" abaixo.
00:11:38Como sempre, obrigado por assistir e vejo você no próximo.