MCP server for searching flights across multiple Indian travel websites
Two tools with basic schemas and descriptions, but significant gaps in parameter documentation and output schema clarity. searchFlights has reasonable parameter descriptions (origin/destination airport codes, date formats), but getAirportCodes lacks any parameter descriptions (empty properties object). Neither tool documents output schema structure, making it difficult for LLMs to plan downstream operations. No error handling guidance, no idempotency hints, and no pagination support despite searchFlights potentially returning large result sets. Tool names follow verb_noun convention (positive), but descriptions are generic and lack context about when to use each tool or what to expect in responses.
Get a list of supported Indian airport codes and their cities
Search for flights across multiple Indian travel websites
Output schemas not documented. searchFlights returns {success, results} and getAirportCodes returns {airports: [...]}, but LLMs cannot infer the structure of 'results' or the fields within airport objects without explicit schema documentation.
getAirportCodes has empty parameter properties but no description explaining what the tool does or when to call it. Description is only 'Get a list of supported Indian airport codes and their cities' (58 chars), lacks context about discovery use case.
searchFlights lacks pagination support (no limit, offset, or page parameters) and no result count cap. Searching DEL→BOM could return hundreds of flights, exhausting context window. No guidance on max results returned.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | F | 47 | 2026-07-28+ | v2 |
No error handling guidance. If searchFlights fails (invalid airport code, date in past, API timeout), the handler returns {success: true, results} or a generic 500 error. LLMs receive no actionable recovery hints.
searchFlights description does not clarify what 'multiple Indian travel websites' means or which providers are aggregated. LLMs cannot determine if results are comprehensive or partial.