Skip to content
Back to News
guide
mcp
optimization

Token Economics: Why Tool Presets Matter for AI Costs

By CKB Team

Every tool you expose to an AI assistant costs tokens. The tool's name, description, and parameter schema are included in every request. With 90+ tools, that overhead adds up fast.

CKB's preset system solves this. Here's the math.

The Hidden Cost of Tools

When you connect an MCP server to your AI assistant, the tool schemas are sent with every message. For a typical tool:

{
  "name": "findReferences",
  "description": "Find all references to a symbol with completeness information",
  "parameters": {
    "symbolId": { "type": "string", "description": "The stable symbol ID" },
    "limit": { "type": "number", "default": 100 },
    "scope": { "type": "string", "description": "Optional module scope" }
  }
}

This single tool definition is ~150 tokens. Multiply by CKB's 110 tools and the full toolset is ~17,000 tokens before your AI writes a single line of code.

At current API pricing, that's real money—especially for teams running hundreds of sessions daily.

Preset Token Costs

CKB organizes tools into presets. Here's what each costs:

Preset Tools Tokens Monthly Cost (1000 sessions)*
core 25 ~4,100 ~$125
docs 34 ~5,400 ~$160
ops 43 ~5,700 ~$170
federation 46 ~6,700 ~$200
refactor 42 ~7,500 ~$225
review 42 ~8,200 ~$245
full 110 ~17,000 ~$510

*Measured on v9.3.1 by serialising the real tools/list response per preset; tokens are bytes/4. Cost assumes $3 per million input tokens and 10 messages per session, uncached.

The core preset gives you 76% fewer tool-schema tokens than full while covering the vast majority of use cases.

What's in Each Preset

Core (25 tools) - The Essentials

The default preset includes:

  • Navigation: searchSymbols, getSymbol, findReferences, getCallGraph
  • Understanding: explainSymbol, explainFile, listKeyConcepts
  • Impact: prepareChange, getHotspots
  • Compound: explore, understand, batchGet, batchSearch
  • Utility: expandToolset

This handles 90% of coding sessions. Symbol lookup, reference finding, impact analysis—it's all there.

Review (27 tools) - Code Review Sessions

Adds to core:

  • getDiff, getFileDiff
  • getOwnership, getReviewers
  • getOwnershipDrift

Perfect for PR reviews where you need to know who owns code and who should review changes.

Refactor (33 tools) - Code Cleanup

Adds to core:

  • analyzeCoupling
  • findDeadCode
  • getObservedUsage
  • detectDuplication

Ideal for refactoring sessions where you're hunting dead code and analyzing dependencies.

Federation (35 tools) - Multi-Repo

Adds to core:

  • Cross-repo search and navigation
  • Dependency graph across repositories
  • Federated impact analysis

For enterprises with multiple interconnected repositories.

Dynamic Expansion

You don't have to choose upfront. Start with core and expand mid-session:

User: "I need to check who owns the auth module"

AI: [calls expandToolset with "review" preset]
    [calls getOwnership for auth module]

"The auth module is primarily owned by @alice (67% of commits)
and @bob (23%). Last significant change was 12 days ago."

The expandToolset tool is included in every preset. Your AI can request additional capabilities when needed.

Measuring Your Savings

Here's a real comparison from a 30-minute coding session:

Without presets (full toolset):

  • 45 messages exchanged
  • 17,000 tokens × 45 = 765,000 tokens in tool overhead
  • Plus ~200,000 tokens in actual conversation
  • Total: ~965,000 tokens

With core preset:

  • Same 45 messages
  • 4,100 tokens × 45 = 184,500 tokens in tool overhead
  • Same ~200,000 tokens in conversation
  • Total: ~385,000 tokens

That's a 60% reduction in total token usage for the session.

Where this stops mattering

Prompt caching changes the picture. If your client caches the tool schemas, you pay full price on the first request of a session and a fraction of it afterwards, so the gap above narrows considerably. Presets still help — the first request in every session pays in full, cache writes cost more than reads, and caches expire — but if your setup caches aggressively, treat the numbers above as the ceiling on what presets can save you, not the expected saving.

Choosing the Right Preset

Use core when:

  • General coding and debugging
  • Understanding unfamiliar code
  • Impact analysis before changes
  • Most everyday development

Use review when:

  • Reviewing pull requests
  • Checking code ownership
  • Identifying reviewers

Use refactor when:

  • Cleaning up dead code
  • Analyzing coupling
  • Planning large refactors

Use federation when:

  • Working across multiple repos
  • Tracing cross-repo dependencies
  • Enterprise monorepo setups

Use full when:

  • You need everything
  • Exploring CKB's capabilities
  • Specialized workflows (security, ops, docs)

Configuration

Set your default preset in the MCP config:

{
  "mcpServers": {
    "ckb": {
      "command": "npx",
      "args": ["@tastehub/ckb", "mcp", "--preset=core"]
    }
  }
}

Or per-project in .ckb/config.json:

{
  "mcp": {
    "defaultPreset": "review"
  }
}

The Bottom Line

Tool presets aren't just about cost—they're about focus. A smaller toolset means your AI spends less time parsing irrelevant options and more time using the right tools effectively.

Start with core. Expand when you need to. Your token budget will thank you.


Links: