MCP Context Bloat: Custos Reais e uma Solução Prática para Usuários do Claude Code

Um usuário do Reddit que executou 9 servidores MCP no Claude Code por quatro meses detalhou os custos ocultos e a degradação de desempenho que enfrentou, juntamente com uma solução concreta. O post é leitura obrigatória para quem usa MCP em produção.
A Matemática
Com 9 servidores (filesystem, GitHub, Stripe, Linear, Notion, Postgres, Sentry, AWS e customizados) expondo 142 ferramentas no total, a inicialização a frio consome 38k tokens de prompt do sistema + esquemas de ferramentas a cada turno. A 200 turnos/dia, são 7,6M de tokens de entrada/dia. Com preços do Sonnet (~$15/M saída, ~$3/M entrada), isso dá ~$23/dia ou ~$700/mês apenas nas definições das ferramentas MCP — antes de qualquer trabalho real. O cache só ajuda em prefixos idênticos; rodar um servidor MCP invalida o cache.
O Que Quebra
- A seleção de ferramentas degrada: Com 142 ferramentas no contexto, Claude começou a escolher a ferramenta errada para consultas óbvias (ex.: usar
linear_search_issuesquando pedia para ler um arquivo). - Enumeração lenta: Servidores com muitos esquemas, como AWS, levam de 4 a 6 segundos para listar ferramentas.
- Propagação silenciosa de erros: Uma ferramenta mal descrita pode contaminar a classificação de todas as consultas relacionadas.
A Solução: Padrão de Gateway com BM25
O usuário migrou para um padrão de gateway usando Ratel, uma biblioteca Rust de código aberto e em processo com classificação BM25. Claude agora vê apenas três ferramentas: search_tools, invoke_tool e auth. Todo o resto é classificado sob demanda. Resultados:
- A inicialização a frio caiu de 38k para ~4k tokens.
- A seleção de ferramentas erradas foi quase eliminada porque o modelo só vê as 5 melhores classificadas pela consulta.
- A configuração levou 10 minutos (um comando faz a importação do Claude Code).
O autor observa que a maioria das startups de "otimizador MCP" é apenas busca BM25 disfarçada. As descrições de ferramentas são curtas, estruturadas e cheias de correspondências de palavras-chave — sem necessidade de vetor DB ou LLM no loop. BM25 sobre uma projeção plana de nome + descrição obtém 90% do ganho deterministicamente em microssegundos, offline.
Lição fundamental: "substituir" é melhor que "sugerir". Se seu gateway entrega 5 ferramentas ao modelo em vez de 142, a matemática funciona. Se sugere 5 junto com 142, o modelo ainda carrega 142 e você não economizou nada.
📖 Leia a fonte completa: r/ClaudeAI
👀 See Also

Unsloth e NVIDIA colaboram para acelerar o treinamento de LLMs em ~25%
Unsloth e NVIDIA lançam otimizações para treinamento de LLMs: cache de metadados de sequências empacotadas (~14,3% de aceleração) e checkpointing de gradiente assíncrono com buffer duplo (~8% de aceleração), sem perda de precisão. Ativado automaticamente em laptops RTX, GPUs de data center e DGX Spark.

Kreuzberg v4.7.0 adiciona inteligência de código para 248 idiomas e extração aprimorada de markdown
Kreuzberg v4.7.0, uma biblioteca de inteligência de documentos com núcleo em Rust, agora suporta extração de código para 248 formatos via tree-sitter e melhorou significativamente a qualidade do markdown com pontuações Structural F1 acima de 80% em 23 formatos.

Por que a saída da interface do Claude Code se desvia e como uma especificação estruturada a corrige
Um desenvolvedor explica que a saída inconsistente de UI do Claude Code não é um problema de prompt — é um problema de formato. Fornecer códigos hexadecimais exatos, pesos de fonte, espaçamento, estados de tela e transições elimina a deriva. Eles também disponibilizaram como código aberto um servidor MCP que converte gravações de tela em especificações estruturadas.

Femtobot: Agente Rust Eficiente para Ambientes de Baixos Recursos
Femtobot é um agente de IA baseado em Rust projetado para rodar com eficiência em máquinas de baixo recurso, como Raspberry Pis mais antigos, através de um binário de ~10MB sem grandes dependências de runtime.