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 90+ tools and you're spending ~11,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 | 21 | ~2,500 | ~$5 |
| review | 27 | ~3,000 | ~$6 |
| refactor | 33 | ~4,000 | ~$8 |
| docs | 27 | ~3,000 | ~$6 |
| ops | 33 | ~4,000 | ~$8 |
| federation | 35 | ~4,000 | ~$8 |
| full | 92 | ~11,000 | ~$22 |
*Estimated at $0.002 per 1K tokens, 10 messages per session average
The core preset gives you 83% token savings compared to full while covering the vast majority of use cases.
What's in Each Preset
Core (21 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
- 11,000 tokens × 45 = 495,000 tokens in tool overhead
- Plus ~200,000 tokens in actual conversation
- Total: ~695,000 tokens
With core preset:
- Same 45 messages
- 2,500 tokens × 45 = 112,500 tokens in tool overhead
- Same ~200,000 tokens in conversation
- Total: ~312,500 tokens
That's a 55% reduction in total token usage for the session.
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: