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
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
| Ferramenta | O que responde |
|---|---|
context_budget | O destaque: quanto é carregado antes de você digitar, dividido por fonte. Comece aqui |
skill_costs | Skills classificadas por custo de tokens, para você cortar onde realmente compensa |
duplicate_skills | A mesma skill instalada mais de uma vez — geralmente puro desperdício |
memory_files | Tamanhos de CLAUDE.md/AGENTS.md e o que suas linhas de @import puxam silenciosamente |
mcp_servers | Cada 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ável | Padrão | Significado |
|---|---|---|
WL_PROJECT_ROOT | o diretório de trabalho do servidor | Diretó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 umSKILL.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()oucwd(). 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.mdrotineiramente 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