Three tools with clear verb-noun naming (get_*) and complete input schemas. Descriptions are present and adequate (100-150 chars each), explaining WHAT and WHEN. Parameters have types and descriptions. However, output schemas are undocumented (tools return generic `str`), and error handling lacks recovery guidance. No tool annotations (readOnlyHint, etc.). Parameter constraints are minimal, max_reviews lacks bounds in get_reviews; sort enum values not formally constrained. Composition is sound: tools are single-purpose and chainable via org_id. Missing: structured output documentation, error classification, and LLM-optimized descriptions.
Get company metadata from Yandex Maps. Returns name, rating, review count, address, categories.
Get company info plus recent reviews in one call. Best for a quick business overview.
Fetch reviews for a Yandex Maps business. Returns review text, author, date, rating, and business responses.
Output schemas undocumented. All tools return generic `str` with no field documentation. LLMs cannot plan downstream calls or extract structured data.
Parameter constraints incomplete. get_reviews.max_reviews lacks min/max bounds; sort enum values ('by_time', 'by_rating') not formally declared as enum in schema.
No tool annotations. Tools lack readOnlyHint, destructiveHint, or idempotentHint metadata. Clients cannot infer safety properties.
Error handling lacks recovery guidance. No documented error responses, error classification, or actionable next steps for LLMs.
Inferred effective spec: <=2025-11-25.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | D | 58 | <=2025-11-25 | v2 |
Descriptions could be more LLM-optimized. Current descriptions (100-150 chars) are adequate but lack dependency hints or when-to-use guidance. E.g., 'Call get_company_summary first for a quick overview; use get_reviews for full pagination.'