Server has 5 tools with complete input schemas and descriptions. Naming follows verb_noun convention (search_, get_). Descriptions are present and contextual (avg ~150 chars), exceeding the 10-char minimum but below the 50-200 char LLM-optimized range. All parameters have type definitions and descriptions. However, output schemas are not documented, responses are JSON-serialized but structure is not declared. Error handling is minimal (generic exception catch). No pagination support despite search_products accepting max_results. No tool annotations (readOnlyHint, idempotentHint). Parameter descriptions lack format constraints (e.g., city enum not enforced in schema, only documented in text).
Muestra los productos que han llegado recientemente a Mercadona. Útil cuando el usuario pregunta '¿qué hay de nuevo?' o '¿qué productos nuevos tiene Mercadona?'.
Muestra los productos que han bajado de precio recientemente en Mercadona. Útil cuando el usuario pregunta '¿qué está de oferta?' o '¿qué productos han bajado de precio?'.
Obtiene información detallada de un producto: ingredientes, información nutricional, alérgenos y precio completo. Requiere el ID del producto, que se obtiene con search_products.
Calcula el precio total de una lista de la compra en Mercadona. Útil cuando el usuario quiere saber cuánto le costaría comprar varios productos. Ejemplos: 'cuánto me costaría comprar leche, pan y huevos', 'haz una estimación de mi lista de la compra'.
Busca productos en Mercadona por nombre. Úsalo cuando el usuario quiera encontrar un producto concreto, ver su precio o saber si está disponible. Ejemplos: 'leche entera', 'yogur griego', 'detergente'. IMPORTANTE: Mercadona aplica precio único nacional — los precios son idénticos en todas las ciudades. No comparar precios entre ciudades.
Output schemas not documented. Tools return JSON but structure is not declared in tool definitions. LLMs cannot plan downstream calls or extract fields reliably.
City parameter accepts free-form strings but only 13 cities are valid. Should be declared as enum in inputSchema, not just documented in description text.
No tool annotations. All tools are read-only but lack readOnlyHint. Idempotent tools lack idempotentHint. LLMs cannot infer safety properties.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | D | 54 | 2026-07-28+ | v2 |
Error handling is generic. Exception caught and returned as JSON string. No recovery guidance, error classification, or actionable messages for LLM.
search_products accepts max_results but no pagination (offset/limit/cursor). Large result sets not handled. Baseline: paginated tools should return total count and next_cursor.