A Model Context Protocol server for flight search and planning
Two tools with basic verb-noun naming (get_flights, get_flight_details). Both have descriptions (READ_ONLY risk classification visible). Input schemas present with typed parameters and descriptions. However, output schemas are NOT documented in the source code, critical gap for LLM planning. Parameter descriptions are minimal (e.g., 'The flight ID' lacks format/constraint guidance). No error handling guidance visible. Missing pagination support despite flights being a list result. No tool annotations (readOnlyHint, idempotentHint) despite READ_ONLY risk classification.
Get detailed information about a specific flight
Search for flights between two airports on a specific date
Output schemas not documented. LLMs cannot plan downstream tool calls or extract required fields (e.g., flight_id for get_flight_details). Rubric baseline: 100% of A+ tools have documented return types.
get_flights returns a list but lacks pagination parameters (limit, offset, page_size) and total count in response. Without pagination, large result sets blow context windows. Rubric baseline: tools returning lists should accept page/offset and limit.
Parameter descriptions are minimal and lack format/constraint guidance. 'The flight ID' does not explain format (e.g., 'alphanumeric, 6-8 chars'). 'Departure airport code or city name' is ambiguous, should accept both but unclear which is preferred. Rubric: descriptions must state expected format, range, and allowed values.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | C | 64 | 2026-07-28+ | v2 |
No tool annotations despite READ_ONLY risk classification. Tools should declare readOnlyHint=true to signal safety to agents. Rubric: reward tool annotations (readOnlyHint/destructiveHint/idempotentHint) as current pattern.
No error handling guidance visible in source. If flight_id is invalid or no flights found, LLM receives no recovery hint. Rubric: error responses must tell the LLM what to do next.