Model Context Protocol (stdio) server exposing Tare's compression tools and a reversible expand tool for query-aware, cache-correct, lossless-by-default context compression for LLM coding agents.
Tare-MCP defines 10 tools with complete JSON schemas and descriptions. Naming is domain-specific (tare_*) and action-oriented (skeletonize, compact, expand, remember, recall, forget). Descriptions are substantive (avg ~120 chars) and explain purpose and reversibility. However, parameter descriptions are sparse or missing for several tools (e.g., tare_compact_lossy lacks descriptions for 'boundary', 'max_field'; tare_compress lacks 'task' description). Output schemas are not documented, LLMs cannot predict return structure. Error handling is minimal; no recovery guidance. Tool composition is sound (each does one thing), but some tools lack clarity on when to use them vs. alternatives (e.g., tare_compress vs. tare_compact_lossy).
Aggressively compact a large JSON array, tabular, or log text — keeps head/tail rows, anomalies, alert lines, and query-relevant rows. Reversible via tare_expand.
Run Tare's lossless compression pipeline over a JSON array of context blocks; returns the compressed context.
Replace inline base64 image data-URIs in text with compact [tare-image id=… fmt=… ~NKB] markers. Each image's original data-URI is stored and retrievable via tare_expand id=<id>. Returns the content unchanged if no inline images are detected.
Retrieve the full original content of anything Tare compacted this session, by the id shown in its [tare: ...] marker.
Delete a memory by id (cascades provenance). Returns whether it existed.
Aggregate statistics for the memory store: total count and distinct source count.
Output schemas not documented. LLMs cannot predict return structure for any tool, forcing them to guess at downstream field names and types.
Parameter descriptions missing or incomplete. tare_compact_lossy lacks descriptions for 'boundary' and 'max_field'; tare_compress lacks description for 'task'. LLMs cannot infer parameter semantics from names alone.
No error handling or recovery guidance. Tools do not document failure modes, retryability, or what the LLM should do if a call fails.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | D | 58 | 2026-07-28+ | v2 |
Search memories by query terms. Returns top matches ordered by relevance (id, content, source, score).
Persist a memory for recall across sessions. Deduplicates by content hash; returns the memory id.
Skeletonize a source file: keep signatures, types, and imports; drop function/method bodies. Reversible via tare_expand. Languages: rust, python, js, ts, go.
Cumulative approximate token savings for this MCP session.
Ambiguous tool selection. tare_compress and tare_compact_lossy both compress content but differ in lossiness and use case. Descriptions do not clearly state when to use each.
tare_forget and tare_remember lack explicit documentation of side effects. tare_forget is destructive but description does not warn of irreversibility.