An MCP (Model Context Protocol) server for flight search functionality, enabling AI assistants to search for flights and find cheapest travel dates using Google Flights data through direct API interaction.
This server demonstrates solid definition quality with three well-scoped tools, comprehensive parameter schemas, and actionable descriptions. All tools have clear verb_noun naming (search_flights, search_dates, search_airports) and detailed input schemas with proper types and descriptions. However, output schemas are not documented, and descriptions could be more concise and LLM-optimized. The server shows good practices like parameter constraints (enums for cabin_class, max_stops, sort_by) and detailed filtering options, but lacks explicit output structure documentation and error handling guidance. Parameter descriptions are verbose in places and contain implementation details (e.g., 'Currently ignored by the search-page transport') that don't help LLM selection.
Search for airports by name, IATA code, or ICAO code
Find the cheapest travel dates within a range
Search for flights on a specific date with comprehensive filtering options
Output schemas not documented. LLMs cannot infer what search_flights returns (field names, types, structure, pagination details). This forces agents to guess about result format and blocks downstream tool composition.
Parameter descriptions contain implementation warnings ('Currently ignored by the search-page transport') that are not actionable for LLM selection. These should be removed or replaced with clear constraints on what the parameter actually does.
Descriptions are verbose (search_flights: 199 chars, search_dates: 188 chars, search_airports: 81 chars). Best practice is 10-1024 chars; these are well within bounds but could be tighter. More critically, they lack WHEN-to-use guidance for distinguishing between the two search tools.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-22 | B | 77 | 2026-07-28+ | v2 |
| 2026-03-09 | F | 0 | - | v1 |
No error handling guidance documented. LLMs have no instruction on what to do if search_flights returns no results, hits a rate limit, or receives invalid airport codes. Pattern: recovery-guide is absent.
Parameter descriptions lack actionable format constraints. Example: 'departure_date' says 'YYYY-MM-DD format' (good), but 'departure_window' example '6-20' could be clearer with regex or more explicit bounds. For 'airlines' and related array params, no mention of array size limits.