Fashion discovery MCP server for Indian Gen Z - enables AI assistants to search and discover fashion products from Indian e-commerce sites
The Klydo Fashion MCP server has three tools with complete input schemas and good descriptions. Tool names follow verb_noun convention (search_products, get_product_details, get_trending). Descriptions are informative and include usage guidelines in the server instructions. However, there are notable gaps: (1) Output schemas are not formally documented in the code, return types are inferred from type hints (list[ProductSummary], list[Product]) but field-level documentation is absent. (2) Error handling is minimal, no recovery guidance or categorization. (3) Parameters lack formal enums despite accepting constrained values (e.g., gender accepts 'men' or 'women'; category accepts specific strings like 'dresses', 'shoes'). (4) No tool annotations (readOnlyHint, destructiveHint, idempotentHint). The server is functional and usable but lacks production-grade robustness.
Get complete product information including all images, sizes, and specifications. Args: product_id: The product ID from search results (the 'id' field) Returns: Full product details with: - images: ALL product images from multiple angles (show all to users) - image_url: Primary product image - url: Buy link on klydo.in (may be null — only show when present) - sizes, colors, description, specifications - Returns None if product not found.
Get currently trending/popular fashion products. Args: category: Optional category filter (e.g., "dresses", "shoes", "tshirts") limit: Maximum number of results (default 10, max 50) Returns: List of trending products sorted by popularity. Each product has: - image_url: Direct CDN image link (always show this) - url: Buy link on klydo.in (may be null — only show when present) - price, brand, name, category
Search for fashion products on Klydo. Args: query: Search terms (e.g., "black dress", "nike shoes", "cotton kurta") category: Filter by category (e.g., "dresses", "shoes", "tshirts", "kurtas") gender: Filter by gender ("men" or "women") min_price: Minimum price in INR (e.g., 500) max_price: Maximum price in INR (e.g., 2000) limit: Maximum number of results (default 10, max 50) Returns: List of matching products. Each product has: - image_url: Direct CDN image link (always show this) - url: Buy link on klydo.in (may be null — only show when present) - price, brand, name, category
Output schemas not formally documented. Type hints exist (list[ProductSummary], list[Product]) but field descriptions, structure, and nullable fields are not declared in tool metadata. LLMs cannot reliably plan downstream operations without explicit schema documentation.
Parameters accept constrained values but lack enum declarations. gender accepts 'men'|'women', category accepts 'dresses'|'shoes'|'tshirts'|'kurtas', yet these are free-form strings. Should be declared as enums to prevent hallucinated values.
No error handling or recovery guidance. The code logs requests/responses but provides no try-catch, validation, or user-facing error messages. If the scraper fails, returns null, or the API is unreachable, the LLM receives no actionable error and cannot self-correct.
Inferred effective spec: <=2025-11-25.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-22 | C | 68 | <=2025-11-25 | v2 |
| 2026-03-09 | D | 51 | - | v1 |
No tool annotations. Tools do not declare readOnlyHint, destructiveHint, or idempotentHint. All three are read-only (appropriate), but this is not formally declared to the MCP client, forcing the client to infer safety.
Instructions in server metadata include example output formats and rules but no dependency hints or multi-step guidance. E.g., 'search_products returns product IDs which feed into get_product_details for full details' is implicit but not documented.