io.github.mdfifty50-boop/token-lens
MCP server for analyzing and optimizing context window token usage β audit tool definitions, compres
Ask AI about io.github.mdfifty50-boop/token-lens
Powered by Claude Β· Grounded in docs
I know everything about io.github.mdfifty50-boop/token-lens. Ask me about installation, configuration, usage, or troubleshooting.
0/500
Reviews
Documentation
token-lens-mcp
MCP server for analyzing and optimizing context window token usage. MCP tool definitions consume 40-72% of context windows before any user work begins β this server helps you measure, compress, and eliminate that waste.
Install
npx token-lens-mcp
Claude Desktop
Add to claude_desktop_config.json:
{
"mcpServers": {
"token-lens": {
"command": "npx",
"args": ["token-lens-mcp"]
}
}
}
Claude Code
claude mcp add token-lens -- npx token-lens-mcp
Tools
audit_context_budget
Analyze the token cost of your MCP tool definitions. Estimates tokens per tool using chars/4 approximation on the full JSON definition.
Params:
toolsβ Array of{name, description, schema}objects
Returns: Per-tool token cost (sorted by cost), total tokens, percentage of 128K/200K/1M context windows.
optimize_tool_loading
Given a task description, recommend the minimal set of tools needed. Uses keyword matching and category relevance scoring.
Params:
task_descriptionβ What you're trying to accomplishavailable_toolsβ Array of{name, description, category?}
Returns: Recommended tools sorted by relevance, excluded tools, estimated tokens saved.
compress_schema
Compress verbose tool schemas to reduce token usage.
Params:
tool_nameβ Name of the toolschemaβ JSON Schema object to compresslevelβ"light"|"medium"|"aggressive"
Levels:
- light β Remove descriptions under 20 chars
- medium β Shorten descriptions to 50 chars, remove examples
- aggressive β Strip all descriptions, keep only types and required fields
Returns: Compressed schema, original/compressed token counts, savings percentage.
analyze_session_usage
Track which tools are actually called vs loaded during a session.
Params:
session_idβ Unique session identifieractionβ"register_tool"|"log_call"|"report"tool_nameβ Tool name (required for register_tool/log_call)tool_tokensβ Token cost (for register_tool, default 50)
Report returns: Loaded vs used counts, waste percentage, unused tools ranked by token cost.
suggest_removals
Identify tools that can be safely removed based on usage patterns.
Params:
usage_historyβ Array of{tool_name, call_count, last_used_days_ago}
Scoring: never_used (priority 3) > not_used_30_days (priority 2) > rarely_used (priority 1)
Returns: Removal candidates with reasons and estimated token savings.
get_optimization_report
Full context window health check combining audit, removal suggestions, and compression recommendations.
Params:
toolsβ Array of tool definitionsusage_historyβ Optional usage history array
Returns: Executive summary with health grade (excellent/good/fair/poor), audit results, removal suggestions, compression opportunities, and actionable recommendations.
Resources
token-lens://tips
Best practices guide for reducing MCP context window bloat, including schema design tips, token budget guidelines, and dynamic tool loading strategies.
Development
npm install
npm test
npm run dev # watch mode
License
MIT
