
Tokenscope
io.github.wartzar-beePublished by GitHub account wartzar-beev0.2.3Updated Oct 25, 2026
Analyze Claude Code session cost & context attribution: output, cached re-reads, cache writes.
Overview
Local MCP server that analyzes Claude Code session logs to attribute token cost to output, cache reads, cache writes and fresh input.
- What you can do
- Analyze a Claude Code session's cost and context attribution, including per-turn context growth, cost by model and subagent spend, from local logs or a bundled demo session. Compare a session against a shipped offline reference set of real sessions. Produce a privacy-safe shareable summary as markdown or an SVG cost report card built from aggregate numbers only.
- When to use it
- Useful when you want an assistant to explain why a Claude Code session was expensive, where context is being re-sent every turn, or how a session compares with typical ones, without leaving the terminal.
- Requirements
- Runs as a local stdio process via npx from the npm package; needs Node.js and access to Claude Code session logs under the local projects directory. No accounts, API keys, environment variables or network access are declared.
Installation
In SourceWeft
- Open Tokenscope in the dashboard and add it to a workspace.
- Enable the server for the chats that should use its tools.
Desktop only via STDIO. STDIO servers start a local process, so they need the SourceWeft desktop host.
Other MCP clients
Follow the launch instructions in the repository.
README
tokenscope ⏣
See what your AI-coding session actually cost — and what's eating your context. A local, read-only CLI that parses your Claude Code session logs and shows where the money goes: model output vs. context being re-sent every turn (the hidden 60%+ of most bills).
(A real session, default Opus pricing. Your numbers will differ — prices are overridable.)
Why
Agentic coding (Claude Code, etc.) produces surprise bills, and the cause is mundane: as a session grows, the whole context is re-sent every turn, so cost balloons even when the model writes little. Existing dashboards show totals; tokenscope shows the attribution — output vs. cache-read vs. cache-write vs. fresh input, the per-turn context-growth curve, cost by model, subagent spend, and which tools fill your context — with concrete "trim this" insights.
Try it in 10 seconds (no Claude Code logs needed)
Runs on a bundled sample session so you see the full report before pointing it at your own logs — no setup, nothing to configure. (The sample is synthetic, for demonstration.)
Install / run
No install — runs via npx:
Reads ~/.claude/projects/**/*.jsonl. Read-only, local, no network, no telemetry — open the source; nothing leaves your machine.
Local cost gate (pre-push / pre-commit)
--max-total N / --max-delta N make scan exit 1 when the token footprint (or a diff's delta) blows a budget — the same check ci-guardrail runs in CI, but locally, before you push. Wire the absolute budget into a git hook so a runaway prompt/config never leaves your machine:
Under budget it prints the report and exits 0; over budget it prints a BLOCKED: line and exits 1. Without a --max-* flag scan just reports (exit 0), so it's opt-in. --max-delta gates the delta between two directories on disk (scan --diff <baseDir> --max-delta N) — point it at a checked-out base tree when you want a regression gate rather than an absolute cap.
Using the pre-commit framework? Add tokenscope to your .pre-commit-config.yaml — no git-hook scripting:
language: node, zero dependencies. With no args it prints the footprint (exit 0); add --max-total N (or --diff <baseDir> --max-delta N) to fail the commit over budget.
Share your bill (privacy-safe)
--share emits a compact summary built from aggregate numbers only — no file paths, no prompt/response content — so it's safe to paste in public:
- Markdown for Reddit / Discord / a GitHub issue (total, the output/cache-read/cache-write/fresh split with %, peak/avg context, and the headline "X% of spend was re-sent context").
- A self-contained SVG "cost report card" (
--share-svg) — no binary deps; renders inline on GitHub and is trivially shareable. - How you compare — both forms now answer "is my session unusual?" against a shipped, offline reference set of real sessions (e.g. "more cache-efficient than ~80% of measured sessions; median session re-sends 24%"). It's a reference yardstick, not a census — full honest distribution at tokenscope.pages.dev/benchmark.
Prefer not to touch a terminal flag? The same render runs entirely in your browser at the web surface in web/: paste your --json output and it draws the full report + the SVG card locally — nothing is uploaded.
Use it from an AI agent (MCP server)
There's an MCP server that exposes the same engine to AI agents / MCP clients (Claude Desktop, Claude Code, etc.) as tools: analyze_claude_cost, get_cost_benchmark, and tokenscope_share_summary. Add it to your MCP config:
Then ask your agent "use tokenscope to analyze my last Claude Code session." It's the same local, read-only engine — see mcp/README.md.
Pricing
Uses documented default prices (Anthropic cache multipliers: write 1.25×/2×, read 0.1× of input). Verify and override for your exact model/tier via ./.tokenscope.json:
Unknown models are flagged (never silently counted as $0). Token counts are read straight from the logs; cost = those counts × the prices shown.
Part of the wartzar-bee cost toolkit
tokenscope is the measurement engine behind a sibling tool, and one of three open-source cost projects:
- ci-guardrail — a GitHub Action that runs tokenscope in CI to predict a pull request's token-cost delta and comment on the responsible files (report-only, or fail the build past a threshold):
uses: wartzar-bee/ci-guardrail@v1. - enclave — the security-first, self-hosted runtime & sandbox the wartzar-bee agent fleet runs on (Apache-2.0).
If you find tokenscope useful, ci-guardrail is the zero-config way to run it on every PR.
Why this exists — further reading
tokenscope came out of running autonomous agents and watching the bill. The write-ups behind it:
- I put an agent on a timer — overnight it burned 136M tokens doing almost nothing — the runaway-cost postmortem that started this.
- Where your Claude Code bill actually goes — I measured 66 of my own sessions — the empirical breakdown tokenscope automates.
- The Claude Code cost formula: why the same session can cost 10× more tomorrow — the cost mechanics tokenscope surfaces.
- Cost-audit series — reproducible token-cost audits of popular agent frameworks (LangChain, AutoGen, CrewAI, …).
- Catch token-cost regressions in CI before they ship — tokenscope as a GitHub Action cost gate on your PRs.
Status / roadmap
- v0.1: Claude Code session cost + context attribution + insights. 20/20 unit tests on the cost math (
npm test). - Next (evidence-driven): per-tool/-file token attribution; daily/budget alerts; a
--watchlive meter; OpenAI/Codex log support.
MIT. Not affiliated with Anthropic.
Source: README.md at commit 4a931b2
Tools
0Version history
1- v0.2.3LatestSep 16, 2026
Score
50% of the applicable checks met
How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.
- Reached in the last 30 days25 pts
Keep the endpoint answering the MCP handshake; SourceWeft probes it every 30 days.
- Auth declared10 pts
Declare the credential headers in the registry entry, or keep the endpoint answering the probe so its auth can be classified.
- Tools listed15 pts
Answer tools/list without a credential, or ship a package that starts in a sandbox without one.
- DescriptionRequired15 pts
- Logo10 pts
- Documentation15 pts
- License10 pts