
Shows what consumes your agent's context window before the conversation starts — skill descriptions
Shows what consumes your agent's context window before the conversation starts — skill descriptions, memory files and their imports, configured MCP servers. Read-only, MIT.
Your context window is already half spent before you type. An MCP server that shows what is consuming it — every skill description, every memory file and its hidden @imports, every configured MCP server — ranked by cost, with duplicates called out.
Skills are cheap to install and permanently expensive to keep. A skill's name and description go into the system prompt of every session, forever — only the body is loaded on demand. Install a few hundred and you've quietly mortgaged half your window before the first message.
Nothing surfaces this. You notice it as sessions that compact sooner than they used to, and you have no idea which of the things you installed six months ago is responsible.
On the machine this was written on:
# 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 names were installed more than once — the same skill picked up from several sources, like agent-browser appearing three times from three authors. But a shared name does not always mean a redundant copy: on that install only 34 groups were byte-identical (~1,523 tokens genuinely recoverable), while 45 shared a name and differed in content — different work wearing the same label, where deleting a copy loses something. duplicate_skills compares content hashes and reports those two groups separately, so the cleanup advice is safe to act on rather than merely impressive.
| Tool | What it answers |
|---|---|
context_budget | The headline: how much is loaded before you type, split by source. Start here |
skill_costs | Skills ranked by token cost, so you trim where it actually pays |
duplicate_skills | The same skill installed more than once — usually pure waste |
memory_files | CLAUDE.md/AGENTS.md sizes and what their @import lines silently pull in |
mcp_servers | Every MCP server configured across your clients, and which config declares it |
Claude Desktop (one-click, no terminal): download the latest whats-loaded-mcp-<version>.dxt from Releases and open it with Claude Desktop (double-click, or Settings → Extensions → Install Extension…). The server and its dependencies ship inside the bundle — no npm, no Node install.
Register with Claude Code (available in every session):
claude mcp add --scope user whats-loaded -- npx -y whats-loaded-mcpOr in any MCP client config:
{
"mcpServers": {
"whats-loaded": {
"command": "npx",
"args": ["-y", "whats-loaded-mcp"]
}
}
}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.jsPublished as whats-loaded-mcp on npm and as
io.github.stcmain/whats-loaded-mcp in the MCP Registry.
One optional setting, and it takes no credentials.
| Variable | Default | Meaning |
|---|---|---|
WL_PROJECT_ROOT | the server's working directory | Directory treated as "the project" for project-scoped skills, memory files and .mcp.json. |
Personal and plugin scopes are read from ~/.claude either way. Setting this is
worth it when a desktop client launches the server: the process inherits that
client's working directory, which is rarely the project you are asking about.
{
"mcpServers": {
"whats-loaded": {
"command": "npx",
"args": ["-y", "whats-loaded-mcp"],
"env": { "WL_PROJECT_ROOT": "/path/to/the/project" }
}
}
}Getting this wrong in the flattering direction would be easy, so the accounting is deliberately conservative:
name + description is what loads at startup. The body of a SKILL.md is fetched on demand and is not counted, even though it is 100× larger.marketplaces/ is never counted. That tree is a git checkout of marketplace source, not installed content.config.toml) are not parsed.~/.claude). The MCP inventory reads Claude Desktop, Cursor, Windsurf and VS Code configs too, but skill accounting is Claude Code's model.This server's output goes straight into a model's context, so the interesting risk is not what it does to your machine — it is what it hands to the model.
exec, no shell, and no outbound connection anywhere in the codebase.homedir() or cwd(). The only model-controlled parameters are a clamped integer and a substring matched in memory against names already collected. Path traversal is not possible because there is no path construction to traverse.CLAUDE.md routinely contains private operational detail. This server reports size and the import graph, never a line of content.Built by Shift The Culture — we run a one-person company on AI agents and ship the tooling we needed ourselves. This server is free and MIT-licensed, no strings.
It has three siblings, all also free and MIT:
The rest of that tooling is paid:
The server above stays free and MIT either way — it has no upsell in it, no telemetry, and no dependency on the paid kits.
This server is MIT and stays MIT. There is no pro edition, no telemetry, and nothing held back from the free build. Sponsorship is how the maintenance gets paid for without any of that changing.
No sponsors yet — the first slot is open. Company sponsors get their name or logo in this section, in the two sibling servers, and on the sponsor page. Tiers, exactly what the placement is, and what it explicitly does not buy: https://shifttheculture.media/sponsor
Individuals: https://paypal.me/ShiftTheCultureLLC — any amount, no perks, no tier.
MIT © Zachary Pampu
Pick your client and paste the snippet. Each one is the same server, written the way that client expects it.
claude mcp add whats-loaded -- npx -y whats-loaded-mcp{
"mcpServers": {
"whats-loaded": {
"args": [
"-y",
"whats-loaded-mcp"
],
"command": "npx"
}
}
}code --add-mcp '{"name":"whats-loaded","args":["-y","whats-loaded-mcp"],"command":"npx"}'[mcp_servers.whats-loaded]
command = "npx"
args = ["-y", "whats-loaded-mcp"]Runs locally on your device. Your client starts the server itself, so nothing has to be hosted.
Paste this prompt into your agent. It reads this page and does the setup for you.
Read https://aiagentslisting.com/mcp/whats-loaded-mcp to learn what the "Whats Loaded Mcp" MCP server does and how to install it. Add it to my coding agent's MCP configuration as documented on that page, then confirm the server connects and list the tools it exposes.Agents can also browse this directory over MCP at https://aiagentslisting.com/api/mcp
claude mcp add --scope user whats-loaded -- npx -y whats-loaded-mcpThis server runs locally, so we can't read its tool list over the web yet.
Maintain this server? Claiming proves you own the listing and earns the last 4 points.
Claim this listingPaste this line near the top of your repository's README. The badge always renders the current score.
[](https://aiagentslisting.com/mcp/whats-loaded-mcp)Nothing comparable is listed yet.
v0.2.5whats-loaded-mcp v0.2.5Release notesConnect to the AI Agents Listing MCP server at https://aiagentslisting.com/api/mcp using the HTTP transport and complete the sign-in when it asks. Then call the submit_review tool for the listing "whats-loaded-mcp" with a rating from 1 to 5 and a short note on what worked and what did not.No reviews yet
Be the first to share your experience with this tool.
One email a week. New agents, MCP servers and skills, and what is actually getting traction.