MCP server that allows your AI to search for products on differents e-commerce sites.
The server defines 2 tools with basic structure, but has critical gaps in schema completeness, parameter documentation, and error guidance. Tool 1 (get-shops) has an empty input schema and minimal description. Tool 2 (search-shops) has a schema with Zod validation, but descriptions are too terse and output schema is not documented. No input validation error messages guide LLM recovery. Average parameter description length is ~70 chars (baseline 72), but descriptions lack context on expected formats, constraints, or when to use each tool. Output responses include LLM-targeted instructions in text, but no formal schema documentation. Error handling exists but lacks actionable recovery guidance.
Return a list of e-commerces platforms that can be used to search for products. Response will includes the name and URL of the site, where it can deliver and in which case it should be used.
Search for a specific query on the provided list of e-commerces platforms.
Tool 'get-shops' has empty input schema ({}). LLMs cannot determine valid parameters.
Parameter descriptions are too terse and lack constraints. 'A simple human-like search query...' (62 chars) does not specify minimum length, character restrictions, or whether emojis/special chars are allowed. Baseline param description length is 72 chars; this is 62 and lacks actionable detail.
Output schema is not documented. Tool 'search-shops' returns JSON with fields like 'shopProviderName', 'shopProviderId', 'expiredStatus', but LLMs have no formal schema to plan downstream calls. Per pattern: 'Document the output schema. LLMs need to know what fields to expect.'
Error messages are generic and non-actionable. 'Fatal error, cannot proceed with this tool. Provided reason: ...' does not guide the LLM on recovery. Per pattern: error responses should tell the LLM what to do next.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-22 | F | 44 | 2026-07-28+ | v2 |
| 2026-03-09 | F | 35 | - | v1 |
Tool description for 'get-shops' is 151 chars and vague. It lists what data is returned but does not explain WHEN to call it or WHY. This is within range but lacks context on discovery/planning intent.
Multi-step operation has no dry-run or confirmation step. Tool 'search-shops' performs real browser-based searches via Playwright with a 40-second timeout. If an agent misinterprets the query, 40 seconds of resources are wasted. Per pattern: irreversible operations should support confirmation.
No pagination support. If a product search returns >50 results, all are returned as JSON, potentially exhausting context window. Per pattern: 'cap results at a reasonable limit (e.g. 20-50) and offer pagination.'
Timeout handling returns partial results without clear indication of which shops timed out or why. Message 'No results found within timeout. Some shops did not respond: ...' does not let LLM know whether to retry or pick different shops.