MCP 服务器

Flightcat

io.flightcat/flightcat
旅行与酒店 公开且可连接 MCP 2025-11-25

此 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.
只读 可访问外部资源
输入模式
{'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}
输出模式
{'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}
已添加
search_flights
2026年9月17日 12:40