token-saver-mcp
token-saver-mcp
An MCP server plugin for Claude Code that automatically reduces token usage across your sessions. All optimizations are purely algorithmic — no extra API calls, no added cost.
Tools
Tool | What it does |
| Strips comments ( |
| Reads only relevant sections of a file. Structure-aware across JS/TS, Python, Go, Rust, Java & C#: returns the complete enclosing function/class/interface around keyword matches, with a configurable fallback window. Rejects binary files |
| Truncates long command output / logs to a token budget. Preserves error/failure lines anywhere in the output, keeps head + tail, collapses duplicate lines |
| Compacts a unified git diff: keeps file headers, hunk headers & changed lines; strips context lines and index/mode noise. Renames and binary files are annotated |
| Counts token usage for any text (cl100k_base encoding) |
| Generates a |
| Rewrites verbose prompts to be concise (~40 filler-phrase rules). Fenced code blocks and inline code are passed through untouched |
All tools return plain text with a compact stats footer — results are deliberately not JSON-wrapped, since JSON escaping of newlines and quotes would inflate the very token count this server exists to reduce.
Note on token counts: the server uses the
cl100k_baseencoding (via tiktoken), which is OpenAI's tokenizer. Claude's tokenizer differs, so all counts are approximations — typically within ~10–20% of Claude's actual usage. Relative savings percentages are unaffected.
Benchmark results
Measured against real code fixtures and realistic prompt inputs. See benchmark/BENCHMARK.md for full methodology.
Tool | Avg token reduction | Best case |
| 31% | 53% on JS with JSDoc |
| 44%* | 81% extracting one function from a module |
| 76% | 84% on long build output |
| 50% | 53% on a multi-file diff with renames |
| 28% | 52% on heavily padded prompts |
| accuracy tool — no reduction metric | — |
| structural correctness tool — no reduction metric | — |
* the smart_read_file average includes tiny synthetic fixtures used as multi-language correctness tests; on realistic files it ranges 38–81%.
Run the benchmark yourself:
npm run benchmarkInstallation
1. Clone and install
git clone <your-repo-url> token-saver-mcp
cd token-saver-mcp
npm install2. Add to Claude Code
claude mcp add token-saver -- node /absolute/path/to/token-saver-mcp/src/index.jsOr manually edit ~/.claude.json under mcpServers:
{
"mcpServers": {
"token-saver": {
"command": "node",
"args": ["/absolute/path/to/token-saver-mcp/src/index.js"]
}
}
}3. Verify
claude mcp listYou should see token-saver listed as connected.
Usage examples
Use smart_read_file on src/api/routes.js, focus on "authentication" and "middleware"Generate a .claudeignore for my project at /home/user/myapp and write it to diskCount tokens in this output: [paste output]Compress this before sending: [paste code]