Spec Driven Development
MCP Server that facilitates spec-driven development workflows, not just Vibe Coding.
Description from the maker (original English)
Local profiler: which usage window took you out, and where your agent's money goes
These three are never merged into one score: opinions, measurements and popularity are different things.
We have not written a plain-language summary for this one yet. Below are the facts we read from the registry.
Pick the AI app you use, then copy the settings.
You need
Which app do you use?
Pick your app above. We remember it, so next time the button says “Install in …”.
Open Claude Desktop → Settings → Developer → Edit Config, and paste this into claude_desktop_config.json
{
"mcpServers": {
"agentburn": {
"command": "uvx",
"args": [
"agentburn",
"mcp"
]
}
}
}Run this in your terminal
claude mcp add agentburn -- uvx agentburn mcpPaste into .cursor/mcp.json in your project, or ~/.cursor/mcp.json
{
"mcpServers": {
"agentburn": {
"command": "uvx",
"args": [
"agentburn",
"mcp"
]
}
}
}Your browser asks to open the app, then the app shows the settings and asks you to confirm. Key values are left empty for you to fill in.
Paste into .vscode/mcp.json in your project
{
"servers": {
"agentburn": {
"type": "stdio",
"command": "uvx",
"args": [
"agentburn",
"mcp"
]
}
}
}Your browser asks to open the app, then the app shows the settings and asks you to confirm. Key values are left empty for you to fill in.
This one runs on your computer, and ChatGPT can only connect to servers on the internet. Pick another app.
Your choice stays on this device in a cookie; no account needed.
These settings are generated from the maker’s registry entry. If the README says otherwise, follow the README.
Runs on your computer; the tool list appears in your AI app after you install it.
We check information anyone can see; we have not read the code. Checks that do not apply are left out of the count. · Checked Nov 7, 2026
The registry name was verified with the GitHub account Socialpranker, which owns the repo
We have not read this repo from GitHub yet
We have not read this repo from GitHub yet
This one runs on your computer; there is no internet endpoint
Runs on your computer and uses local settings instead
Runs on your computer; we can only read tool lists from internet endpoints
Compared with every active server in this category in the registry. Stars count only when the publisher owns the repo.
It passed 1 of 1 applicable basic checks. We have not read the code. Before adding a key or token, see what access the server asks for and use a key with only the permissions you need.
The registry does not list a required key, though some servers ask you to sign in on first use.
It runs on your computer. Your AI app starts it when needed, and data does not pass through the maker’s servers (unless it calls an online service itself).
The GitHub repo last changed –, and the latest version (0.14.0) reached the registry 2 months ago.
Apps that support MCP, such as Claude Desktop, Claude Code, Cursor and VS Code. You also need Python (uv) on your computer.
In the same category: Spec Driven Development, Remote Desktop Commander, Master CSS
Servers in the same category from other makers, sorted by stars.
Reading a card:★ GitHub starsiThree pillars: reviews · checks · usageiUpdated = latest version published to the registryi
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.
Inspect Master CSS classes, generated CSS, and project stylesheets from your AI client.
Copied from the maker’s repo as written. PopNx MCP has not reviewed or endorsed it. HTML, images and scripts are removed. Links lead off this site.
[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.
Only the beginning is shown; read the rest in the repo