MCP server that exposes four foldo tools for capturing frames, replaying UI recipes, applying code edits, and listing branches from a Foldo canvas.
Four tools with complete input schemas and descriptions, but significant gaps in parameter documentation and output schema clarity. Tool names follow verb_noun convention (foldo_freeze, foldo_replay, foldo_apply_edit, foldo_list_branches). Descriptions are present (40-80 chars) but lack actionable context for LLM selection. Parameters like 'recipe' (array type) and 'target' (object type) lack detailed descriptions explaining structure and constraints. No documented output schemas visible. Error handling and recovery guidance absent. Naming is clear but descriptions fall short of the 50-200 char LLM-optimized baseline.
Apply a code edit described by an intent against a target element, commit the result, and emit a follow-up frame.
Capture a frame from the running app at the given branch/commit/route and post it to the Foldo canvas.
List branches known to the local repo + cloud.
Replay a UI recipe (clicks, fills, navigation) against a running app URL and report whether the end state was reached.
Parameter descriptions missing or incomplete. 'recipe' (array), 'target' (object), and 'viewport' (object) lack structural documentation. LLMs cannot infer nested field requirements.
No documented output schemas. Tools return results but LLMs have no visibility into response structure, field types, or chaining IDs needed for downstream calls.
Tool descriptions too brief (35-50 chars). Missing WHEN to use, prerequisites, and state-modification warnings. foldo_apply_edit and foldo_freeze are WRITE operations but descriptions lack explicit 'modifies state' language.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | F | 45 | 2026-07-28+ | v2 |
No error handling or recovery guidance. Tools lack descriptions of failure modes, retryability, or actionable error messages. LLMs cannot self-correct on failures.
Complex nested parameters lack constraints. 'recipe' is an array with no description of step structure. 'target' is an object with no field documentation. 'viewport' width/height lack min/max bounds.