Spec Driven Development
MCP Server that facilitates spec-driven development workflows, not just Vibe Coding.
作者提供的说明(英文原文)
Local profiler: which usage window took you out, and where your agent's money goes
这三项永远不会合并成一个分数:意见、测量和人气是不同的东西。
我们还没有为它写通俗的介绍。下面是我们从注册中心读取到的事实。
选择你使用的 AI 应用,然后复制设置。
你需要
你用的是哪个应用?
在上方选择你的应用。我们会记住它,下次按钮会显示“安装到 …”。
打开 Claude Desktop → Settings → Developer → Edit Config,把下面的内容粘贴到 claude_desktop_config.json
{
"mcpServers": {
"agentburn": {
"command": "uvx",
"args": [
"agentburn",
"mcp"
]
}
}
}在终端中运行这条命令
claude mcp add agentburn -- uvx agentburn mcp粘贴到项目中的 .cursor/mcp.json,或 ~/.cursor/mcp.json
{
"mcpServers": {
"agentburn": {
"command": "uvx",
"args": [
"agentburn",
"mcp"
]
}
}
}浏览器会先询问是否打开应用,然后应用会显示设置并请你确认。密钥的值会留空,由你自己填写。
粘贴到项目中的 .vscode/mcp.json
{
"servers": {
"agentburn": {
"type": "stdio",
"command": "uvx",
"args": [
"agentburn",
"mcp"
]
}
}
}浏览器会先询问是否打开应用,然后应用会显示设置并请你确认。密钥的值会留空,由你自己填写。
这个服务器在你的电脑上运行,而 ChatGPT 只能连接互联网上的服务器。请选择其他应用。
你的选择通过 Cookie 保存在这台设备上,无需账户。
这些设置是根据作者在注册中心的条目生成的。如果 README 的写法不同,请以 README 为准。
它在你的电脑上运行;安装后,工具列表会显示在你的 AI 应用中。
我们检查的是任何人都能看到的信息;我们没有阅读代码。不适用的检查项不计入总数。 · 检查于 2026年11月7日
注册名称已通过 GitHub 账户 Socialpranker 验证,该账户拥有此仓库
我们还没有从 GitHub 读取这个仓库
我们还没有从 GitHub 读取这个仓库
它在你的电脑上运行,没有互联网端点
在你的电脑上运行,改用本地设置
它在你的电脑上运行;我们只能读取互联网端点的工具列表
与注册中心里这个分类中所有活跃的服务器比较。只有当发布者拥有该仓库时,星标数才计入。
它在 1 项适用的基础检查中通过了 1 项。我们没有阅读代码。在添加密钥或令牌之前,请先看看这个服务器要求哪些权限,并使用只具备所需权限的密钥。
注册中心没有列出必需的密钥,不过有些服务器会在首次使用时要求你登录。
它在你的电脑上运行。你的 AI 应用会在需要时启动它,数据不会经过作者的服务器(除非它自己调用在线服务)。
GitHub 仓库最后更新于–,最新版本(0.14.0)于2个月前进入注册中心。
支持 MCP 的应用,例如 Claude Desktop、Claude Code、Cursor 和 VS Code。你的电脑上还需要有 Python (uv)。
同一分类中有:Spec Driven Development, Remote Desktop Commander, Microsoft Exchange Online MCP
同一分类中其他作者的服务器,按星标数排序。
如何看卡片:★ GitHub 星标i三大支柱:评价 · 检查 · 使用情况i更新 = 最新版本发布到注册中心的时间i
MCP Server that facilitates spec-driven development workflows, not just Vibe Coding.
Remote Desktop Commander: use files, terminal and processes on your own computers from any AI app.
Exchange Online admin for MSPs: forwarding audits, EWS posture and offboarding, no PowerShell
按原文从作者的仓库复制。PopNx MCP 没有审查或背书其内容。HTML、图片和脚本已被移除。链接会离开本站。
[Claude Code](#supported-agents) · [Codex CLI](#supported-agents) · [Gemini CLI](#supported-agents) · [opencode](#supported-agents) · [OpenClaw](#supported-agents) · [Hermes Agent](#supported-agents) — one normalized core, local, read-only, zero dependencies
uvx agentburn
[▶ Try it in your browser — no install](https://socialpranker.github.io/agentburn/)
You ran out inside one window. On this machine that window was 5.4× the median one — same person, same week, same subscription.
Your assistant's own logs already know which window it was and what filled it. Nothing else on your machine does: the built-in counter shows a total, your invoice shows a total, and neither says *which five hours took you out.*
⏳ agentburn limits — claude-code · rolling 5-hour windows
PEAK WINDOW Aug 04 12:45–17:45 · 555M weighted opus 91% · sonnet 9% · cli 93% · subagent 7% TYPICAL WINDOW 104M median of 83 active 5h slots PEAK / TYPICAL 5.4× a wall is hit by the peak, not by the median
WHAT FILLS THE WINDOW cache reads 64% · cache writes 25% · output 11%
One command, no account, nothing leaves your computer:
uvx agentburn # where it burns, and what to change
uvx agentburn limits # how fast you fill a usage window, and how long until the wall uvx agentburn context # what long contexts cost — and what a /clear at 150k would have saved
| If you pay… | what actually runs out | ask |
|---|---|---|
| a subscription (Claude Code Pro/Max) | the rolling usage window — the invoice is fixed, the wall is not | agentburn limits |
| per token (API keys, OpenClaw, Hermes) | money, mostly while you're asleep | agentburn |
Both read the same local logs. Neither invents a number the data doesn't contain.
agentburn limits — the subscription viewOptimizing a subscription doesn't change your bill. It changes how far you get before you're cut off. That is a *window* problem, and windows need intra-session resolution — a single session routinely spans several of them.
YOUR MEASURED CEILING
median of 35 cut-offs Claude Code recorded itself ceiling 146M weighted tokens peak window 137% of your ceiling last 5h 16% of your ceiling TIME TO WALL 2.7 h at the pace of the last 30 min
No cut-off in your logs yet? --hit "2026-08-20 14:30" names one by hand. A measured ceiling is remembered in ~/.agentburn/ceiling.json, so the status line below knows it too.
rate_limits.used_percent next to every request. agentburn pairs each reading with your weighted usage of the same window and takes the median — a ceiling from the provider's arithmetic, not from a cut-off. Treat it as an estimate: that percentage counts every device and app on the account, while your local rollouts are only part of it — and when Codex stops reporting a window (plan or client change), a later peak is flagged as measured on earlier windows, not sold as an overrun.agentburn statusline — the wall, live, inside Claude CodeOne line, no colour, built for Claude Code's statusLine:
⏳ 5h 63% · wall in 47 min · week 71%
{ "statusLine": { "type": "command", "command": "uvx agentburn statusline" } }
Reads only the last three days of logs (the ceiling comes from the state file), so it stays cheap enough to run on every turn.
agentburn context — what a long context costsEvery call re-reads its whole context, and on a subscription that re-reading *is* the window: a turn at 300k costs what three turns at 100k cost. Claude Code records the exact context size of every call, so this is measured, not modelled:
📏 agentburn context — claude-code · what a long context costs
CALLS 156,226 median context 143K · p90 316K · max 704K
WHERE THE WINDOW GOES, BY CONTEXT SIZE 100–200k ██████············ 35% 59,780 calls 200–400k ████████·········· 43% 42,420 calls
400k ██················ 11% 7,257 calls
IF YOU HAD RESTARTED AT… /clear at 100K → 41% of the window not spent (108,573 calls were past it) /clear at 150K → 26% of the window not spent (73,600 calls were past it)
WHAT A SKILL COSTS handoff 7.96K per load × 226 = 1.8M claude-api 33.6K per load × 14 = 470K
Skill call, median of recent loads. Bundled skills never touch the disk; the transcript sees all of them.effort setting took.agentburn fix: the restart threshold, and the heavy skills.agentburn commits — what a commit cost youSessions record their working directory and branch; your repositories record when each commit landed. The usage between two consecutive commits is what the second one cost — read-only git log, nothing written:
COSTLIEST COMMITS
124M 33_Thoforge 1f7a31a1 Aug 30 fix(ui): правки UX-аудита — раскладка, навигация 81.2M 33_Thoforge ad19bff7 Aug 28 feat(ui): цель над деревом и развилка в карточке
BY REPOSITORY 33_Thoforge 1.95M median · 287 commits · 1.52B total
Weighted tokens = tokens × *published* price ratios (cache read 0.1×, cache write 1.25×, output per model), normalized to one input token of the reference model. Every ratio is public; none of them is a guess about how the provider counts.
agentburn — the money viewcron / subagent / gateway:telegram|discord|whatsapp / cli. Always-on ≠ free.--night 23-7).agentburn fix — findings become config, not adviceNot "consider a cheaper model" but the exact file and the exact lines. Patch generators exist only for levers verified against the agent's own source or documented configuration:
🔧 agentburn fix — claude-code · DRY-RUN (nothing was changed)
| Agent | Verified levers |
|---|---|
| Claude Code | registered MCP servers (~/.claude.json, .mcp.json), always-loaded CLAUDE.md memory files, the session-restart threshold (measured), heavy skills (measured per load) |
| Hermes | per-job model / enabled_toolsets (cron/jobs.py), per-platform toolsets (gateway/run.py) |
| OpenClaw | heartbeat.{every, activeHours, model, lightContext} (config/types.agent-defaults.ts) |
There is no --apply on purpose: it's your agent's config. Paste it yourself, then prove the saving with --save-baseline → --compare.
Token trackers quietly disagree with each other (2–91× in public issue threads). agentburn takes the opposite stance:
usage; summing lines inflates calls and tokens ~1.8×. agentburn deduplicates by requestId (found and fixed in 0.14.0 — earlier absolute totals from this tool were inflated by that factor; ratios were not).~; mixed data is labeled mixed.Transcripts are append-only, so they are parsed once. Each file's parse is cached under its size and mtime in ~/.agentburn/cache, and a run reuses every file that hasn't changed:
| 30 days over 3.1 GB of Claude Code logs | |
|---|---|
| first run (parses everything, writes the cache) | ~190 s |
| every run after that | ~3 s |
| cache size | 29 MB (0.9% of the logs) |
A file that grew is re-parsed and re-cached; nothing else is touched. --no-cache (or AGENTBURN_NO_CACHE=1) forces a full re-parse, --clear-cache deletes it. The cache is derived data — deleting it costs time, nothing else.
只显示了开头部分;其余内容请在仓库中阅读