Quantos MCPs deixar ligados no Claude Code? O custo de contexto das ferramentas conectadas

O custo de contexto MCP é o que suas ferramentas conectadas ocupam antes de você escrever a primeira frase: nomes de ferramentas MCP, descrições de skills, CLAUDE.md e memória automática já entram na sessão. No Claude Code o tool search vem ligado por padrão, então as definições ficam adiadas e só os nomes e as instruções do servidor carregam de cara. Para decidir quantos MCPs deixar ligados, rode /context para ver a quebra por categoria, /mcp e claude mcp list para ver o que está conectado, e /usage para ver a fatia de cada servidor
Fala aí, beleza? A tua sessão do Claude Code já começa com a janela de contexto parcialmente ocupada, mesmo que tu não tenha digitado uma única letra ainda
Antes da primeira frase já carregaram o CLAUDE.md, a memória automática, os nomes das ferramentas MCP e as descrições das skills
Aí a pergunta do título deixa de ser gosto pessoal e vira orçamento: quantos MCPs cabem ligados sem comer o espaço que a tarefa de verdade precisa?
Se liga que a resposta não é um número mágico, é uma leitura de dois comandos que tu já tem na mão
O que ocupa a janela de contexto antes de você escrever a primeira frase
O comando /context mostra tudo que ocupa a janela da sessão, quebrado por categoria: system prompt, ferramentas do sistema, ferramentas MCP, subagents customizados, arquivos de memória, skills e conversa
Ele ainda traz sugestões de otimização e diz quais arquivos CLAUDE.md e de memória automática foram carregados
E por que isso importa tanto? Porque cada token gasto com definição de ferramenta é um token que não vai pro teu código, pro erro que tu colou ou pro arquivo que o agente precisa ler
Formação Claude Code
Domine Claude Code do absoluto zero até o avançado
- 120 aulas
- 4 projetos
- 9h 45min
Quanto isso pesa quando nada é adiado
O post de engenharia da Anthropic sobre executar código com MCP dá a régua
Um setup de cinco servidores MCP com 58 ferramentas consome cerca de 55 mil tokens antes de a conversa começar
Acrescenta o servidor do Jira (que sozinho usa cerca de 17 mil tokens) e mais uns amigos, e o overhead passa de 100 mil tokens
Na própria Anthropic, as definições de ferramentas chegaram a consumir 134 mil tokens antes da otimização
Esse é o custo de contexto MCP que ninguém vê na tela: ele não aparece como mensagem, aparece como "por que essa sessão encheu tão rápido?"
O alívio: o prefixo estável é cacheado
Calma que nem tudo é tragédia
Conteúdo que se mantém igual entre turnos (system prompt, definições de ferramentas, CLAUDE.md) recebe prompt cache automático, o que reduz custo e latência dos prefixos repetidos
Ou seja: o peso continua ocupando espaço na janela, mas tu não paga o preço cheio de reprocessar aquilo a cada turno
Espaço na janela e custo por turno são duas contas diferentes, vale não misturar as duas 🙂
Como auditar o peso dos seus servidores MCP
Bora ver na prática? O roteiro abaixo usa só o que já vem no Claude Code
- Rode
/contextdentro da sessão e leia a quebra por categoria
É aqui que tu descobre quanto as ferramentas MCP estão pesando perto do resto (memória, skills, subagents)
O erro comum deste passo: rodar o /context no meio de uma conversa longa e culpar os MCPs pelo que na verdade é histórico de conversa. Olhe a categoria, não só o total
- Rode
/mcppara listar os servidores configurados
/mcp
Ele mostra todos os servidores configurados, o status de conexão e se você aprovou o servidor para o projeto atual
O erro comum deste passo: confundir servidor conectado com servidor usado. Conectado só quer dizer que ele subiu, não que alguma tarefa tua encostou nele nas últimas duas semanas
- No terminal, cheque a saúde de cada um
claude mcp list
claude mcp get <nome>
O claude mcp list lista os servidores com status de saúde (Connected, Needs authentication ou Failed to connect) e o claude mcp get <nome> mostra os detalhes de um servidor específico
O erro comum deste passo: deixar um servidor em Needs authentication parado no setup por meses. Ele continua na tua configuração e continua sendo apresentado ao modelo, mesmo sem tu conseguir usar
- Rode
/usagepara ver quem realmente consome
Nos planos Pro, Max, Team e Enterprise, o /usage mostra a quebra do que conta contra os limites do plano, atribuindo o uso recente a skills, subagents, plugins e servidores MCP individuais, cada um como percentual do total
As teclas d e w alternam entre 24 horas e 7 dias, o que é ótimo pra separar o que tu usa todo dia do que tu usou uma vez
O erro comum deste passo: ler número de versão antiga como se fosse a fatia real. A fatia de um servidor MCP conta só as requisições que consumiram um resultado de ferramenta dele, e essa atribuição foi corrigida a partir da versão 2.1.222. Antes disso, o Claude Code atribuía toda requisição seguinte ao servidor e superestimava a fatia
Com esses quatro números na mesa (peso na janela, lista de conectados, saúde e fatia de uso), a decisão de podar deixa de ser chute
Tool search ligado, por limiar ou desligado: o que muda
Aqui tem uma boa notícia que muita gente ainda não atualizou na cabeça: no Claude Code, o tool search vem ligado por padrão
Na prática, as definições das ferramentas MCP são adiadas em vez de carregadas de cara, e só os nomes das ferramentas e as instruções do servidor entram no início da sessão
Com o adiamento ativo, adicionar mais servidores MCP tem impacto mínimo na janela de contexto
Que adiamento? O agente recebe um resumo das ferramentas disponíveis e vai buscar as relevantes quando a tarefa exige uma capacidade que ainda não foi carregada. Em vez do catálogo inteiro, entram no contexto até cinco das ferramentas mais relevantes de cada busca, e elas ficam disponíveis nos turnos seguintes
| Modo | O que acontece | Quando faz sentido |
|---|---|---|
| Padrão do Claude Code (tool search ligado) | Definições adiadas, agente recebe um resumo das ferramentas e busca sob demanda; carrega até cinco das ferramentas mais relevantes por busca, que ficam disponíveis nos turnos seguintes | Conjunto grande de ferramentas, vários servidores ligados, sessão longa |
ENABLE_TOOL_SEARCH=auto |
Carregamento por limiar: carrega todos os schemas enquanto as definições adiáveis somarem menos de 10% da janela de contexto e adia todas assim que atingem 10% | Setup enxuto, quando tu quer schema completo enquanto o peso for pequeno |
CLAUDE_CODE_DISABLE_EXPERIMENTAL_BETAS |
Mantém o tool search desligado | Quando tu precisa de comportamento previsível sem beta ligado |
alwaysLoad: true na config do servidor |
As ferramentas daquele servidor ficam disponíveis com o schema completo já no primeiro turno, isentas do adiamento | O servidor que tu usa em praticamente toda tarefa do projeto |
O preço do adiamento existe e é honesto dizer qual é: o tool search adiciona um round-trip extra na primeira vez que o Claude descobre uma ferramenta (a etapa de busca)
Esse custo é compensado pelo contexto menor a cada turno em conjuntos grandes de ferramentas
E os ganhos, dá pra medir?
Dá, e os números da documentação de tool search e do material de engenharia ajudam a dimensionar
Na Claude Developer Platform, o Tool Search Tool preserva 191.300 tokens de contexto contra 122.800 da abordagem tradicional, mantendo acesso à biblioteca completa de ferramentas
E não é só espaço: em testes internos da Anthropic com bibliotecas grandes de ferramentas, a acurácia em avaliações MCP subiu de 49% para 74% no Opus 4, e de 79,5% para 88,1% no Opus 4.5, com o Tool Search Tool ligado
Menos ferramenta empilhada na frente do modelo também significa menos chance de ele escolher a errada, sacou?
E tem um caminho ainda mais agressivo: executar código com MCP, apresentando os servidores como APIs de código em vez de chamadas diretas de ferramenta, reduz o overhead de contexto em até 98,7%
Um detalhe pra não confundir produto: na Claude Developer Platform, quem constrói envia todas as definições pra API e marca ferramentas com defer_loading: true pra deixá-las descobríveis sob demanda, enquanto o Claude só enxerga o Tool Search Tool e as ferramentas com defer_loading: false
Isso é configuração de API, não de Claude Code. No CLI, o teu botão é o tool search e o alwaysLoad
Quais conexões valem estar ligadas por padrão e quais ligar sob demanda
Nenhuma fonte oficial define um teto de servidores, então não vou inventar número mágico aqui (essas coisas toscas ficam pra outro blog)
O critério que dá pra defender é de frequência: o que aparece em quase toda tarefa fica sempre carregado, o que aparece de vez em quando fica adiado ou fora
Servidor de toda tarefa
Se é o servidor que tu usa em praticamente todo trabalho daquele repositório, ele é candidato a alwaysLoad: true e a escopo de projeto
Servidores MCP são registrados por padrão no escopo local (privado pra você, ativo só no projeto atual)
claude mcp add <nome> --scope user
claude mcp add <nome> --scope project
O --scope user registra pra todos os seus projetos e o --scope project compartilha com o time
Tome cuidado com o --scope user: é ali que a bola de neve se forma, porque um servidor que servia pra um projeto passa a ocupar espaço em TODOS
Servidor de uma vez por semana
Esse fica no adiamento (o padrão já resolve) ou sai de vez
claude mcp remove <nome>
claude mcp remove <nome> --scope user
A flag --scope também vale no claude mcp remove, então preste atenção em qual escopo tu está removendo, senão parece que não removeu nada
As configurações de escopo user e local ficam em ~/.claude.json, e as de escopo project ficam em .mcp.json
Quando tu não quer remover, só barrar
Tem dois desligamentos por configuração que resolvem casos diferentes
A entrada disabledMcpjsonServers rejeita um servidor do .mcp.json pelo nome em todo tipo de sessão
Já deniedMcpServers é uma denylist que vale pra todos os escopos e tem precedência sobre a allowlist
Ou seja: dá pra manter o .mcp.json do time intacto e ainda assim não carregar aquele servidor que tu nunca usa
É o mesmo tipo de decisão de quando tu resolve se vale deixar o agente commitar por você: não é sobre a ferramenta ser boa, é sobre ela precisar estar ligada por padrão
Sinais de que suas ferramentas estão comendo contexto (e o que fazer)
Sintoma: apareceu aviso de saída gigante de ferramenta MCP
O Claude Code exibe um aviso quando a saída de uma ferramenta MCP passa de 10.000 tokens, e limita a saída a 25.000 tokens por padrão
A causa costuma ser consulta ampla demais (listar tudo em vez de filtrar)
A solução: ou aperta a consulta, ou ajusta o limite com MAX_MCP_OUTPUT_TOKENS
Só não espere o aviso sumir: o limiar do aviso é fixo, mesmo que tu aumente o limite
E se a ferramenta declara anthropic/maxResultSizeChars, é esse valor que vale pro conteúdo de texto, independentemente do MAX_MCP_OUTPUT_TOKENS
Sintoma: a janela enche cedo demais
A causa quase sempre é acúmulo: servidor que entrou pra um teste, ficou no escopo user e nunca mais saiu
A solução é a sequência de sempre: /context pra ver a quebra, deixar o adiamento fazer o trabalho dele e podar o que não aparece no /usage da semana
E nada de pânico: quando a janela de contexto enche, o Claude Code compacta automaticamente conforme se aproxima do limite, então contexto cheio não encerra a sessão
A compactação equivale ao passo /compact, e ela salva a sessão, mas não devolve o espaço que tu queimou em definição de ferramenta que nunca foi usada
Como prevenir
Revisar a lista de servidores por projeto, em vez de acumular tudo no escopo user
Cada repositório tem uma cara: o que é essencial num não é nem lembrado no outro
Conclusão
A régua é simples: o número certo de MCPs ligados é o que sobrevive a uma leitura do /context e do /usage
Com o tool search ligado por padrão no Claude Code, ter servidor a mais dói bem menos do que doía, porque as definições ficam adiadas e só entram quando a tarefa pede
Mas isso não é desculpa pra virar depósito de conexão, beleza?
Próximo passo bem concreto pra hoje: roda /context agora, compara com a fatia por servidor no /usage em 7 dias (tecla w) e remove ou deixa adiado tudo que não apareceu na semana
Se sobrar dois servidores no fim, tá ótimo. Se sobrar oito e o /context continuar folgado, também tá 😀
até o próximo post!
Perguntas frequentes
Quantos servidores MCP dá pra deixar conectados no Claude Code sem estourar o contexto?
Não tem um número fixo, porque o tool search vem ligado por padrão e adia as definições das ferramentas MCP em vez de carregar tudo de cara. Com o adiamento ativo, adicionar mais servidores tem impacto mínimo na janela de contexto. O que decide de verdade é rodar /context pra ver o peso atual e /usage pra ver quem realmente é usado.
O que muda ao usar ENABLE_TOOL_SEARCH=auto em vez do padrão do Claude Code?
Essa variável troca pra um carregamento por limiar: o Claude Code carrega todos os schemas enquanto as definições adiáveis somarem menos de 10% da janela de contexto. Assim que esse conjunto atinge os 10%, tudo passa a ser adiado. Faz sentido pra setup enxuto, quando tu quer schema completo enquanto o peso ainda for pequeno.
Como descobrir qual servidor MCP está pesando mais na sessão do Claude Code?
O /context mostra a categoria ‘ferramentas MCP’ separada do resto (system prompt, skills, subagents, memória). Já o /usage, disponível nos planos Pro, Max, Team e Enterprise, atribui o uso recente a cada servidor MCP em percentual do total. Vale lembrar que essa atribuição só ficou precisa a partir da versão 2.1.222; antes disso o Claude Code superestimava a fatia de cada servidor.
Vale a pena usar alwaysLoad: true num servidor MCP?
Definir alwaysLoad: true na configuração do servidor deixa as ferramentas dele disponíveis com o schema completo já no primeiro turno, isentas do adiamento do tool search. Faz sentido pra um servidor que tu usa em praticamente toda tarefa, onde o round-trip extra da busca não compensa. Pra servidor de uso ocasional, deixar o tool search cuidar do adiamento tende a poupar mais espaço.
Por que aparece um aviso quando uma ferramenta MCP retorna muito conteúdo?
O Claude Code exibe um aviso quando a saída de uma ferramenta MCP passa de 10.000 tokens, e por padrão limita essa saída a 25.000 tokens. A variável MAX_MCP_OUTPUT_TOKENS ajusta esse limite, mas o limiar do aviso continua fixo em 10.000. Se a ferramenta declarar anthropic/maxResultSizeChars, esse valor tem precedência sobre o MAX_MCP_OUTPUT_TOKENS pra conteúdo de texto.
Formações
Formação Vibe Coding
Do Prompt ao Produto: Crie Software Real com IA
- 474 aulas
- 20 projetos
- 39h 27min
Blog | Mais populares
Supabase MCP no Claude Code: como conectar o agente ao schema do seu banco
Supabase MCP no Claude Code conecta o agente ao schema real do seu banco: veja como instalar, autenticar via OAuth e por que usar só em desenvolvimento.
O que são servidores MCP no Claude Code e quando eles valem a pena?
Servidores MCP no Claude Code conectam o agente a bancos, docs e ferramentas externas. Entenda como funcionam e quando realmente valem a pena usar.
Context7 MCP no Claude Code: como parar de receber código de uma versão antiga da biblioteca
Context7 MCP no Claude Code busca a documentação atual da biblioteca e evita código desatualizado. Veja como instalar, os comandos e os planos Free e Pro.
