mcpField
W
What's Loaded

What's Loaded

本地服务
shifttheculture.mediaAI 与智能体04 周前更新

关于 What's Loaded

What's Loaded 是面向 Claude Code 用户的 MCP 服务,用于追踪会话开始前占用上下文的内容。它估算技能描述、记忆文件及其导入的开销,并列出已配置的 MCP 服务,但不会启动服务或修改文件。

主要功能

  1. 01估算会话前的上下文用量
  2. 02按令牌开销排列技能
  3. 03按内容比较重复技能
  4. 04报告记忆文件及其导入
  5. 05列出已配置的 MCP 服务

适用场景

  1. 01找出开销较高、值得检查的技能描述
  2. 02区分内容相同与仅名称相同的技能
  3. 03追踪增加记忆文件开销的导入
  4. 04盘点 MCP 服务配置

MCP 相关

MCP 客户端可调用工具检查上下文来源和已配置的 MCP 服务;该服务只报告服务数量,不会启动服务或测量其工具定义。

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

mcp.json · 通用配置
{
"mcpServers": {
"stcmain-whats-loaded": {
"command": "npx",
"args": [
"-y",
"whats-loaded-mcp"
]
}
}
}
启动命令npx -y whats-loaded-mcp

本地服务需要在你的电脑上安装运行环境(如 Node.js 18+)。各客户端的配置文件位置不同,请参考客户端文档。

安装包
npmwhats-loaded-mcp0.2.5

工具

5

收录的工具列表 · 更新于 3 周前

此工具无需参数。

详细介绍

whats-loaded-mcp

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

你还没开始输入,上下文窗口就已经用掉了一半。 这个 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_filesCLAUDE.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

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。