MCP integration

Token Saver

Cut token cost without cutting quality. An installer MCP that teaches your agent to spend fewer tokens on its own prose while keeping code, commands and context verbatim.

@prom.codes/saver is the third prom.codes MCP server. Where the context engine answers "what does this codebase look like?" and the memory server answers "what did we already learn and decide?", the saver answers a blunter question: "why is this agent burning tokens narrating itself?" It installs a small efficient-output rule block into your agent runtime so the model spends fewer tokens on its own prose — preamble, play-by-play narration, pasted tool-output recaps — while keeping everything that actually matters verbatim.

The tagline is "lean, not terse." It shapes phrasing, never what the agent does and never what it remembers.

Pure JS — npx just works

Unlike the context and memory servers, Saver has no database, no embeddings, and no native modules. It is pure JavaScript, so npx -y @prom.codes/saver@latest is turnkey on every platform — no build step, no native-dependency compilation, no platform-specific binaries. If npx has ever stalled on a native build for you, this one won't.

What it keeps verbatim (anti-context-loss)

This is the whole point, so it is stated plainly: correctness, safety, completeness and the agent's own working context come first; token-saving comes second. If they conflict, Saver does not compress. The rules leave the following untouched, word for word:

  • Code, diffs and commands — never paraphrased or trimmed.
  • API names, file paths and exact error strings — kept literally.
  • Load-bearing caveats, trade-offs and negations — anything hinging on "not", "only", "unless" stays in full.
  • Destructive or multi-step sequences — the steps an agent must not drop or reorder are preserved.
  • The agent's own working context — anything the agent will need on a later turn is never compressed away.

What it does trim is the model's own filler: conversational preamble, step-by-step narration of work already shown in tool calls, and restating tool output that the reader can already see.

The setup tool

Saver exposes exactly one tool, setup. Run it once per workspace. It writes the efficient-output rule block into whichever agent-runtime rule files are present, idempotently, inside a marked block — it never touches foreign content in those files.

ArgumentValuesDefaultPurpose
levellite · balanced · aggressivebalancedHow hard to lean out the prose.
runtimesarray of claude-code / cursor / augment / agentsauto-detectedWhich runtime rule files to write. Omit to let Saver detect what's present.

Where the rules land

setup installs the rule block into the rule file for each detected runtime, always inside a marked, idempotently-replaced block:

RuntimeRule file
Claude CodeCLAUDE.md
Cursor.cursor/rules/prom-saver.mdc
Augment.augment/rules/prom-saver.md
Generic agentsAGENTS.md

Re-running setup updates the block in place rather than duplicating it, and only the content between the markers is ever rewritten — your own instructions in those files are left alone.

Levels

LevelWhat it doesWhen to use
liteDrops filler only — preamble and obvious narration.The lightest touch; you want to keep almost all of the agent's voice.
balancedDefault and recommended. The conservative setting — trims prose meaningfully while protecting all the verbatim categories above.Almost everyone. Start here.
aggressiveTelegraphic output; opt-in. Auto-falls back to balanced for code-generation, debugging and destructive work.Power users who want maximum leanness and accept the terser style on routine turns.

Setup

Add the server next to the context and memory engines — same optional API key. Because Saver is pure JS, the npx line is the only thing you need; there is no index to build:

{
  "mcpServers": {
    "saver": {
      "command": "npx",
      "args": ["-y", "@prom.codes/saver@latest"],
      "env": {
        "PROMETHEUS_WORKSPACE_ROOT": "/absolute/path/to/your/repo"
      }
    }
  }
}

Then ask your agent to run setup once per workspace. It detects which runtimes are present (Claude Code, Cursor, Augment, generic AGENTS.md) and installs the efficient-output rule block. The install is idempotent: re-running updates the block in place instead of duplicating it.

The optional API key

Saver works fully without a key. Unlike the context and memory servers — where PROMETHEUS_API_KEY is required — here it is optional:

  • No key — Saver runs keyless and installs rules exactly the same.
  • With a key — the same prom_live_… / prom_test_… key you use for the context and memory servers ties the install to your account. It is the hook for future metering; today it changes nothing about what setup writes.
  • A malformed key just prints a warning and continues keyless — it never blocks the install.

Environment variables

VariableRequiredDefaultPurpose
PROMETHEUS_WORKSPACE_ROOTnocwdAbsolute path to the repo whose rule files setup writes into.
PROMETHEUS_API_KEYnoOptional. Same key as the context/memory servers; ties the install to your account and is the hook for future metering. A malformed value warns and continues keyless.

Requirements

Node ≥ 20.10. No database, no embeddings, no native modules — the whole package is JavaScript, which is what makes npx turnkey here.