egorfedorov

cco-tools

Show what tools actually cost in tokens — learned per-tool averages from observed results, replacing the hardcoded MCP/Agent guesses

egorfedorov 102 10 Updated 4w ago
GitHub

Install

npx skillscat add egorfedorov/claude-context-optimizer/cco-tools

Install via the SkillsCat registry.

About this skill

This skill displays observed token costs per tool by averaging measured results, replacing fixed estimates for MCP and Agent tools. It helps identify which tools consume the most context budget and which estimates are still unreliable. Use it when MCP-heavy sessions need accurate cost breakdowns or after changing server configurations.

SKILL.md

CCO Tools — what your tools really cost

MCP and Agent token costs used to be constants picked once (mcp__* ≈ 200 in,
Agent ≈ 500). Real results vary by orders of magnitude — a "list all issues"
query and a one-row lookup are the same tool name and nowhere near the same
cost. On MCP-heavy sessions the budget meter was guessing at its biggest line
item.

CCO now measures every tool result and learns the average per tool name.

Run from the plugin root:

show (or no arguments)

node src/tool-costs.js

Prints the learned table: calls, average, worst case, and cumulative total per
tool, sorted by total spend.

When reading it back to the user, the useful observations are:

  • The top row by total is where their context budget actually goes. It is
    frequently an MCP server rather than file reads.
  • A row marked · has fewer than 3 samples and is still using the built-in
    constant — its estimate isn't trustworthy yet.
  • A large gap between avg and max means that tool is unpredictable; suggest
    narrowing its queries (filters, limits, pagination) rather than dropping it.

Pair with /cco-overhead mcp — that shows which servers are configured but
never called
; this shows what the called ones actually cost.

reset

node src/tool-costs.js reset

Clears the learned table and returns every tool to its built-in constant.
Useful after changing MCP servers or their configuration, when past
measurements no longer describe the current setup. Confirm before running —
the history isn't recoverable.

Categories