token-optimizer-mcp@7.11.0
CAUTION· startup onlyPublisher claims: "91.5% fewer tokens on tool output on Headroom's own benchmark, where Headroom removes 61.4%. Separately, the same SWE-bench tasks resolved at 0.71x the cost of plain Claude Code. Plus memory across sessions and subscription quota pacing. Claude Code, Code" Observed in sandbox: no network, touches nothing outside the project, writes no memory.
Coverage
Startup only; authenticated tool behavior not tested.- Tested
- install scripts, with decoy credentials in place · second launch with the clock 45 days ahead · server startup over stdio (initialize sent) · every file read, file written and host contacted by what ran
- Not tested
- the tool list (the server exited before answering) · what the tools do when called with real credentials
What this means for the label: Caution here covers what ran. The server's tools were not exercised with a real credential, so nothing about their behavior is asserted; the credential summary below says what to do with that.
Before you give it your token
- It will ask for
TOKEN_OPTIMIZER_CACHE_DIRTOKEN_OPTIMIZER_DAEMON_IDLE_MSTOKEN_OPTIMIZER_HOMETOKEN_OPTIMIZER_LAUNCH_IMPORT_ONLYTOKEN_OPTIMIZER_MODETOKEN_OPTIMIZER_PROXYTOKEN_OPTIMIZER_PROXY_ACCOUNTINGTOKEN_OPTIMIZER_PROXY_CAPTURETOKEN_OPTIMIZER_PROXY_CORE_TOOLSTOKEN_OPTIMIZER_PROXY_DEFER_HOLDOUTTOKEN_OPTIMIZER_PROXY_DROP_THINKINGTOKEN_OPTIMIZER_PROXY_KEEP_TOOLSTOKEN_OPTIMIZER_PROXY_KEEPWARM_MARGIN_MSTOKEN_OPTIMIZER_PROXY_KNOWLEDGE_CHARSTOKEN_OPTIMIZER_PROXY_NULLTOKEN_OPTIMIZER_PROXY_SMALL_TOOL_CHARSTOKEN_OPTIMIZER_PROXY_SPILLTOKEN_OPTIMIZER_PROXY_UPSTREAMTOKEN_OPTIMIZER_RUNTIMETOKEN_OPTIMIZER_SETTINGSTOKEN_OPTIMIZER_SHELL_PROFILESTOKEN_OPTIMIZER_UPDATE_CHECKTOKEN_OPTIMIZER_VERSIONConfiguration, not credentials: CLAUDE_CONFIG_DIR, ComSpec, MCP_GLOBAL_PATH, npm_config_cache, SOCKET_PATH, ZDOTDIR- Where it talks to
- no vendor host named in the codeAlso elsewhere.example, githubusercontent.com, claude.com, nodejs.org — not the publisher's domain; check what for before connecting.
- What the honeypot saw
- no credential files read · no network
- What we could not test
- the tool list (the server exited before answering) · what the tools do when called with real credentials
Connect it with a scoped credential, under the guard, and read the third-party hosts first. The code names elsewhere.example, githubusercontent.com, claude.com, nodejs.org as well as its own vendor. The guard injects TOKEN_OPTIMIZER_CACHE_DIR, TOKEN_OPTIMIZER_DAEMON_IDLE_MS, TOKEN_OPTIMIZER_HOME, TOKEN_OPTIMIZER_LAUNCH_IMPORT_ONLY, TOKEN_OPTIMIZER_MODE, TOKEN_OPTIMIZER_PROXY, TOKEN_OPTIMIZER_PROXY_ACCOUNTING, TOKEN_OPTIMIZER_PROXY_CAPTURE, TOKEN_OPTIMIZER_PROXY_CORE_TOOLS, TOKEN_OPTIMIZER_PROXY_DEFER_HOLDOUT, TOKEN_OPTIMIZER_PROXY_DROP_THINKING, TOKEN_OPTIMIZER_PROXY_KEEP_TOOLS, TOKEN_OPTIMIZER_PROXY_KEEPWARM_MARGIN_MS, TOKEN_OPTIMIZER_PROXY_KNOWLEDGE_CHARS, TOKEN_OPTIMIZER_PROXY_NULL, TOKEN_OPTIMIZER_PROXY_SMALL_TOOL_CHARS, TOKEN_OPTIMIZER_PROXY_SPILL, TOKEN_OPTIMIZER_PROXY_UPSTREAM, TOKEN_OPTIMIZER_RUNTIME, TOKEN_OPTIMIZER_SETTINGS, TOKEN_OPTIMIZER_SHELL_PROFILES, TOKEN_OPTIMIZER_UPDATE_CHECK, TOKEN_OPTIMIZER_VERSION only into requests to the host you bind (and its subdomains) and refuses the rest.
Never paste a credential into a chat, a ticket or a report, including ours. How the guard holds it.
Is [email protected] safe to install?
KillerSkills ran it in the KillerSkills honeypot sandbox (3 scenarios; startup only; authenticated tool behavior not tested) on 2026-11-15 and scored it 70/100 (Caution). It is not known to be malicious, but it has behaviour or code a security policy should decide on before install. Notable findings: Access to sensitive file paths; Collapsed <details> block carrying instructions; Collapsed <details> block carrying instructions. Summary: no network, touches nothing outside the project, writes no memory.
Behavior trace
Honeypot run · 49 s · 3 scenarios · 0 deviationsStatic findings
const seeded = { ...env };Fix: Stop enumerating or reading credential locations; take secrets from a declared environment variable the user sets on purpose.<summary><strong>Requirements and what happens without them</strong></summary> - **Node.js 22.18.0+ on Node 22, or 24.11.0+**, for the hooks and the MCP server.Fix: Remove the text that addresses the agent rather than the reader; describe behavior, do not instruct.<summary><strong>The knowledge graph</strong></summary> ``` you touch src/auth.ts │ ├─ verify() compares exp against the LOCAL clock (finding, 0.9) ├─ per-host Fix: Remove the text that addresses the agent rather than the reader; describe behavior, do not instruct.* discarded the rest of `sudo -E env FOO=1 python script.py` and left nothing thisFix: Build commands from fixed arguments; do not interpolate untrusted strings into a shell.throw new Error(`token-optimizer proxy: refusing to forward credentials to ${upstream} -- ` +Fix: Stop enumerating or reading credential locations; take secrets from a declared environment variable the user sets on purpose.<summary><strong>Verify the release, or remove it</strong></summary> Releases are published from CI with npm provenance, so `npm audit signatures` ties the packFix: Remove the text that addresses the agent rather than the reader; describe behavior, do not instruct."!**/.env",Fix: Stop enumerating or reading credential locations; take secrets from a declared environment variable the user sets on purpose.<summary><strong>Privacy and telemetry</strong></summary> - Nothing is measured about you unless you ask. Anonymous usage data takes two separate opt-ins: `TOKEFix: Remove the text that addresses the agent rather than the reader; describe behavior, do not instruct.// ANSWERING A QUESTION IS NOT RUNNING, so this sits above the kill switch andFix: Build commands from fixed arguments; do not interpolate untrusted strings into a shell."!**/.env.*"Fix: Stop enumerating or reading credential locations; take secrets from a declared environment variable the user sets on purpose./** Enabled by default; explicit opt-outs and the global kill switch win. */Fix: Build commands from fixed arguments; do not interpolate untrusted strings into a shell.* for why pinning was rejected), but it pays a per-launch cost that npx cannotFix: Pin versions and sources; vendor anything fetched at install time.* an npx cache entry, a Claude Code plugin, a source checkout, and an installFix: Pin versions and sources; vendor anything fetched at install time.// used to kill immediately, so a clean stop dropped the tail of the ledgerFix: Build commands from fixed arguments; do not interpolate untrusted strings into a shell.* next `npx -y <pkg>@latest` fetches the newer one. Running that commandFix: Pin versions and sources; vendor anything fetched at install time.* `npx -y @ooples/token-optimizer-mcp@latest`. That keeps the deliberateFix: Pin versions and sources; vendor anything fetched at install time.* warm npx -y ...@latest -> ~6s (npx env setup + registry round-trip floor)Fix: Pin versions and sources; vendor anything fetched at install time.* and `Buffer.concat` over a stream nobody bounded is an out-of-memory kill with noFix: Build commands from fixed arguments; do not interpolate untrusted strings into a shell.* an npx cache entry, a Claude Code plugin, a source checkout, and an installFix: Pin versions and sources; vendor anything fetched at install time.* cold npx -y ...@latest -> ~18s to first response (blows the 30s MCPFix: Pin versions and sources; vendor anything fetched at install time.return ('this copy is an npx cache entry, which is replaced rather than upgraded: ' +Fix: Pin versions and sources; vendor anything fetched at install time.// only chance to record the tail of the window; a kill loses it, whichFix: Build commands from fixed arguments; do not interpolate untrusted strings into a shell.* Performance: ~2-5ms per request (IPC overhead) vs ~1000-4000ms (npx spawn overhead)Fix: Pin versions and sources; vendor anything fetched at install time.console.error(`[DAEMON] Stop it first if you meant to restart: kill ${running}`);Fix: Build commands from fixed arguments; do not interpolate untrusted strings into a shell.Cost to the agent
Tokens estimated at four characters each. The tool list is re-read by the agent on every turn, so it is the number to compare between servers that do the same job: ranked across the index.
Known vulnerabilities
No advisories in OSV for @ooples/token-optimizer-mcp@7.11.0 as of 24 min ago. This is the package itself, not its dependencies.
What would make this Verified
10 points to 80 · weights: behavior 45%, static 25%, prompt 15%, publisher 15%- Unclaimed publisher≈ +8 on the totalClaim ooples: a verified publisher gets +50 on publisher trust. It is free and usually instant with GitHub sign-in.
- Hidden instructions≈ +6 on the totalRemove HTML comments, zero-width characters and white-on-white text that carry instructions. Everything the agent is meant to read should be visible to the person reading the file.
- Access to sensitive file paths≈ +4 on the totalStop enumerating or reading credential locations; take secrets from a declared environment variable the user sets on purpose.
- Privileged sudo command≈ +4 on the totalBuild commands from fixed arguments; do not interpolate untrusted strings into a shell.
- Credential pass-through configuration≈ +4 on the totalStop enumerating or reading credential locations; take secrets from a declared environment variable the user sets on purpose.
- Process kill command≈ +2 on the totalBuild commands from fixed arguments; do not interpolate untrusted strings into a shell.