Two tools with complete input schemas and basic descriptions, but significant gaps in parameter documentation and output schema clarity. Tool names follow verb_noun convention (airbnb_search, airbnb_listing_details). Descriptions are present but generic (avg 95 chars, below 194-char baseline). Most parameters lack descriptions, only 'location', 'id', and date fields have minimal text. No output schema documented. Error handling exists (robots.txt check) but lacks recovery guidance. No tool annotations (readOnlyHint, etc.). Composition is reasonable: two focused tools without overlap.
Get detailed information about a specific Airbnb listing. Provide direct links to the user
Search for Airbnb listings with various filters and pagination. Provide direct links to the user
Parameter descriptions missing or minimal. 10 of 12 params in airbnb_search lack descriptions (placeId, adults, children, infants, pets, minPrice, maxPrice, cursor, ignoreRobotsText). LLMs cannot infer parameter meaning from names alone.
Output schema not documented. Tool descriptions say 'Provide direct links to the user' but no structured response format is specified. LLMs cannot plan downstream calls or extract required fields (listing IDs, prices, URLs).
No tool annotations. Tools are read-only (risk: READ_ONLY) but lack readOnlyHint in schema. Agents cannot determine idempotency or safety without explicit hints.
Error handling lacks recovery guidance. robots.txt check returns error message but does not suggest next steps (e.g., 'Try with --ignore-robots-txt flag' or 'Call search with different parameters').
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | F | 48 | 2025-06-18+ | v2 |
Numeric parameters (adults, children, infants, pets, minPrice, maxPrice) lack min/max constraints. LLMs could pass negative numbers, zero, or absurdly large values without validation.