Server provides 7 tools with basic descriptions and READ_ONLY/WRITE risk labels. However, critical gaps prevent higher scoring: (1) No visible input schemas in provided source, cannot verify parameter types, constraints, or descriptions; (2) Tool descriptions are present but minimal (10-50 chars), lacking WHEN/WHY context and LLM-optimization guidance; (3) No documented output schemas; (4) Error handling delegates to upstream VkusVill API without recovery guidance; (5) No tool annotations (readOnlyHint, destructiveHint, idempotentHint). Tools are well-named (verb_noun pattern: search_products, get_product_details, create_cart_link) and single-responsibility, but lack the depth required for confident LLM selection and parameter binding.
Create a shareable cart link with selected products
Find VkusVill shop locations
Get current discounts and promotional offers
Get analog/similar products for a given product
Get detailed information about a specific product
Search for products in VkusVill catalog
Search for recipes in VkusVill recipe database
No input schemas visible in source code. Cannot verify parameter types, constraints, enums, or descriptions.
Tool descriptions are minimal (10-50 chars) and lack LLM-optimization guidance. Missing WHEN/WHY context, prerequisites, and dependency hints. Baseline for A+ tools: 50-200 chars with actionable guidance.
No documented output schemas. LLMs cannot plan downstream tool calls or extract required fields. Missing pagination info (limit, offset, total_count) for list-returning tools.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | F | 39 | 2026-07-28+ | v2 |
Error handling returns raw VkusVill API errors without recovery guidance. LLM receives 'The VkusVill service could not complete the request: <message>' with no actionable next steps or error classification (retryable vs user-fixable).
No tool annotations (readOnlyHint, destructiveHint, idempotentHint). Risk labels exist in metadata but not in tool definitions. create_cart_link marked WRITE but lacks destructiveHint annotation.