关于 What's Loaded
What's Loaded 是面向 Claude Code 用户的 MCP 服务,用于追踪会话开始前占用上下文的内容。它估算技能描述、记忆文件及其导入的开销,并列出已配置的 MCP 服务,但不会启动服务或修改文件。
主要功能
- 01估算会话前的上下文用量
- 02按令牌开销排列技能
- 03按内容比较重复技能
- 04报告记忆文件及其导入
- 05列出已配置的 MCP 服务
适用场景
- 01找出开销较高、值得检查的技能描述
- 02区分内容相同与仅名称相同的技能
- 03追踪增加记忆文件开销的导入
- 04盘点 MCP 服务配置
MCP 相关
MCP 客户端可调用工具检查上下文来源和已配置的 MCP 服务;该服务只报告服务数量,不会启动服务或测量其工具定义。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
工具
5收录的工具列表 · 更新于 3 周前
此工具无需参数。
详细介绍
whats-loaded-mcp
你还没开始输入,上下文窗口就已经用掉了一半。 这个 MCP 服务会显示哪些内容正在消耗上下文窗口——每条技能描述、每个记忆文件及其隐藏的 @imports、每个已配置的 MCP 服务,并按成本排序,同时标出重复项。
为什么
技能安装起来很容易,保留它们却会持续产生高昂成本。技能的 name 和 description 会进入每个会话的系统提示词,永远如此——只有正文会按需加载。安装几百个技能,你还没发送第一条消息,就已经悄悄抵押了半个上下文窗口。
没有任何东西会揭示这一点。你只会发现会话比以前更早压缩,却不知道六个月前安装的哪些东西导致了这个问题。
在编写此工具的机器上:
# 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 个名称被重复安装——同一技能从多个来源获取,例如 agent-browser 就有三位作者各自提供的版本。但名称相同并不总是意味着副本多余:在那次安装中,只有 34 组内容逐字节相同(约 1,523 个 token 确实可以回收),而 45 组名称相同但内容不同——不同的工作内容使用了相同标签,删除副本就会丢失一些东西。duplicate_skills 会比较内容哈希,并分别报告这两类,因此清理建议可以放心执行,而不只是看起来很令人印象深刻。
工具
| 工具 | 它能回答的问题 |
|---|---|
context_budget | 核心概览:输入前已加载多少内容,并按来源拆分。从这里开始 |
skill_costs | 按 token 成本排列技能,方便你优先精简真正值得处理的部分 |
duplicate_skills | 同一技能被安装多次——通常纯属浪费 |
memory_files | CLAUDE.md/AGENTS.md 的大小,以及其 @import 行悄悄引入的内容 |
mcp_servers | 所有客户端中配置的每个 MCP 服务,以及声明它的配置文件 |
安装
Claude Desktop(一键安装,无需终端): 从 Releases 下载最新的 whats-loaded-mcp-<version>.dxt,然后用 Claude Desktop 打开(双击,或依次选择 Settings → Extensions → Install Extension…)。服务及其依赖都已打包在其中——无需 npm,也无需安装 Node。
在 Claude Code 中注册(每个会话均可使用):
claude mcp add --scope user whats-loaded -- npx -y whats-loaded-mcp
或在任意 MCP 客户端配置中:
{
"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.js
已在 npm 上发布为 whats-loaded-mcp,并在 MCP Registry 中登记为
io.github.stcmain/whats-loaded-mcp。
配置
有一个可选设置,不需要任何凭据。
| 变量 | 默认值 | 含义 |
|---|---|---|
WL_PROJECT_ROOT | 服务的工作目录 | 将此目录视为“项目”,用于项目范围的技能、记忆文件和 .mcp.json。 |
无论如何,个人和插件范围的内容都会从 ~/.claude 读取。如果桌面客户端启动服务,建议设置此项:进程会继承该客户端的工作目录,而那里很少是你正在询问的项目。
{
"mcpServers": {
"whats-loaded": {
"command": "npx",
"args": ["-y", "whats-loaded-mcp"],
"env": { "WL_PROJECT_ROOT": "/path/to/the/project" }
}
}
}
统计范围,以及不会擅自推测的内容
为了讨好用户而夸大统计结果很容易,因此这里有意采取保守的统计方式:
- 仅统计技能描述。 启动时加载的是
name+description。SKILL.md的正文按需获取,不计入统计,即使它大 100 倍也是如此。 - 仅统计已启用的插件。 已禁用插件所属的技能留在磁盘上,不产生任何开销,会单独报告,而不会并入总数。
- 每个插件只统计一个版本。 插件缓存会保留同一插件的多个内容哈希副本;这里只统计当前生效的版本。全部计入会夸大总数,并凭空制造出你无法处理的重复项。
marketplaces/永不计入统计。 该目录树是市场的 git 源码检出,而非已安装内容。
如实说明限制
- Token 数量为估算值(约 4 个字符/token)。实际数量取决于分词器;普通文本占用较少,代码和 CJK 字符占用较多。请将这些数字视为排名和大致规模,而非计费数据。Anthropic 的分词器并未公开,因此本地工具无法提供比估算更准确的结果。
- 不测量 MCP 工具定义。 它们可能占用大量上下文,但要测量就必须启动每个服务并枚举其工具。此服务不会启动任何内容,因此会报告服务数量并说明这一点,而不会进行猜测。
- 仅支持 JSON 配置。 不会解析基于 TOML 的客户端配置(Codex 的
config.toml)。 - 针对特定客户端。 基于 Claude Code 的目录结构(
~/.claude)构建。MCP 清单也会读取 Claude Desktop、Cursor、Windsurf 和 VS Code 配置,但技能统计采用的是 Claude Code 的模型。 - 只报告,不编辑。 不会删除、禁用或改写任何内容。如何根据发现采取行动由你决定。
设计说明/威胁模型
此服务的输出会直接进入模型的上下文,因此值得关注的风险不在于它会对你的机器做什么,而在于它会向模型提供什么。
- 不会启动子进程,也不会访问网络。 它只读取文件。整个代码库中没有
exec、没有 shell,也没有任何外连。 - 模型输入绝不会成为路径。 所有路径均由
homedir()或cwd()派生。模型唯一可控的参数是一个经过范围限制的整数,以及一个在内存中与已收集名称匹配的子字符串。由于没有构造路径的操作,因此不可能进行路径遍历。 - 不会将记忆文件内容读入报告。
CLAUDE.md通常包含私密的操作细节。此服务只报告文件大小和导入关系图,不会读取任何内容。 - 不会读取 MCP 环境变量的值。 配置文件中常会以明文保存 API 密钥。这里只会输出变量名称,绝不会输出变量值,即使是掩码后的值也不例外。
- **会输出技能名称和描述,**这是有意的例外:根据定义,它们本来就已存在于模型的上下文中,因此报告它们不会泄露任何新信息。
- 有界工作量:限制目录遍历深度,通过 realpath 防止符号链接循环,并设置文件大小上限。
制作者
由 Shift The Culture 构建——我们是一家由 AI Agent 驱动的一人公司,并自行开发所需的工具。此服务免费且采用 MIT 许可,没有任何附加条件。
它还有三个同系列项目,也都免费且采用 MIT 许可:
- whats-running-mcp — 查看当前机器上实际正在运行的内容,而不是旧对话记录声称的内容。
- whats-inherited-mcp — 查看你没有编写的代码库检出内容会指示 Agent 做什么:指令文件、钩子,以及其中声明的 MCP 服务。
- whats-allowed-mcp — 查看 Agent 无需询问你就能做什么:合并后的权限规则、哪个设置文件优先,以及客户端接受后又忽略的规则。
其余工具为付费内容:
- Agent Fleet Ops Kit($29)— 在一台机器上运行三四个 Agent 时会遇到的其他故障情况:两个会话同时编辑同一个检出内容、无人负责的开发服务器(因此 Agent 测试的是与编辑内容不同的应用),以及从崩溃会话中泄漏出来、占用端口和内存数周的 MCP 服务。 更喜欢 PayPal?同一套工具也可在 Payhip 购买。
- Agent Reliability Kit($29)— 一个 Stop 钩子和两个 CLI;如果 Agent 声称已完成,但实际上从未检查过相应的代码库、URL 或构建,它们就会阻止本轮操作。 更喜欢 PayPal?同一套工具也可在 Payhip 购买。
无论如何,上述服务始终免费且采用 MIT 许可——其中没有升级销售、没有遥测,也不依赖付费工具包。
赞助商
此服务采用 MIT 许可,并将始终采用 MIT 许可。没有专业版、没有遥测,也 没有任何内容会从免费版本中扣留。赞助能为维护工作提供资金, 而无需改变上述任何一点。
目前还没有赞助商——首个名额开放中。 企业赞助商的名称或 徽标会展示在此版块、两个同系列服务以及赞助页面上。 赞助等级、具体展示内容以及明确不包含的权益: https://shifttheculture.media/sponsor
个人赞助:https://paypal.me/ShiftTheCultureLLC — 金额不限,无附加权益,无等级。
许可证
MIT © Zachary Pampu
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。