Local context-economy MCP gateway for bounded repository inspection. Dependency-free local MCP spend discipline server with newline-delimited JSON-RPC on stdin/stdout transport.
Thrift provides 10 well-scoped, read-only tools with consistent naming (verb_noun pattern: workspace_info, find_files, grep_text, rank_files, file_window, compress_log, count_tokens, plan_context, classify_task, cost_report). All tools have descriptions (avg ~100 chars, within baseline 34 - 392). Input schemas are present with type declarations and parameter descriptions. However, output schemas are NOT documented in the source, LLMs cannot predict return structure. Error handling is minimal; no recovery guidance or actionable error messages visible. No tool annotations (readOnlyHint, etc.). STDIO transport caps protocol readiness at 50, but definition quality itself is moderate-to-good: naming is clear, descriptions are adequate, schemas are present but incomplete.
Classify a task by complexity and scope.
Compress log text using various strategies (test output, diffs, etc.).
Generate a cost report for tool usage within a time window.
Count tokens in text using a specified profile.
Extract a window of text from a file around a symbol or line.
Find files matching a pattern in the workspace.
Search for text patterns across workspace files.
Output schemas not documented. LLMs cannot predict return structure, field names, or types. Agents must guess what fields to extract for downstream tool calls.
No error handling guidance. Tools return errors but do not tell LLMs what to do next (retry, ask user, abort). No recovery paths documented.
No tool annotations (readOnlyHint, destructiveHint, idempotentHint). All tools are read-only but this is not declared in the schema, forcing LLMs to infer safety from descriptions.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | D | 57 | 2025-06-18+ | v2 |
Plan context selection for a task within a token budget.
Rank files by relevance to a task within a token budget.
Scan workspace for file statistics, language distribution, and optional salience diagnostics.
Parameter descriptions lack format/constraint details. E.g., 'pattern' in find_files does not specify fnmatch vs regex; 'radius' in file_window lacks min/max bounds; 'budget_tokens' lacks range guidance.
cost_report 'since' enum is vague. 'all' and 'session' lack clear definitions (e.g., does 'session' mean current process, last 4 hours per THRIFT_SESSION_HOURS, or sliding window?).