Servidor MCP

Flightcat

io.flightcat/flightcat
Viajes y hospitalidad Público y accesible MCP 2025-11-25

Qué hace este MCP

Searches live flight prices using flexible dates and broad destinations, with itineraries and booking links.

search_flights
Search flights
Search live public airfare, including requests with vague or broad location names and flexible dates. Resolves locations and dates, then returns and displays up to 10 itineraries in an interactive comparison with prices, schedules, stops, and booking links.
Solo lectura Acceso externo
Esquema de entrada
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['search_type', 'passengers', 'cabins', 'max_stops', 'max_price', 'flight_duration', 'connecting_airports', 'bags', 'trips'], 'properties': {'bags': {'anyOf': [{'type': 'object', 'required': ['checked', 'carry_on'], 'properties': {'checked': {'type': 'integer', 'maximum': 18, 'minimum': 0}, 'carry_on': {'type': 'integer', 'maximum': 9, 'minimum': 0}}, 'additionalProperties': False}, {'type': 'null'}], 'description': 'Total passenger bags.'}, 'trips': {'type': 'array', 'items': {'type': 'object', 'required': ['departure', 'arrival', 'departure_date', 'return_date', 'duration'], 'properties': {'arrival': {'type': 'array', 'items': {'type': 'object', 'required': ['name', 'code'], 'properties': {'code': {'type': 'string', 'description': 'Three-letter IATA code or use "n/a" when unavailable.'}, 'name': {'type': 'string', 'maxLength': 100, 'minLength': 1, 'description': 'Location name. Preserve custom or vague names; use "n/a" when unavailable.'}}, 'additionalProperties': False}, 'maxItems': 20, 'minItems': 1, 'description': 'One or more arrival locations.'}, 'duration': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'description': "Stay duration in days, such as '7' or '3-5'."}, 'departure': {'type': 'array', 'items': {'type': 'object', 'required': ['name', 'code'], 'properties': {'code': {'type': 'string', 'description': 'Three-letter IATA code or use "n/a" when unavailable.'}, 'name': {'type': 'string', 'maxLength': 100, 'minLength': 1, 'description': 'Location name. Preserve custom or vague names; use "n/a" when unavailable.'}}, 'additionalProperties': False}, 'maxItems': 20, 'minItems': 1, 'description': 'One or more departure locations.'}, 'return_date': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'description': 'Round-trip return date. Use null when duration is used.'}, 'departure_date': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'description': "A date or date range in 'MM/DD/YY' or 'MM/DD/YY-MM/DD/YY' format."}}, 'additionalProperties': False}, 'maxItems': 8, 'minItems': 1, 'description': 'Each item is a trip; approximate dates require a range.'}, 'cabins': {'anyOf': [{'type': 'string', 'const': 'economy'}, {'type': 'string', 'const': 'economyPremium'}, {'type': 'string', 'const': 'business'}, {'type': 'string', 'const': 'firstClass'}, {'type': 'null', 'const': None}]}, 'max_price': {'anyOf': [{'type': 'number', 'maximum': 8000, 'minimum': 100}, {'type': 'null'}]}, 'max_stops': {'anyOf': [{'type': 'integer', 'maximum': 2, 'minimum': 0}, {'type': 'null'}]}, 'passengers': {'anyOf': [{'type': 'object', 'required': ['adults', 'children', 'infants'], 'properties': {'adults': {'type': 'integer', 'maximum': 9, 'minimum': 0}, 'infants': {'type': 'integer', 'maximum': 9, 'minimum': 0}, 'children': {'type': 'integer', 'maximum': 9, 'minimum': 0}}, 'additionalProperties': False}, {'type': 'null'}]}, 'search_type': {'enum': ['oneway', 'roundtrip', 'multi'], 'type': 'string'}, 'flight_duration': {'anyOf': [{'type': 'integer', 'maximum': 100, 'minimum': 1}, {'type': 'null'}], 'description': 'Maximum flight duration in hours.'}, 'connecting_airports': {'anyOf': [{'type': 'array', 'items': {'type': 'string'}}, {'type': 'null'}], 'description': 'Required connection-airport IATA codes.'}}, 'additionalProperties': False}
Esquema de salida
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['search_id', 'resolved_search', 'result_count', 'itineraries'], 'properties': {'search_id': {'type': 'string'}, 'itineraries': {'type': 'array', 'items': {'type': 'object', 'required': ['id', 'price', 'currency', 'ticket_count', 'search_type', 'trips', 'booking_link'], 'properties': {'id': {'type': 'string'}, 'price': {'type': 'number'}, 'trips': {'type': 'array', 'items': {'type': 'object', 'required': ['departure', 'arrival', 'duration', 'arrival_day_offset', 'stop_count', 'stop_airports', 'layovers', 'airline_codes', 'airline_names'], 'properties': {'arrival': {'type': 'object', 'required': ['city', 'airport', 'local_time'], 'properties': {'city': {'type': 'string'}, 'airport': {'type': 'string'}, 'local_time': {'type': 'string'}}, 'additionalProperties': False}, 'duration': {'type': 'object', 'required': ['hours', 'mins'], 'properties': {'mins': {'type': 'number'}, 'hours': {'type': 'number'}}, 'additionalProperties': False}, 'layovers': {'type': 'array', 'items': {'type': 'object', 'required': ['airport', 'duration'], 'properties': {'airport': {'type': 'string'}, 'duration': {'type': 'object', 'required': ['hours', 'mins'], 'properties': {'mins': {'type': 'number'}, 'hours': {'type': 'number'}}, 'additionalProperties': False}}, 'additionalProperties': False}}, 'departure': {'type': 'object', 'required': ['city', 'airport', 'local_time'], 'properties': {'city': {'type': 'string'}, 'airport': {'type': 'string'}, 'local_time': {'type': 'string'}}, 'additionalProperties': False}, 'stop_count': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': 0}, 'airline_codes': {'type': 'array', 'items': {'type': 'string'}}, 'airline_names': {'type': 'array', 'items': {'type': 'string'}}, 'stop_airports': {'type': 'array', 'items': {'type': 'string'}}, 'arrival_day_offset': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': 0}}, 'additionalProperties': False}}, 'currency': {'type': 'string'}, 'search_type': {'enum': ['oneway', 'roundtrip', 'multicity'], 'type': 'string'}, 'booking_link': {'type': 'string'}, 'ticket_count': {'type': 'integer', 'maximum': 9007199254740991, 'exclusiveMinimum': 0}}, 'additionalProperties': False}, 'maxItems': 10}, 'result_count': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': 0}, 'resolved_search': {'type': 'object', 'required': ['search_type', 'passengers', 'cabin', 'filters', 'trips', 'locale', 'currency'], 'properties': {'cabin': {'anyOf': [{'type': 'string', 'const': 'economy'}, {'type': 'string', 'const': 'economyPremium'}, {'type': 'string', 'const': 'business'}, {'type': 'string', 'const': 'firstClass'}, {'type': 'null', 'const': None}]}, 'trips': {'type': 'array', 'items': {'type': 'object', 'required': ['departure', 'arrival', 'departure_date', 'return_date', 'duration'], 'properties': {'arrival': {'type': 'array', 'items': {'type': 'object', 'required': ['id', 'name'], 'properties': {'id': {'type': 'string'}, 'code': {'type': 'string'}, 'name': {'type': 'string'}, 'type': {'type': 'string'}}, 'additionalProperties': False}}, 'duration': {'anyOf': [{'type': 'object', 'required': ['min', 'max'], 'properties': {'max': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': 0}, 'min': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': 0}}, 'additionalProperties': False}, {'type': 'null'}]}, 'departure': {'type': 'array', 'items': {'type': 'object', 'required': ['id', 'name'], 'properties': {'id': {'type': 'string'}, 'code': {'type': 'string'}, 'name': {'type': 'string'}, 'type': {'type': 'string'}}, 'additionalProperties': False}}, 'return_date': {'anyOf': [{'type': 'object', 'required': ['from', 'to'], 'properties': {'to': {'type': 'string'}, 'from': {'type': 'string'}}, 'additionalProperties': False}, {'type': 'null'}]}, 'departure_date': {'type': 'object', 'required': ['from', 'to'], 'properties': {'to': {'type': 'string'}, 'from': {'type': 'string'}}, 'additionalProperties': False}}, 'additionalProperties': False}, 'maxItems': 8, 'minItems': 1}, 'locale': {'type': 'string', 'maxLength': 10, 'minLength': 2}, 'filters': {'type': 'object', 'required': ['max_stops', 'max_price', 'flight_duration', 'connecting_airports', 'bags'], 'properties': {'bags': {'anyOf': [{'type': 'object', 'required': ['checked', 'carry_on'], 'properties': {'checked': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': 0}, 'carry_on': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': 0}}, 'additionalProperties': False}, {'type': 'null'}]}, 'max_price': {'anyOf': [{'type': 'number', 'maximum': 8000, 'minimum': 100}, {'type': 'null'}]}, 'max_stops': {'anyOf': [{'type': 'integer', 'maximum': 2, 'minimum': 0}, {'type': 'null'}]}, 'flight_duration': {'anyOf': [{'type': 'integer', 'maximum': 100, 'minimum': 1}, {'type': 'null'}]}, 'connecting_airports': {'anyOf': [{'type': 'array', 'items': {'type': 'string', 'pattern': '^[A-Z]{3}$'}}, {'type': 'null'}]}}, 'additionalProperties': False}, 'currency': {'type': 'string', 'pattern': '^[A-Z]{3}$'}, 'passengers': {'type': 'object', 'required': ['adults', 'children', 'infants'], 'properties': {'adults': {'type': 'integer', 'maximum': 9, 'minimum': 1}, 'infants': {'type': 'integer', 'maximum': 9, 'minimum': 0}, 'children': {'type': 'integer', 'maximum': 9, 'minimum': 0}}, 'additionalProperties': False}, 'search_type': {'enum': ['oneway', 'roundtrip', 'multi'], 'type': 'string'}}, 'additionalProperties': False}}, 'additionalProperties': False}
Añadido
search_flights
17 de September de 2026 a las 12:40