MCP-Server

Flightcat

io.flightcat/flightcat
Reisen & Hospitality Öffentlich und erreichbar MCP 2025-11-25

Was dieses MCP kann

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.
Nur Lesen Externer Zugriff
Eingabeschema
{'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}
Ausgabeschema
{'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}
Hinzugefügt
search_flights
17. September 2026 12:40