MCP server for a product catalog system with tools for searching products, calculating prices, tracking orders, and managing prompts and resources
Three tools with minimal documentation. All have descriptions (10-50 chars, below the 194-char baseline), no visible input schemas in the provided code, and no output schema documentation. Tool names follow verb_noun convention (buscar_, calcular_, obtener_) but descriptions are generic and lack context for LLM selection. No parameter descriptions visible. No error handling guidance. No evidence of idempotency, pagination, or composition patterns.
Search for products in the catalog by name or category
Calculate the total price of products including VAT
Get the status of an order by order ID
No input schemas visible in source code. All three tools show only parameter names and brief descriptions in the provided snippet, but no JSON Schema with types, constraints, or validation rules.
Descriptions are too short (10-50 chars vs. 194-char baseline). 'Search for products in the catalog by name or category' lacks context on when to use this vs. other discovery tools, what fields are returned, or pagination behavior.
No output schema documentation. LLMs cannot plan downstream calls or extract required fields (e.g., does buscar_productos return product_id, name, price, category?). No pagination hints despite search tools typically returning lists.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | F | 31 | 2026-07-28+ | v2 |
Parameter descriptions missing or minimal. 'query' and 'producto_ids' lack format hints, constraints, or examples. LLMs cannot infer whether query accepts partial matches, regex, or exact strings; whether producto_ids is comma-separated or array.
No error handling guidance. If buscar_productos returns no results, or calcular_precio receives invalid IDs, what should the LLM do? No recovery hints or actionable error messages visible.