A local MCP stdio server exposing soil_save, soil_load and soil_list against the handover store in ~/.soil
Three tools with complete, well-structured schemas and detailed descriptions. soil_save has a complex but properly documented input schema with 17 sections and status tracking. soil_load and soil_list have simpler, focused schemas. All tools include descriptions explaining purpose and behavior. Parameter descriptions are thorough and context-aware (e.g., project reference semantics). However, output schemas are not documented, LLMs cannot predict response structure. Error handling guidance is absent. Tool names follow verb_noun pattern (soil_*) but are domain-specific rather than generic action verbs.
List the handovers in the store. Returns a list of stored handovers with their codes, capture times, and section counts.
Load a handover from the store and return the restore prompt. Prints the restore prompt you paste anywhere else to pick a project back up.
Save a handover to the local store. Stores what the model wrote, counts the sections that carry content, and runs the open deterministic check on the stored document, reporting the grade. The grade informs and never refuses a save, and it is never written onto the handover.
Output schemas not documented. LLMs cannot predict response structure for soil_save (grade report), soil_load (restore prompt), or soil_list (handover list). This forces agents to reason about unknown fields and risks misinterpreting results.
No error handling guidance. Tools do not document failure modes (e.g., project not found, invalid section content, store corruption) or recovery steps. Agents cannot self-correct on errors.
soil_list description is generic ('Returns a list of stored handovers'). Does not explain what fields are returned, sort order, or when to call it vs. soil_load. Agents cannot determine if this is a discovery tool or a full inventory.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | C | 65 | 2026-07-28+ | v2 |
soil_save input schema is complex (17 sections, 3 nested objects) but lacks examples or guidance on minimal valid payloads. Agents may struggle to construct valid requests without trial-and-error.
Tool names are domain-specific (soil_*) rather than action verbs (save_handover, load_handover, list_handovers). This reduces discoverability and makes intent less obvious to LLMs unfamiliar with the Soil domain.