Reduza o uso de tokens do MCP no Claude Code: resolva o problema da janela de contexto
Servidores MCP podem consumir dezenas de milhares de tokens antes de você digitar um único prompt. Este artigo mostra como medir esse custo com /context, remover servidores ociosos, ativar a busca de ferramentas, limitar a saída das ferramentas e usar subagentes para que o Claude Code mantenha a janela de contexto para o seu trabalho de verdade.
Você abre o Claude Code, digita um prompt curto e o medidor de contexto já aparece pela metade. Não há nada de errado com o seu prompt. O culpado costuma ser a pilha de servidores MCP que você conectou no mês passado e esqueceu. Cada servidor entrega ao Claude uma lista de definições de ferramentas assim que a sessão começa, e cada definição é paga em tokens antes de qualquer trabalho real começar. Some a isso algumas respostas de ferramentas inchadas e a janela de contexto acaba muito antes de a tarefa terminar. A boa notícia é que este é um dos problemas mais fáceis de resolver em todo o fluxo de trabalho. Este artigo percorre a ordem que funciona: medir primeiro, depois podar servidores, ativar a busca de ferramentas, limitar a saída e reiniciar as sessões no momento certo.
Se você reconhece esses sintomas, está em boa companhia. Sessões que parecem lentas, respostas que esquecem instruções de dez minutos atrás e uma compactação automática que dispara no meio de uma refatoração apontam todas para o mesmo problema: sobrecarga fixa demais e pouco espaço para o trabalho em si.
Por que os servidores MCP consomem seu contexto
O Model Context Protocol (MCP) permite que o Claude Code se comunique com bancos de dados, navegadores, rastreadores de issues, ferramentas de design e geradores de imagens. Cada conexão é realmente útil. O preço é que o Claude precisa saber o que cada ferramenta faz, então o nome, a descrição e o esquema JSON completo de cada ferramenta são carregados no prompt.
Para onde os tokens realmente vão
A sobrecarga do MCP vem de quatro fontes, e só algumas delas são óbvias.
Fonte
Quando é carregada
Impacto típico
Quem controla
Definições de ferramentas
Início da sessão
Centenas de tokens por ferramenta, milhares por servidor
Você, ao escolher os servidores
Respostas de ferramentas
A cada chamada
De algumas centenas a dezenas de milhares de tokens
O servidor e o seu limite de saída
Arquivos de memória como CLAUDE.md
Início da sessão
Cresce a cada regra que você adiciona
Você
Histórico da conversa
Cresce durante toda a sessão
Cresce a cada turno
Compactação e limpeza
O relato de engenharia da Anthropic sobre a busca de ferramentas descreve uma configuração com 58 ferramentas em cinco servidores que consumiam cerca de 55 mil tokens antes mesmo de a conversa começar. Isso dá em torno de 950 tokens por ferramenta. Um servidor com 35 ferramentas, como uma integração completa com uma plataforma de hospedagem de código, pode sozinho consumir uma fatia de dois dígitos de uma janela padrão.
💡 Conta rápida: se suas ferramentas têm em média 900 tokens cada e você conecta 40 delas, já gastou cerca de 36.000 tokens em um cardápio que o Claude talvez nunca peça.
O custo real das ferramentas ociosas
Ferramentas ociosas prejudicam de duas formas. A primeira é o espaço puro: uma janela que começa 30% cheia tem 30% menos espaço para código, logs e raciocínio. O cache de prompts reduz o preço dessa sobrecarga fixa nas trocas repetidas, mas não faz nada pelo espaço que ela ocupa.
A segunda é o ruído de decisão. Quando cinco servidores expõem ferramentas sobrepostas de busca ou obtenção de dados, o modelo tem mais quase-duplicatas para escolher. Os próprios testes da Anthropic com carregamento sob demanda de ferramentas mostraram que expor menos ferramentas logo de início também melhorou a confiabilidade com que a ferramenta certa era escolhida. Ter menos ferramentas não é apenas mais barato, muitas vezes também é mais preciso.
Meça o estrago primeiro
Não comece a apagar servidores por palpite. Meça, mude uma coisa e meça de novo.
Rode /context antes de mexer em qualquer coisa
Abra uma sessão nova no seu projeto e rode /context antes de enviar qualquer prompt. O Claude Code mostra um detalhamento da janela por categoria: prompt do sistema, ferramentas do sistema, ferramentas MCP, arquivos de memória, mensagens e espaço livre. Como você ainda não digitou nada, a linha de mensagens fica perto de zero e todo o resto é sobrecarga pura.
Depois rode /mcp para listar os servidores conectados e seus status. Em um terminal comum, claude mcp list mostra o mesmo inventário. Anote o número de ferramentas MCP de /context. Esse é o seu ponto de partida.
Leia os números como um orçamento
Não existe um limite oficial, mas esta regra prática funciona bem na prática:
Participação das ferramentas MCP na janela
Veredito
O que fazer
Abaixo de 5%
Saudável
Deixe como está
De 5% a 15%
Vale uma olhada
Remova os servidores que você usa com menos de uma vez por semana
Acima de 15%
Um problema real
Corte com firmeza e ative a busca de ferramentas
Verifique também a linha dos arquivos de memória. Um CLAUDE.md que virou um muro de regras custa tokens em cada sessão, assim como um servidor MCP tagarela.
Corte e delimite seus servidores
O token mais barato é aquele que nunca é carregado. A higiene dos servidores vence qualquer configuração esperta.
Desative primeiro, apague depois
Abra o menu /mcp e desligue o que você não precisa para a tarefa de hoje. Dependendo da sua versão, você pode alternar um servidor ali sem perder a configuração. Quando tiver certeza de que um servidor é peso morto, remova-o de vez com claude mcp remove <name>.
Faça três perguntas sobre cada servidor:
Usei alguma ferramenta dele na última semana?
Já existe uma ferramenta de linha de comando que faz o mesmo trabalho?
Ele duplica ferramentas que outro servidor já oferece?
Um "não" honesto já é motivo suficiente para desativá-lo.
Delimite os servidores por projeto
Servidores MCP podem ser adicionados em três escopos: local, projeto e usuário. Um servidor de escopo de projeto fica em um arquivo .mcp.json na raiz do repositório, então só é carregado onde faz diferença:
claude mcp add --scope project my-db -- npx my-db-mcp-server
Mantenha o seu escopo de usuário quase vazio. Coloque o servidor de banco de dados no repositório que tem um banco de dados, e o servidor de design no repositório que tem designs. Para sessões pontuais, você também pode iniciar o Claude Code com apenas os servidores listados em um arquivo de configuração:
claude --strict-mcp-config --mcp-config ./mcp/docs-only.json
Essa sessão ignora todos os outros servidores configurados, o que a torna ideal para uma tarefa focada ou para uma comparação limpa de antes e depois.
Troque servidores por CLIs simples
Se uma ferramenta já existe como programa de linha de comando, como git, gh, docker, psql ou aws, o Claude pode executá-la pelo shell. Isso custa zero tokens de definição de ferramenta, porque o modelo já sabe como esses comandos funcionam.
A Anthropic levou essa ideia adiante em seu post sobre execução de código com MCP. Apresentar os servidores como APIs de código que o agente chama a partir de um script, em vez de ferramentas individuais, reduziu um fluxo de exemplo de cerca de 150.000 tokens para cerca de 2.000, uma redução de 98,7%. Você não precisa reconstruir seu conjunto de ferramentas para se beneficiar da lição.
O MCP ainda vence em alguns casos:
Fluxos de autenticação que uma CLI não consegue tratar de forma limpa
Serviços remotos sem equivalente em linha de comando
Resultados estruturados que você quer tipados e validados
Para todo o resto, experimente a CLI primeiro.
Deixe a busca de ferramentas carregar sob demanda
Às vezes você realmente precisa de dezenas de ferramentas disponíveis. É aí que o carregamento adiado se justifica.
Como funciona o carregamento adiado
Em vez de colar todas as definições de ferramentas no prompt, o cliente carrega uma pequena ferramenta de busca junto com uma lista de nomes de ferramentas. Quando o Claude decide que precisa de algo, ele pesquisa, e só as definições correspondentes são trazidas. Nas versões recentes do Claude Code, isso se ativa automaticamente quando as definições de ferramentas MCP passariam a ocupar uma grande parcela da janela, em torno de 10% no momento em que escrevo.
A Anthropic relatou uma queda de cerca de 85% nos tokens de definição de ferramentas em seu próprio exemplo. A ideia é a de um catálogo de fichas de biblioteca: você não leva todos os livros até a sua mesa, leva o índice e busca o que precisa.
Ajuste para a sua configuração
O comportamento é controlado pela variável de ambiente ENABLE_TOOL_SEARCH:
# Default: only kicks in when MCP tools get large
export ENABLE_TOOL_SEARCH=auto
# Lower the trigger point (percent of the window)
export ENABLE_TOOL_SEARCH=auto:5
Nomes e limites mudaram entre as versões, então consulte a documentação da versão que você tem instalada.
💡 Rode /context sempre de novo depois de uma mudança. Se a linha de ferramentas MCP não diminuiu, a configuração não está fazendo o que você pensa.
Há uma contrapartida. O primeiro uso de uma ferramenta adiada custa uma etapa extra de busca. Se você usa as mesmas três ferramentas em todas as sessões, mantenha esse servidor pequeno carregado diretamente e deixe a busca de ferramentas cuidar da cauda longa.
Pare as respostas de ferramentas superdimensionadas
As definições são um custo fixo. As respostas são o custo variável que surpreende as pessoas.
Limite o tamanho da saída
O Claude Code avisa quando um único resultado de ferramenta MCP passa de cerca de 10.000 tokens e corta em 25.000 por padrão. Você pode reduzir esse teto com uma variável de ambiente:
export MAX_MCP_OUTPUT_TOKENS=10000
Um limite é uma rede de segurança, não um projeto. A solução melhor é um servidor que devolva menos desde o início. Se você cria ou configura servidores, insista nestes padrões:
Padrão
Problema
Abordagem melhor
Devolver uma tabela inteira
Dezenas de milhares de linhas no contexto
Filtrar, ordenar e limitar no servidor
Incorporar uma imagem em base64
Milhares de tokens por imagem
Devolver uma URL hospedada
Devolver o HTML bruto da página
O ruído de marcação domina
Extrair o texto de um seletor
Consultar o status com o payload completo
O volume se repete a cada consulta
Devolver só um campo de status até terminar
Devolva URLs, não blobs de imagem
Imagens são cobradas pelo tamanho, aproximadamente largura vezes altura dividida por 750 em tokens de entrada. Uma imagem de 1.000 por 1.000 pixels custa cerca de 1.300 tokens, e uma captura de tela em resolução total custa várias vezes isso. Servidores que geram imagens ou clipes devem devolver uma URL curta e um status, nunca os próprios pixels.
A geração de imagens e vídeos é onde isso aparece primeiro. O conector MCP do PicassoIA funciona do jeito certo: uma chamada de geração devolve um ID de previsão imediatamente, e você consulta o status até que uma URL hospedada apareça. Se você está escolhendo um gerador para chamar a partir de um agente, modelos de texto para imagem como P-Image e Flux 2 Pro combinam bem com esse padrão, e um modelo de vídeo como o Seedance 2.5 Lite se encaixa no mesmo ciclo de criar, consultar e buscar.
Isole o trabalho e reinicie com frequência
Mesmo uma configuração enxuta se enche durante uma sessão longa. A última camada de defesa é a estrutura.
Dê a cada subagente uma única tarefa
Um subagente roda na própria janela de contexto e devolve apenas um resumo. Isso o torna o lugar perfeito para trabalhos barulhentos: automação de navegador, buscas grandes, laços de geração de imagens. Um arquivo de subagente em .claude/agents/ recebe um nome, uma descrição, uma lista de permissões de tools e um model, então você pode restringi-lo exatamente às duas ou três ferramentas de que ele precisa.
Pense nisso como mise en place: cada tigela guarda um ingrediente, e nada mais toca a bancada. Para tarefas mecânicas, um modelo pequeno como o Claude 4.5 Haiku costuma bastar, e isso deixa sua sessão principal livre para o raciocínio que exige um modelo maior. Versões mais novas também permitem que um subagente declare seus próprios servidores MCP, para que os pesados nunca toquem na conversa principal.
Quando o /compact compensa
/compact substitui a conversa até ali por um resumo, e você pode direcioná-lo:
/compact keep the failing test names, file paths and the final design decision
Rode-o em pontos naturais de pausa: uma funcionalidade acabou de ficar pronta, os testes acabaram de passar, você está prestes a começar uma nova fase. Não espere a compactação automática. Ela dispara quando a janela está quase cheia, o que pode acontecer bem no meio de uma edição delicada.
Quando o /clear vence
Se você está mudando para uma tarefa não relacionada, não compacte. Limpe. Contexto antigo sobre outro bug não é um ativo, é ruído que puxa as respostas para o lado errado. Depois de /clear, carregue apenas o que a nova tarefa precisa.
💡 Fatos duradouros pertencem ao CLAUDE.md, mas mantenha-o curto. Ele é carregado em toda sessão, então cada parágrafo extra é um imposto que você paga para sempre. Revise-o mensalmente e apague as regras que o modelo já segue sem que alguém precise dizer.
Como usar o Sonnet 5 no PicassoIA
Aqui vai uma forma de baixo risco de reduzir o lado de entrada das suas sessões antes que ele chegue ao Claude Code. O Claude Sonnet 5 no PicassoIA foi feito para tarefas de programação e uso de ferramentas, o que o torna uma boa área de testes para condensar um CLAUDE.md inchado, resumir um log longo ou rascunhar um prompt mais enxuto. Cole o resultado no Claude Code em vez da bagunça original.
Abra a página do modelo. Acesse o Claude Sonnet 5 no PicassoIA.
Preencha o campo Prompt obrigatório. Cole o texto que você quer condensar e diga ao modelo o que manter, por exemplo: "Reduza este log às dez linhas que explicam a falha."
Defina o nível de esforço. O padrão é low, que desliga o raciocínio para respostas mais rápidas e baratas. Aumente apenas para raciocínios realmente complicados.
Limite a saída.max_tokens tem como padrão 8.192. Para um resumo, um número bem menor mantém a resposta enxuta.
Adicione um prompt de sistema se você reutilizar a tarefa. Uma linha como "Responda em tópicos, com menos de 150 palavras" fixa o formato em todas as execuções.
Anexe uma imagem apenas quando necessário. A opção max_image_resolution tem como padrão 0,5 megapixel e reduz as imagens antes de chegarem ao modelo, o que economiza tempo e dinheiro.
Gere e copie o resultado para a sua sessão do Claude Code.
Configurações que economizam tokens
Configuração
Padrão
Movimento para economizar tokens
effort
baixo
Mantenha baixo para resumos e reescritas
max_tokens
8192
Reduza para o tamanho da resposta que você quer
max_image_resolution
0,5 megapixel
Mantenha baixo, a menos que detalhes finos importem
system_prompt
vazio
Defina uma regra curta de formato uma vez e reutilize
Para trabalhos de raciocínio mais pesados, como planejar uma refatoração em muitos arquivos, o Claude Fable 5 e o Claude Opus 4.7 estão na mesma plataforma, então você pode comparar como cada um lida com a mesma entrada enxugada.
Coloque em prática no PicassoIA
Aqui está o plano inteiro em uma página, ordenado por esforço versus retorno:
Correção
Esforço
Retorno típico
Rode /context e registre uma linha de base
2 minutos
Mostra para onde vão os tokens
Desative ou remova servidores ociosos
5 minutos
Costuma ser o maior ganho isolado
Delimite os servidores com .mcp.json
10 minutos
Impede que servidores globais carreguem em todo lugar
Troque servidores simples por CLIs
15 minutos
Elimina as definições por completo
Ative a busca de ferramentas
2 minutos
Grande redução para conjuntos grandes de servidores
Reduza MAX_MCP_OUTPUT_TOKENS
1 minuto
Protege contra respostas descontroladas
Subagentes para trabalhos barulhentos
20 minutos
Mantém a janela principal limpa
/compact nos pontos de pausa, /clear entre tarefas
Contínuo
Evita estouro no meio da tarefa
Comece pelas duas primeiras linhas hoje. Elas levam menos de dez minutos e costumam devolver um espaço surpreendente.
Quando sua janela tiver espaço de novo, use-a em algo criativo. Abra o PicassoIA, escolha um modelo de imagem como o GPT Image 2 ou o P-Image, e gere sua primeira imagem a partir de uma frase simples. Depois anime-a com o Seedance 2.5 Lite ou o PicassoIA Video. Teste sua própria ideia, mude um detalhe no prompt e veja o quanto o resultado muda. É o jeito mais rápido de descobrir o que esses modelos podem fazer, e cada experimento é uma boa desculpa para manter seu contexto enxuto.