What's Loaded

io.github.stcmain由 GitHub 帳號 stcmain 發布v0.2.5更新於 Oct 24, 2026

What fills your agent's context window before a session starts: skill descriptions, memory files.

概覽

AI 產生的概覽

一個本機 MCP 伺服器,用來報告 AI 代理在工作階段開始前上下文視窗已載入的內容,並依估算 token 成本排序。

可以做什麼
報告上下文預算總量並依來源拆分,作為檢視的起點。依 token 成本排序已安裝技能,方便優先精簡最花成本的部分。找出重複安裝的技能,並區分內容完全相同的副本與同名但內容不同的技能。統計 CLAUDE.md、AGENTS.md 等記憶檔案的容量,以及其匯入行額外帶入的內容。列出各支援用戶端中設定的所有 MCP 伺服器及其所在的設定檔。
適用情境
當工作階段比以前更早觸發壓縮,或安裝了大量技能、外掛和記憶檔案、想了解哪些最佔上下文時適用。也適合稽核 Claude Desktop、Cursor、Windsurf 和 VS Code 中設定了哪些 MCP 伺服器。
執行需求
以 stdio 方式在本機執行,通常透過 npx 或打包好的桌面擴充套件安裝。npm 方式需要 Node.js,桌面安裝包自帶相依套件。不需要憑證或 API 金鑰。有一個選用設定 WL_PROJECT_ROOT,用來指定視為專案的目錄。會讀取家目錄下的 Claude Code 目錄結構以及 JSON 格式的用戶端設定。
安裝前請注意
token 數只是粗略估算(約每 token 4 個字元),不是計費數據,且不統計 MCP 工具定義。不解析 TOML 格式的用戶端設定,技能統計依 Claude Code 的模型。它只讀取和報告,不會刪除、停用或改寫任何內容,是否處理發現的問題由你決定。技能名稱和描述會被輸出到模型上下文中。

安裝

在 SourceWeft 中

  1. 開啟 儀表板中的 What's Loaded,將其新增到工作區。
  2. 為需要使用其工具的對話啟用該服務。

Desktop only,透過 STDIO。 STDIO 服務會啟動本機處理程序,因此需要 SourceWeft 桌面主機。

其他 MCP 客戶端

參照 儲存庫 中的啟動說明。

README

whats-loaded-mcp

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

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.

Why

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.

Tools

ToolWhat it answers
context_budgetThe headline: how much is loaded before you type, split by source. Start here
skill_costsSkills ranked by token cost, so you trim where it actually pays
duplicate_skillsThe same skill installed more than once — usually pure waste
memory_filesCLAUDE.md/AGENTS.md sizes and what their @import lines silently pull in
mcp_serversEvery MCP server configured across your clients, and which config declares it

Install

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):

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

Or in any MCP client config:

json
{  "mcpServers": {    "whats-loaded": {      "command": "npx",      "args": ["-y", "whats-loaded-mcp"]    }  }}
From source
bash
git clone https://github.com/stcmain/whats-loaded-mcp.gitcd whats-loaded-mcpnpm install && npm run build# then point your client at node /path/to/whats-loaded-mcp/dist/index.js

Published as whats-loaded-mcp on npm and as io.github.stcmain/whats-loaded-mcp in the MCP Registry.

Configuration

One optional setting, and it takes no credentials.

VariableDefaultMeaning
WL_PROJECT_ROOTthe server's working directoryDirectory 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.

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

What it counts, and what it refuses to guess

Getting this wrong in the flattering direction would be easy, so the accounting is deliberately conservative:

  • Skill descriptions only. 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.
  • Enabled plugins only. Skills belonging to disabled plugins sit on disk costing nothing, and are reported separately rather than folded into the total.
  • One version per plugin. The plugin cache keeps several content-hash copies of the same plugin; only the live one is counted. Counting them all would inflate the total and invent duplicates you cannot act on.
  • marketplaces/ is never counted. That tree is a git checkout of marketplace source, not installed content.

Honest limitations

  • Token counts are estimates (~4 chars/token). Real counts depend on the tokenizer; prose runs lighter, code and CJK run denser. Treat the numbers as a ranking and a rough scale, not as billing. Anthropic's tokenizer is not public, so nothing local can do better than an estimate.
  • MCP tool definitions are not measured. They can be a large share of your context, but measuring them means launching every server and enumerating its tools. This server does not launch anything, so it reports the server count and says so rather than guessing.
  • JSON configs only. TOML-based clients (Codex config.toml) are not parsed.
  • Client-specific. Built around the Claude Code layout (~/.claude). The MCP inventory reads Claude Desktop, Cursor, Windsurf and VS Code configs too, but skill accounting is Claude Code's model.
  • It reports; it does not edit. Nothing is deleted, disabled or rewritten. Acting on the findings is your call.

Design notes / threat 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.

  • No child processes. No network. It only reads files. There is no exec, no shell, and no outbound connection anywhere in the codebase.
  • No model input ever becomes a path. Every path is derived from 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.
  • Memory file contents are never read into the report. CLAUDE.md routinely contains private operational detail. This server reports size and the import graph, never a line of content.
  • MCP environment values are never read. Config files are where people leave API keys in plaintext. Only variable names are emitted — never values, not even masked.
  • Skill names and descriptions are emitted, which is a deliberate exception: they are already in the model's context by definition, so reporting them discloses nothing new.
  • Bounded work: depth-capped directory walks, symlink-loop protection via realpath, and a file size ceiling.

Who makes this

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:

  • whats-running-mcp — what is actually running on the box right now, instead of what an old transcript claims.
  • whats-inherited-mcp — what a checkout you did not write tells your agent to do: instruction files, hooks, and the MCP servers it declares.
  • whats-allowed-mcp — what your agent can do without asking you: merged permission rules, which settings file wins, and the rules your client accepts and then ignores.

The rest of that tooling is paid:

  • Agent Fleet Ops Kit ($29) — the other failure modes of running three or four agents on one box: two sessions editing the same checkout, a dev server nobody owns (so the agent tests a different app than it edits), and MCP servers leaked from crashed sessions that hold ports and RAM for weeks. Prefer PayPal? Same kit on Payhip.
  • Agent Reliability Kit ($29) — a Stop hook and two CLIs that block a turn when an agent claims "done" against a repo, URL, or build that was never actually checked. Prefer PayPal? Same kit on Payhip.

The server above stays free and MIT either way — it has no upsell in it, no telemetry, and no dependency on the paid kits.

Sponsors

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.

License

MIT © Zachary Pampu

來源:README.md,提交 7342b8a

工具

0
SourceWeft 尚未在沙箱中啟動過該軟體包,因此其工具未知。

版本歷史

1
  1. v0.2.5最新Sep 16, 2026

評分

已滿足適用檢查項的 50%

該評分衡量此收錄條目的完整程度,依據註冊中心條目、端點與公開來源計算得出。它不是對伺服器本身的評價,也不表示伺服器安全或目前可用:可連通性是帶日期的檢查結果,評分也不包含安裝量或使用者評價。

  • 近 30 天內可連通25 分

    請保持端點能夠回應 MCP 握手;SourceWeft 每 30 天探測一次。

  • 已宣告認證方式10 分

    請在註冊中心條目中宣告憑證請求標頭,或保持端點能夠回應探測,以便判定其認證方式。

  • 已列出工具15 分

    請讓伺服器在無憑證時回應 tools/list,或發布可在沙箱中無憑證啟動的軟體包。

  • 描述必需15 分
  • 圖示10 分
  • 文件15 分
  • 授權條款10 分