mcpField
T
token-optimization

token-optimization

github.com/claude-dev-suiteAgent workflows46342 installsUpdated 2d ago
Repository

About token-optimization

token-optimization is a skill with guidance for reducing token use in MCP server and external tool interactions. It covers focused requests, bounded outputs, progressive detail, and caching, with patterns for databases, APIs, documentation, logs, and code analysis.

Key features

  1. 01Load details only when needed
  2. 02Limit and compact tool output
  3. 03Start with summaries, then drill down
  4. 04Reuse context to avoid repeated calls
  5. 05Provides patterns for common tool categories

Use cases

  1. 01Reduce oversized database query results
  2. 02Explore API schemas progressively
  3. 03Retrieve targeted documentation or log entries
  4. 04Avoid repeated MCP calls for known information

MCP support

This skill directly addresses efficient interactions with MCP servers and external tools, including limits, compact responses, and call reuse.

Install

Copy the command and run it in a terminal.

$npx skills add https://github.com/claude-dev-suite/claude-dev-suite --skill token-optimization

After installing, type/token-optimizationin Claude Code to confirm it loaded.

Details

From the project README

Token Optimization Best Practices

Deep Knowledge: Use mcp__documentation__fetch_docs with technology: token-optimization for comprehensive documentation.

Guidelines for minimizing token consumption in MCP server and external tool interactions.

When NOT to Use This Skill

This skill focuses on API/tool call optimization. Do NOT use for:

  • Runtime performance - Use performance skill for speed optimization
  • Code minification - Use build tools (Vite, Webpack, etc.)
  • Database query optimization - Use database-specific skills
  • Algorithm efficiency - Use computer science fundamentals
  • Prompt engineering - This is about tool usage, not prompt design

General Principles

PrincipleDescription
Lazy LoadingLoad information only when strictly necessary
Minimal OutputRequest only needed data, use limit and compact parameters
Progressive DetailStart with overview/summary, drill down only if needed
Cache FirstCheck if information is already in context before external calls

Anti-Patterns

Anti-PatternWhy It's BadToken-Efficient Solution
**SELECT ***Returns unnecessary columnsSpecify exact columns needed
No LIMIT clauseReturns entire datasetAlways add LIMIT (e.g., 100)
Full schema requestsReturns massive specsUse compact=true or format="summary"
Recursive documentation fetchFetches entire doc treeUse search_docs with specific query
Fetching full logsReturns thousands of linesUse tail_logs or find_errors with limit
Copy-paste documentationDuplicates contentSummarize and reference, don't quote verbatim
No paginationReturns all results at onceUse offset/limit for large datasets
Full API schema explorationMulti-MB specificationsGet endpoint list first, details on-demand

Quick Troubleshooting

IssueCheckSolution
Large MCP responseOutput size > 2000 tokensAdd limit parameter, use compact format
Repeated API callsCalling same tool multiple timesCache results in conversation context
Slow context buildupToo many tool callsBatch related queries, use more specific tools
Unnecessary documentation fetchInfo already knownCheck skill files first, fetch docs as last resort
Full table scan resultsDatabase query returns too muchAdd WHERE clause and LIMIT
Verbose error logsFull stack traces repeatedSummarize errors, reference line numbers

MCP Server Patterns

database-query
-- BAD: Query without limits
SELECT * FROM users

-- GOOD: Query with filters and limits
SELECT id, name, email FROM users WHERE active = true LIMIT 100

Tool usage:

  • execute_query: ALWAYS use limit parameter (default: 1000)
  • get_schema(compact=true): For DB structure overview
  • describe_table: Before exploratory queries
  • explain_query: Before complex queries on large tables
api-explorer
-- BAD: Full schema
get_api_schema(format="full")

-- GOOD: Summary only for overview
get_api_schema(format="summary")

-- GOOD: Path list with limit
list_api_paths(limit=50)

-- GOOD: Single endpoint details
get_api_endpoint_details(path="/users/{id}", method="GET")

Tool usage:

  • get_api_schema(format="summary"): For API overview
  • list_api_paths(limit=50): For endpoint list
  • get_api_models(compact=true): For model list without full schema
  • search_api(limit=10): For targeted searches
documentation
-- BAD: Entire document
fetch_docs(topic="react")

-- GOOD: Targeted search
search_docs(query="useEffect cleanup", maxResults=3)

Tool usage:

  • search_docs(maxResults=3): For specific information search
  • fetch_docs: Only for very specific topics
  • Check skill files FIRST before fetching documentation
log-analyzer
-- BAD: All logs
parse_logs(file="/var/log/app.log")

-- GOOD: Recent errors only
find_errors(file="/var/log/app.log", limit=50)

-- GOOD: Tail for live debugging
tail_logs(file="/var/log/app.log", lines=50)

Tool usage:

  • tail_logs(lines=50): For recent logs
  • find_errors(limit=50): For error debugging
  • parse_logs(limit=200): Only if full analysis needed
security-scanner

Tool usage:

  • scan_dependencies: Prefer over scan_all
  • scan_secrets: Faster than full scan
  • scan_all: Only for complete audits
code-quality

Tool usage:

  • analyze_complexity(path="src/specific/file.ts"): Target specific files
  • find_duplicates(minLines=10): Filter significant duplicates only
  • code_metrics: Compact output for overview

Pre-Call MCP Checklist

Before calling an MCP tool, verify:

  • Do I already have this information in context?
  • Can I use a more specific tool instead of a generic one?
  • Have I set an appropriate limit?
  • Have I used compact=true if available?
  • Is the expected output reasonable (< 2000 tokens)?

Output Format Standards

For code analysis
  • Max 5 issues per category
  • Snippets max 10 lines
  • Use tables for lists
For database queries
  • Max 20 rows in direct output
  • For results > 20: "Found N rows. First 20: ..."
  • Compact tabular format
For documentation
  • Quote only relevant parts (max 500 characters)
  • Link to complete docs instead of copying content
  • Summarize instead of quoting verbatim

Efficient Response Examples

Database Query - Compact Output
Found 1523 rows. First 20:
| id | name | status |
|----|------|--------|
| 1  | ...  | active |
...
Use offset=20 for next page.
API Exploration - Progressive Detail
API has 45 endpoints. Summary by tag:
- users: 8 endpoints
- auth: 5 endpoints
- products: 12 endpoints
...
Use get_api_endpoint_details for specifics.
Log Analysis - Focused Output
Found 234 errors in last hour. Top 5 by frequency:
1. ConnectionTimeout: 89 occurrences
2. ValidationError: 45 occurrences
...
Use tail_logs or parse_logs with filters for details.

Reference Documentation

Deep Knowledge: Use mcp__documentation__fetch_docs with technology: token-optimization for advanced optimization techniques.

Comments

Markdown supported