Fashion recommendation MCP server that provides garment recommendations using ChromaDB semantic search and LLM-based intent parsing. Integrates with Agent systems for natural language fashion queries.
Single tool 'stylist_recommend' has a clear action verb and reasonable description (158 chars), but critical gaps undermine quality. Input schema is present with 3 parameters, all typed and described. However, output schema is NOT documented, the code shows internal formatting (_format_garment, _generate_outfit_combinations) but the tool definition does not declare what fields the LLM will receive. No error handling guidance, no recovery paths, no validation constraints on the query parameter. The tool description mentions 'reasoning' and 'image_urls' but does not explain when to use this tool vs. alternatives, what prerequisites exist (ChromaDB setup?), or what happens on failure. Parameter descriptions are adequate (20-40 chars each) but lack format/constraint details. No pagination support despite potentially returning many results. Missing tool annotations (readOnlyHint, idempotentHint). Overall: functional but below production baseline.
Fashion recommendation tool that combines intent parsing (using LLM), hybrid search (ChromaDB metadata + semantic), and garment recommendation with reasoning. Supports both single item and full outfit recommendations.
Output schema not documented. Code shows _format_garment() and _generate_outfit_combinations() but tool definition does not declare return structure. LLMs cannot plan downstream calls or extract fields without knowing what the response contains.
No error handling or recovery guidance. Tool description does not explain what happens if ChromaDB is unavailable, LLM parsing fails, or query is invalid. No actionable error messages shown in code.
Missing pagination support. Tool can return many results (n_results parameter defaults to 5 but is configurable) but no limit enforcement, no next_cursor, no total_count. Large result sets will bloat context.
No tool annotations. Tool is read-only (no state modification) but lacks readOnlyHint annotation. Agents cannot infer safety properties without explicit hints.
Inferred effective spec: 2026-07-28+.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | D | 52 | 2026-07-28+ | v2 |
Query parameter lacks format/constraint documentation. Description says 'Natural language search query' but does not specify length limits, character restrictions, or language support (code mentions zh/en detection but tool description is silent).