Ctxvitals:一条命令审计 AI 智能体栈的 token 开销与安全风险
Show HN: Ctxvitals – a vitals check for your AI agent stack (npx ctxvitals)
作者发布 Ctxvitals,用 npx ctxvitals 一条命令测量 MCP server、skill、command 和规则文件在智能体读取首条消息前消耗的 token。
为你的 AI agent 技术栈点亮一座灯塔。 一条命令即可测量每个 MCP 服务器、技能、命令和规则文件实际消耗的 token 数——在你的 agent 读取任何一条消息之前。
npx ctxvitals
这要解决的问题
运行 15 个以上 MCP 服务器的人,仅工具 schema 每轮就可能烧掉 60,000+ tokens。在此之前,唯一的办法就是 grep JSONL 会话日志然后靠猜。ctxvitals 会自行启动每个 stdio MCP 服务器,读取真实的 tools/list 响应,并打印出实际账单:
CTX VITALS v0.1.0 · Princes-MacBook-Pro-2095 · 2026-10-12
══════════════════════════════════════════════════════════
GRADE: F (1/100)
CONTEXT BILL — tokens burned before the first message
39,402 tok skill descriptions ×901 static
26,487 tok MCP claude-code (20 tools) probed
6,597 tok MCP chrome-devtools (30 tools) probed
4,480 tok AGENTS.md (rule) static
4,035 tok MCP blender (9 tools) probed
3,279 tok MCP hostinger-vps (14 tools) probed
3,279 tok MCP server-31-97-202 (14 tools) probed
3,279 tok MCP local-filesystem (14 tools) probed
1,052 tok MCP browsermcp (12 tools) probed
363 tok MCP brave-search (2 tools) probed
──────────────────────────────────────────────────
92,413 tokens every turn
SECURITY
HIGH origin/SKILL.md pipes remote content into a shell
HIGH composio-cli/SKILL.md pipes remote content into a shell
MEDIUM mcp:claude-code plaintext secret in config env (ANTHROPIC_API_KEY)
MEDIUM mcp:computer-use command not found — stale config
LOW mcp:server-31-97-202 duplicate of mcp:hostinger-vps
LOW mcp:local-filesystem duplicate of mcp:hostinger-vps
是的,这是来自真实机器的真实报告。同一个 MCP 服务器以三个名字安装。配置文件里有一个明文 API key。还没写第一条 prompt,92K tokens 就没了。
--html 标志会生成一份可分享的报告卡(demo.html):
它检查什么
| 层面 | 方式 |
|---|---|
| MCP token 成本 | 启动每个 stdio 服务器并读取真实的 tools/list schema——实际字节数,而非估算 |
| 技能 | 统计始终加载的 frontmatter token 数与触发时才加载的正文 token 数 |
| 规则文件 | CLAUDE.md / AGENTS.md / GEMINI.md / .cursorrules / .mdc——始终在上下文中 |
| 安全 | curl-pipe-sh、提示注入短语、硬编码密钥、数据外泄模式、未固定版本的包、MCP env 中的明文密钥、非 TLS 远程服务器 |
| 卫生状况 | 重复的服务器、指向已失效二进制的陈旧配置、挂起或崩溃的服务器 |
| 评级 | 一份可分享的 A–F 评分卡 |
它会扫描 ~/.claude、~/.cursor、~/.codeium/windsurf、~/.copilot、
~/.config/devin、~/.agents、~/.codex、~/.gemini,以及当前目录下的项目级
.claude/.cursor/.devin/.agents 目录和 mcp.json 配置。零依赖,Node 18+。
用法
npx ctxvitals # full audit: discovery + live MCP probing npx ctxvitals --no-probe # static only, no servers launched npx ctxvitals --json # machine-readable output npx ctxvitals --html report.html # shareable HTML report card npx ctxvitals --badge # README badge markdown with your grade
探测会从你自己的 MCP 配置中运行完全相同的 command+args——与你的 agent 客户端每次启动时所做的完全一致。不会执行其他任何东西。
--no-probe 可选择退出。
徽章
[](https://github.com/princejain756/ctxvitals)
把它放进你的 MCP 服务器或技能包的 README 中,让用户在安装前就能看到你的工具要花多少成本。这才是重点。
也可作为技能安装
此仓库附带 skills/ctxvitals/SKILL.md,因此 Claude Code / Devin / 任何
兼容 SKILL.md 的 agent 都可以自行运行审计:
git clone https://github.com/princejain756/ctxvitals
cp -r ctxvitals/skills/ctxvitals ~/.claude/skills/
# then ask your agent: "audit my agent stack"
评分
A ≥ 90 · B ≥ 80 · C ≥ 70 · D ≥ 55 · F < 55
扣分来自实测数字,而非感觉:上下文账单大小、超过 10 个的服务器数量、按严重程度划分的安全标记、未固定版本的包、损坏的配置。
评分逻辑在 bin/ctxvitals.js 中——去读它、质疑它、给它提 PR。
路线图
- 公开排行榜——热门 MCP 服务器和技能的实测 token 成本 + 标记
-
--watch模式:当技术栈变更导致账单膨胀时发出警告 - 带
--max-tokens/--min-grade门禁的 CI 模式 - 各客户端兼容性矩阵(哪里会出问题)
为什么是一个工具而不是又一份清单
Awesome 清单告诉你有什么。注册表告诉你发布了什么。 两者都不会告诉你它要花多少成本、是否安全,或者是否能在你的环境上运行。这就是缺失的生命体征层。
MIT © Prince Jain
来源:Hacker News · github.com
