Unofficial MCP server for stores built on Horoshop.ua
Server has 7 tools with basic schemas and descriptions, but significant gaps limit production readiness. All tools have descriptions (10-80 chars, mostly short), and input schemas are present with Zod validation. However, parameter descriptions are minimal or absent, most params lack context for LLM selection. Output schemas are not documented; responses are JSON-stringified without field-level guidance. Error handling is minimal: HoroshopApiError exists but recovery guidance is absent. The horoshop_call_api tool is a dangerous catch-all that accepts arbitrary function names and params, violating single-responsibility and creating injection risk. No pagination, rate limiting, or idempotency guarantees. Naming is verb-forward (good), but parameter names lack type suffixes (order_id vs order_id_number).
Authenticates with Horoshop and returns token metadata.
Calls any Horoshop API function with arbitrary JSON parameters.
Returns a single order by id using the Horoshop API.
Returns a product by id using the Horoshop API.
Returns orders using the Horoshop orders/export endpoint.
Returns products using the Horoshop catalog/export endpoint.
horoshop_call_api is a dangerous catch-all tool accepting arbitrary function names and params. Violates single-responsibility principle and creates injection/security risk. LLMs cannot reason about valid function names or parameter combinations.
Parameter descriptions are missing or trivial. 'filters' param in list_orders/list_products has no guidance on valid filter keys, format, or examples. LLMs cannot construct valid filter objects without documentation.
Output schemas are not documented. Tools return JSON-stringified responses without field-level guidance. LLMs cannot plan downstream tool calls or extract specific fields reliably.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | F | 45 | 2026-07-28+ | v2 |
Updates an order status using the Horoshop API.
No pagination support. list_orders and list_products accept optional filters but no limit/offset/page parameters. Large result sets will blow context window.
Error handling lacks recovery guidance. HoroshopApiError is thrown but responses do not tell LLM what to do next (retry, ask user, or fail). No error categorization (retryable vs fatal).