What's Loaded

Mostra o que está consumindo a janela de contexto do seu agente antes de a conversa começar — descrições de skills classificadas por custo de tokens, skills duplicadas, arquivos de memória e suas importações, e cada servidor MCP configurado.

Documentação

whats-loaded-mcp

npm License: MIT stcmain/whats-loaded-mcp MCP server

Sua janela de contexto já está pela metade antes de você digitar. Um servidor MCP que mostra o que está consumindo ela — cada descrição de skill, cada arquivo de memória e seu @imports oculto, cada servidor MCP configurado — classificado por custo, com duplicatas destacadas.

Por quê

Skills são baratas de instalar e permanentemente caras de manter. O name e o description de uma skill vão para o prompt do sistema de toda sessão, para sempre — apenas o corpo é carregado sob demanda. Instale algumas centenas e você hipotecou silenciosamente metade da sua janela antes da primeira mensagem.

Nada traz isso à tona. Você percebe quando as sessões começam a compactar mais cedo do que costumavam, e não tem ideia de qual das coisas que instalou há seis meses é a responsável.

Na máquina em que isto foi escrito:

# Context budget — cost before you type a single character

**~95,316 estimated tokens always loaded.**
For scale: ~47.7% of a 200K window, ~9.5% of a 1M window.

| Source                                       | Count |  Est. tokens |
|----------------------------------------------|------:|-------------:|
| Skill descriptions                           | 1,767 |       92,884 |
| Memory files (CLAUDE.md/AGENTS.md + imports) |     3 |        2,432 |
| MCP servers configured                       |    10 | not measured |
| **Total measurable**                         |       |   **95,316** |

> **79 duplicate skill names** are costing ~9,435 tokens.

79 nomes foram instalados mais de uma vez — a mesma skill coletada de várias fontes, como agent-browser aparecendo três vezes de três autores. Mas um nome compartilhado nem sempre significa uma cópia redundante: nessa instalação, apenas 34 grupos eram byte-idênticos (~1.523 tokens genuinamente recuperáveis), enquanto 45 compartilhavam um nome e diferiam no conteúdo — trabalhos diferentes usando o mesmo rótulo, onde excluir uma cópia perde algo. duplicate_skills compara hashes de conteúdo e relata esses dois grupos separadamente, para que o conselho de limpeza seja seguro de seguir, e não apenas impressionante.

Ferramentas

FerramentaO que responde
context_budgetO destaque: quanto é carregado antes de você digitar, dividido por fonte. Comece aqui
skill_costsSkills classificadas por custo de tokens, para você cortar onde realmente compensa
duplicate_skillsA mesma skill instalada mais de uma vez — geralmente puro desperdício
memory_filesTamanhos de CLAUDE.md/AGENTS.md e o que suas linhas de @import puxam silenciosamente
mcp_serversCada servidor MCP configurado em seus clientes, e qual config o declara

Instalação

Claude Desktop (um clique, sem terminal): baixe o whats-loaded-mcp-<version>.dxt mais recente de Releases e abra com o Claude Desktop (duplo clique, ou Configurações → Extensões → Instalar Extensão…). O servidor e suas dependências vêm dentro do pacote — sem npm, sem instalação do Node.

Registre com o Claude Code (disponível em toda sessão):

claude mcp add --scope user whats-loaded -- npx -y whats-loaded-mcp

Ou em qualquer config de cliente MCP:

{
  "mcpServers": {
    "whats-loaded": {
      "command": "npx",
      "args": ["-y", "whats-loaded-mcp"]
    }
  }
}
A partir do código-fonte
git clone https://github.com/stcmain/whats-loaded-mcp.git
cd whats-loaded-mcp
npm install && npm run build
# then point your client at node /path/to/whats-loaded-mcp/dist/index.js

Publicado como whats-loaded-mcp no npm e como io.github.stcmain/whats-loaded-mcp no MCP Registry.

Configuração

Uma configuração opcional, e não exige credenciais.

VariávelPadrãoSignificado
WL_PROJECT_ROOTo diretório de trabalho do servidorDiretório tratado como "o projeto" para skills com escopo de projeto, arquivos de memória e .mcp.json.

Escopos pessoais e de plugins são lidos de ~/.claude de qualquer forma. Definir isso vale a pena quando um cliente desktop inicia o servidor: o processo herda o diretório de trabalho desse cliente, que raramente é o projeto sobre o qual você está perguntando.

{
  "mcpServers": {
    "whats-loaded": {
      "command": "npx",
      "args": ["-y", "whats-loaded-mcp"],
      "env": { "WL_PROJECT_ROOT": "/path/to/the/project" }
    }
  }
}

O que ele conta, e o que se recusa a adivinhar

Errar na direção lisonjeira seria fácil, então a contabilidade é deliberadamente conservadora:

  • Apenas descrições de skills. name + description é o que carrega na inicialização. O corpo de um SKILL.md é buscado sob demanda e não é contado, mesmo sendo 100× maior.
  • Apenas plugins habilitados. Skills de plugins desabilitados ficam no disco sem custo nenhum, e são relatadas separadamente em vez de incluídas no total.
  • Uma versão por plugin. O cache de plugins mantém várias cópias com hash de conteúdo do mesmo plugin; apenas a versão ativa é contada. Contar todas inflaria o total e inventaria duplicatas que você não pode eliminar.
  • marketplaces/ nunca é contado. Essa árvore é um checkout git do código-fonte do marketplace, não conteúdo instalado.

Limitações honestas

  • As contagens de tokens são estimativas (~4 caracteres/token). Contagens reais dependem do tokenizador; prosa pesa menos, código e CJK pesam mais. Trate os números como um ranking e uma escala aproximada, não como fatura. O tokenizador da Anthropic não é público, então nada local pode fazer melhor que uma estimativa.
  • Definições de ferramentas MCP não são medidas. Elas podem ser uma grande parte do seu contexto, mas medi-las significa iniciar cada servidor e enumerar suas ferramentas. Este servidor não inicia nada, então ele relata a contagem de servidores e diz isso em vez de adivinhar.
  • Apenas configs JSON. Clientes baseados em TOML (Codex config.toml) não são analisados.
  • Específico do cliente. Construído em torno do layout do Claude Code (~/.claude). O inventário MCP também lê configs do Claude Desktop, Cursor, Windsurf e VS Code, mas a contabilidade de skills é o modelo do Claude Code.
  • Ele relata; não edita. Nada é excluído, desabilitado ou reescrito. Agir sobre os achados é decisão sua.

Notas de design / modelo de ameaça

A saída deste servidor vai direto para o contexto de um modelo, então o risco interessante não é o que ele faz à sua máquina — é o que ele entrega ao modelo.

  • Sem processos filhos. Sem rede. Ele apenas lê arquivos. Não há exec, nenhum shell e nenhuma conexão de saída em qualquer lugar do código.
  • Nenhuma entrada do modelo vira caminho. Todo caminho é derivado de homedir() ou cwd(). Os únicos parâmetros controlados pelo modelo são um inteiro limitado e uma substring comparada em memória contra nomes já coletados. Travessia de caminho não é possível porque não há construção de caminho para atravessar.
  • O conteúdo dos arquivos de memória nunca é lido para o relatório. CLAUDE.md rotineiramente contém detalhes operacionais privados. Este servidor relata tamanho e o grafo de importação, nunca uma linha de conteúdo.
  • Valores de ambiente MCP nunca são lidos. Arquivos de config são onde as pessoas deixam chaves de API em texto puro. Apenas nomes de variáveis são emitidos — nunca valores, nem mascarados.
  • Nomes e descrições de skills são emitidos, o que é uma exceção deliberada: eles já estão no contexto do modelo por definição, então relatá-los não revela nada novo.
  • Trabalho limitado: varreduras de diretório com profundidade máxima, proteção contra loops de symlink via realpath e um teto de tamanho de arquivo.

Quem faz isso

Feito por Shift The Culture — operamos uma empresa de uma pessoa com agentes de IA e publicamos as ferramentas que precisávamos nós mesmos. Este servidor é gratuito e licenciado sob MIT, sem amarras.

Ele tem três irmãos, todos também gratuitos e MIT:

  • whats-running-mcp — o que está realmente rodando na máquina agora, em vez do que uma transcrição antiga afirma.
  • whats-inherited-mcp — o que um checkout que você não escreveu diz ao seu agente para fazer: arquivos de instrução, hooks e os servidores MCP que ele declara.
  • whats-allowed-mcp — o que seu agente pode fazer sem pedir permissão: regras de permissão mescladas, qual arquivo de configuração vence e as regras que seu cliente aceita e depois ignora.

O restante dessa ferramentaria é pago:

  • Agent Fleet Ops Kit ($29) — os outros modos de falha de rodar três ou quatro agentes em uma máquina: duas sessões editando o mesmo checkout, um servidor de desenvolvimento que ninguém possui (então o agente testa um app diferente do que edita) e servidores MCP vazados de sessões que travaram e seguram portas e RAM por semanas. Prefere PayPal? Mesmo kit no Payhip.
  • Agent Reliability Kit ($29) — um hook de Stop e dois CLIs que bloqueiam um turno quando um agente afirma "concluído" contra um repo, URL ou build que nunca foi realmente verificado. Prefere PayPal? Mesmo kit no Payhip.

O servidor acima permanece gratuito e MIT de qualquer forma — não tem upsell, nem telemetria, nem dependência dos kits pagos.

Patrocinadores

Este servidor é MIT e permanece MIT. Não há edição pro, nem telemetria, e nada é retido da versão gratuita. Patrocínio é como a manutenção é paga sem que nada disso mude.

Ainda sem patrocinadores — a primeira vaga está aberta. Patrocinadores empresariais ganham seu nome ou logo nesta seção, nos dois servidores irmãos e na página de patrocinadores. Níveis, exatamente o que a colocação inclui e o que ela explicitamente não compra: https://shifttheculture.media/sponsor

Indivíduos: https://paypal.me/ShiftTheCultureLLC — qualquer valor, sem benefícios, sem nível.

Licença

MIT © Zachary Pampu