MCP server that finds free LLM models across providers. Single MCP tool. Zero inference overhead — returns endpoints, you call models directly. No proxy, no middleman.
Token Scout has 6 tools with mixed quality. Tool names lack action verbs (scout, status, consume, reset, budget, discover are acceptable but not optimal verb-noun patterns). Descriptions exist but are verbose and lack LLM optimization, scout's description is 289 chars, exceeding the 194-char production baseline and burying key details. Input schemas are partially visible in the code (scout has detailed schema, consume/reset have minimal params), but several tools show incomplete parameter documentation. The codebase shows Python and Rust implementations, Rust edition is listed as '2024' (invalid; should be 2021 or earlier), suggesting incomplete/exploratory code. Output schemas are not documented. Error handling is absent from visible code. The server is STDIO-only, which is a hard cap at protocol readiness score 50.
Get budget advice based on Claude usage data from /tmp/claude-usage.json. Analyzes session and weekly budget consumption to recommend 'burn_claude', 'conserve', or 'free_only' strategy.
Record quota consumption for a provider/model pair. Updates runtime in-memory quota tracker (resets daily).
Discover available models from Ollama constellation (local machines) and OpenRouter live (cloud providers). Populates the registry with dynamically discovered models.
Reset all quota tracking data. Clears the in-memory quota tracker.
Search for LLM models across configured providers by query and ranking preference. Supports hard constraints via require (reasoning_format, tool_format, tool_reliability, min_context, min_completion, modality). Respects TOKEN_SCOUT_MAX_COST environment variable for cost filtering.
Get status of all configured providers and available models. Equivalent to scout with empty query.
Multiple tools lack input schemas or have incomplete parameter definitions (status, reset, budget, discover have no visible schemas; consume has minimal param documentation)
Tool descriptions are verbose and lack LLM optimization. Scout description is 289 chars (exceeds 194-char baseline); status is vague ('Equivalent to scout with empty query' forces agent to read scout docs); budget relies on undocumented file path /tmp/claude-usage.json
No documented output schemas. Agents cannot determine what fields to expect from scout, status, budget, or discover results. This blocks multi-step planning and forces agents to parse unstructured output
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | F | 41 | 2026-07-28+ | v2 |
No error handling or recovery guidance visible. No mention of what happens if provider APIs are unavailable, if models file is missing (discover), or if quota tracking fails (consume). Agents cannot self-correct on failures
Parameter naming inconsistencies and missing type information. 'require' parameter in scout is an object with nested properties but lacks type annotations in descriptions. 'prefer' enum includes empty string '' which is confusing, should be null or a named value like 'default'
Tool selection logic relies on undocumented file paths and environment variables (/tmp/claude-usage.json, TOKEN_SCOUT_MAX_COST env var, KEY_ENV per provider). These dependencies should be documented in tool descriptions or as server configuration, not as implicit assumptions