Isso Acabou de Resolver o Maior Problema da IA na Programação

AAI LABS
Computing/SoftwareSmall Business/StartupsInternet Technology

Transcript

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.

Key Takeaway

O MCP to CLI resolve a ineficiência de tokens e o limite de contexto dos agentes de IA ao converter protocolos de ferramentas em comandos executáveis de terminal com suporte a cache e formatos de dados otimizados.

Highlights

O principal problema dos Model Context Protocols (MCPs) é a sobrecarga da janela de contexto do LLM ao expor muitas ferramentas simultaneamente.

A solução "MCP to CLI" transforma servidores MCP em comandos bash, permitindo a execução em tempo de execução sem poluir o contexto inicial.

O uso de cache com Time-to-Live (TTL) de uma hora garante que ferramentas frequentes sejam recuperadas rapidamente sem perder a flexibilidade.

A ferramenta suporta o formato "Toon", uma codificação eficiente que compacta saídas densas de dados em blocos muito menores que JSON ou YAML.

Segurança é mantida através do gerenciamento de tokens via variáveis de ambiente ou arquivos .env, evitando a exposição de segredos em argumentos de linha de comando.

A integração permite redirecionar saídas grandes para arquivos externos, possibilitando que o agente use ferramentas como "grep" para extrair apenas o necessário.

Timeline

O Problema da Sobrecarga de Contexto nos MCPs

O palestrante introduz a falha crítica no design original dos MCPs: a exposição excessiva de descrições de ferramentas na janela de contexto da IA. Embora a Docker e a Cloudflare tenham proposto soluções como o "code mode" e a conversão para TypeScript, estas ainda apresentam lacunas de flexibilidade e manutenção. A Anthropic reconheceu oficialmente esse problema de consumo de contexto em um artigo recente, validando as preocupações da comunidade. O excesso de ferramentas inúteis consome tokens valiosos e reduz a precisão do modelo durante tarefas de programação complexas. Esta seção estabelece a necessidade urgente de uma abordagem mais dinâmica e eficiente para lidar com múltiplas integrações.

Introdução ao MCP to CLI e Conversão em Tempo de Execução

A nova ferramenta MCP to CLI é apresentada como a solução definitiva ao transformar servidores MCP em comandos bash executáveis. Diferente de outras ferramentas que fazem a conversão no momento da compilação, o MCP to CLI opera em tempo de execução, garantindo que atualizações nos servidores originais sejam refletidas instantaneamente. Para evitar lentidão em chamadas repetidas, foi implementado um mecanismo de cache com TTL de uma hora. O vídeo destaca que essa abordagem evita a exposição antecipada de todas as ferramentas, carregando-as apenas quando necessário. Isso resolve tanto a sobrecarga inicial quanto a ineficiência de processamento de ferramentas estáticas.

Versatilidade, Performance e Segurança de Dados

Esta seção detalha como a ferramenta utiliza o SDK Python do MCP para garantir compatibilidade total e suporte a APIs OpenAPI/REST. Testes realizados com a biblioteca Tiktoken comprovam que esta solução é significativamente mais barata e rápida em termos de consumo de tokens. O palestrante explica que a ferramenta pode ser usada via pip ou executada sem instalação para manter o ambiente limpo. Um ponto crucial abordado é a segurança, onde tokens e chaves de API são protegidos por meio de variáveis de ambiente ou gerenciadores de segredos. Isso impede que informações sensíveis apareçam na lista de processos do sistema, tornando o uso de comandos bash seguro para produção.

Patrocínio Orchids e Aplicação Prática no Mundo Real

Após uma breve menção ao patrocinador Orchids, o vídeo demonstra a aplicação do MCP to CLI em um projeto real de backend com Supabase e GitHub. A equipe utiliza "skills" personalizadas para que o agente saiba como autenticar e utilizar as ferramentas sem configuração manual exaustiva. São conectados quatro MCPs diferentes, totalizando 78 ferramentas que agora não sobrecarregam o contexto do Claude. O palestrante enfatiza a importância de usar arquivos .env para gerenciar tokens de acesso de forma automatizada. Esta parte do vídeo prova a escalabilidade da solução ao lidar com múltiplos fluxos de trabalho, desde controle de versão até testes automatizados com Puppeteer.

Otimização de Saída com Formato Toon e Redirecionamento de Arquivos

O processo de implementação incremental revela que apenas conectar ferramentas não garante o comportamento correto da IA, exigindo o uso de arquivos de instrução como o claude.md. Para otimizar ainda mais o contexto, o palestrante introduz o formato "Toon", que é mais eficiente que JSON ou YAML para consumo por LLMs. Uma funcionalidade revolucionária apresentada é o redirecionamento de saídas grandes para arquivos externos em vez de exibi-las no chat. Isso permite que a IA utilize o comando "grep" para buscar padrões específicos em logs ou documentos extensos sem consumir milhares de tokens. O resultado é um fluxo de trabalho muito mais limpo e focado na resolução direta de bugs e implementação de recursos.

Testes de Interface, Conclusão e Comunidade AI Labs Pro

Na fase final, o agente utiliza o MCP do Puppeteer para realizar testes de interface de usuário (UI), simulando cliques e interações reais. O palestrante observa que, embora o Puppeteer seja útil, o uso de extensões nativas de navegador pode ser preferível para manter sessões complexas. A capacidade dos MCPs de rodar como processos persistentes é destacada como uma vantagem para manter o estado durante a sessão de desenvolvimento. O vídeo encerra apresentando a comunidade AI Labs Pro, onde templates prontos e o arquivo claude.md otimizado estão disponíveis para os membros. Por fim, o autor agradece o apoio dos espectadores e incentiva o uso do botão "Valeu demais" para sustentar a criação de conteúdo técnico de alta qualidade.

Community Posts

View all posts