Turn a closet walkthrough video into a wardrobe catalogue your AI assistant can query over MCP
Solid tool definitions with clear naming (verb_noun pattern) and comprehensive parameter schemas. All 7 tools have descriptions and input schemas with types. However, output schemas are not formally documented, responses are inferred from code inspection. Parameter descriptions are present but some lack constraint details (e.g., date format in log_wear, enum values for search_narration 'field' param). Error handling is minimal; most tools return bare error dicts without recovery guidance. No tool annotations (readOnlyHint/destructiveHint) despite clear read/write distinction. Descriptions average ~120 chars, within baseline (p10=34, p90=392), but could be more prescriptive about when to use each tool vs. alternatives.
Get full details of a specific garment by ID, including all views, attributes, narration, and wear history.
Get the wear history for a specific garment or all garments. Returns all entries from the wear log, optionally filtered by garment ID.
List all attribute keys and their possible values in the catalogue. Useful for understanding what filters are available.
List garments in the wardrobe with optional filtering by category, colour, season, and custom attributes. Supports pagination via limit and offset.
Log that a garment was worn on a specific date. Appends to a wear log file. The only write operation in the catalogue.
Search garments by name, attributes, and free text description using weighted substring matching. Returns results ranked by relevance score.
Output schemas not formally documented. Responses inferred from code (e.g., get_garment returns 'record' dict with 'wear', 'files_are_relative_to' fields). LLMs cannot plan downstream tool calls without knowing return structure.
search_narration 'field' parameter lacks enum constraint. Description says 'material, provenance, sentiment, summary, quotes, or any' but no formal enum in schema. LLMs may hallucinate invalid field names.
log_wear 'date' parameter lacks format specification. Description says 'YYYY-MM-DD format' but no JSON Schema format constraint. LLMs may pass invalid dates (e.g., '2024-13-45').
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | C | 61 | 2026-07-28+ | v2 |
Search what the wearer said about garments (narration), not what a model saw. Searches material, provenance, sentiment, summary, and direct quotes from the walkthrough audio.
Error handling is minimal. get_garment returns bare {'error': '...', 'known_ids': [...]} without recovery guidance. search_garments returns {'error': 'query is required'} with no hint to retry with a query. Errors should guide LLM to next action.
No tool annotations. log_wear is destructive (appends to wear log) but lacks destructiveHint. list_garments, get_garment, search_* are read-only but lack readOnlyHint. Annotations help agents reason about side effects.