MCP server for searching electronics products across Turkish online markets (Robotistan, Robocombo, Direnc.net, Robo90, Ceriyan)
Single tool 'search_products' has a clear action verb and reasonable description (156 chars), but lacks critical depth. Input schema is present with types and descriptions for both parameters, meeting baseline requirements. However, output schema is completely undocumented, the tool description mentions returning 'product name, price in TRY, stock status and product URL per market' but no structured output schema is visible in the code. The description lacks guidance on pagination, result limits, or error recovery. Parameter descriptions are adequate but could specify constraints (e.g., max query length, what 'in stock' means per market). No tool annotations (readOnlyHint, etc.) despite being READ_ONLY. Error handling is mentioned in features but not evident in tool definition.
Search electronics products across Turkish online markets (Robotistan, Robocombo, Direnc.net, Robo90, Ceriyan). Returns product name, price in TRY, stock status and product URL per market. Results are raw page-one search hits; rank and pick the best match yourself.
Output schema completely undocumented. Tool description states what fields are returned (product name, price, stock status, URL) but no structured JSON schema is provided. LLMs cannot plan downstream operations or extract fields reliably without a documented output schema.
No pagination or result limit documented. Description says 'raw page-one search hits' but does not specify how many results are returned, whether pagination is supported, or what happens if results exceed a threshold. Large result sets risk context window exhaustion.
Missing tool annotations. Tool is READ_ONLY (no side effects) but lacks readOnlyHint annotation in schema. This prevents MCP clients from optimizing caching, retry logic, or safety checks.
Parameter constraints not formalized. 'query' parameter has no length limit, regex pattern, or min/max documented. 'only_in_stock' default is true but semantics of 'in stock' vary per market and are not explained.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | D | 58 | 2026-07-28+ | v2 |
Error recovery guidance absent. Description does not explain what to do if a market is unreachable, returns no results, or has parsing errors. 'marketErrors' field is mentioned in benchmark code but not documented in tool definition.