此 MCP 可以做什么
Searches and provides details for flights, hotels, rental cars, ferries, airports, travel experiences, destinations, country information, and travel advisories.
工具
输入模式
{'type': 'object', 'title': 'airlines_lookupArguments', 'required': ['code'], 'properties': {'code': {'type': 'string', 'title': 'Code'}}}
输出模式
{'type': 'object', 'title': 'airlines_lookupOutput', 'required': ['result'], 'properties': {'result': {'type': 'string', 'title': 'Result'}}}
输入模式
{'type': 'object', 'title': 'airlines_searchArguments', 'required': ['query'], 'properties': {'query': {'type': 'string', 'title': 'Query'}, 'country': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'title': 'Country', 'default': None}, 'active_only': {'type': 'boolean', 'title': 'Active Only', 'default': True}}}
输出模式
{'type': 'object', 'title': 'airlines_searchOutput', 'required': ['result'], 'properties': {'result': {'type': 'string', 'title': 'Result'}}}
输入模式
{'type': 'object', 'title': 'airports_lookupArguments', 'required': ['code'], 'properties': {'code': {'type': 'string', 'title': 'Code'}}}
输出模式
{'type': 'object', 'title': 'airports_lookupOutput', 'required': ['result'], 'properties': {'result': {'type': 'string', 'title': 'Result'}}}
输入模式
{'type': 'object', 'title': 'airports_nearArguments', 'required': ['latitude', 'longitude'], 'properties': {'limit': {'type': 'integer', 'title': 'Limit', 'default': 10}, 'latitude': {'type': 'number', 'title': 'Latitude'}, 'longitude': {'type': 'number', 'title': 'Longitude'}, 'radius_km': {'type': 'number', 'title': 'Radius Km', 'default': 100}, 'include_small': {'type': 'boolean', 'title': 'Include Small', 'default': False}}}
输出模式
{'type': 'object', 'title': 'airports_nearOutput', 'required': ['result'], 'properties': {'result': {'type': 'string', 'title': 'Result'}}}
输入模式
{'type': 'object', 'title': 'airports_searchArguments', 'required': ['query'], 'properties': {'query': {'type': 'string', 'title': 'Query'}, 'country': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'title': 'Country', 'default': None}, 'type_filter': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'title': 'Type Filter', 'default': None}}}
输出模式
{'type': 'object', 'title': 'airports_searchOutput', 'required': ['result'], 'properties': {'result': {'type': 'string', 'title': 'Result'}}}
输入模式
{'type': 'object', 'title': 'data_statusArguments', 'properties': {}}
输出模式
{'type': 'object', 'title': 'data_statusOutput', 'required': ['result'], 'properties': {'result': {'type': 'string', 'title': 'Result'}}}
输入模式
{'type': 'object', 'title': 'fcdo_list_countriesArguments', 'properties': {}}
输出模式
{'type': 'object', 'title': 'fcdo_list_countriesOutput', 'required': ['result'], 'properties': {'result': {'type': 'string', 'title': 'Result'}}}
输入模式
{'type': 'object', 'title': 'fcdo_travel_adviceArguments', 'required': ['country'], 'properties': {'country': {'type': 'string', 'title': 'Country'}}}
输出模式
{'type': 'object', 'title': 'fcdo_travel_adviceOutput', 'required': ['result'], 'properties': {'result': {'type': 'string', 'title': 'Result'}}}
输入模式
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['portLocation'], 'properties': {'portLocation': {'type': 'string', 'description': 'Location name or search term used to find matching ports (not limited to exact port codes).'}}, 'additionalProperties': False}
输入模式
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['tripDate', 'country'], 'properties': {'country': {'type': 'string', 'description': 'ISO 3166-1 alpha-2 country code to filter disruptions by country (e.g. "GR" for Greece).'}, 'tripDate': {'type': 'string', 'description': 'Departure date in ISO format YYYY-MM-DD (e.g. 2026-03-15).'}}, 'additionalProperties': False}
输入模式
{'type': 'object', 'properties': {}}
输入模式
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['departureLocation', 'arrivalLocation', 'date'], 'properties': {'date': {'type': 'string', 'description': 'Departure date in ISO format YYYY-MM-DD (e.g. 2026-03-15).'}, 'arrivalLocation': {'type': 'string', 'description': 'Arrival location as a human-readable name or search term (e.g. city, port name), not a port code.'}, 'departureLocation': {'type': 'string', 'description': 'Departure location as a human-readable name or search term (e.g. city, port name), not a port code.'}}, 'additionalProperties': False}
输入模式
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['departureLocation', 'arrivalLocation', 'date'], 'properties': {'date': {'type': 'string', 'description': 'Departure date in ISO format YYYY-MM-DD (e.g. 2026-03-15).'}, 'returnDate': {'type': 'string', 'description': 'Return date in ISO format YYYY-MM-DD. When provided, the search returns round-trip booking solutions pairing an outbound and return trip.'}, 'arrivalLocation': {'type': 'string', 'description': 'Arrival location as a human-readable name or search term (e.g. city, port name), not a port code.'}, 'departureLocation': {'type': 'string', 'description': 'Departure location as a human-readable name or search term (e.g. city, port name), not a port code.'}}, 'additionalProperties': False}
输入模式
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['tripId'], 'properties': {'tripId': {'type': 'string', 'description': 'The trip identifier for a single sailing leg, as returned in tripsById/bookingSolutions by search_trips_v2. Do not fabricate this value.'}}, 'additionalProperties': False}
输入模式
{'type': 'object', 'required': ['id', 'quantity', 'startDate', 'endDate'], 'properties': {'id': {'type': 'string', 'description': 'The ID of the experience'}, 'endDate': {'type': 'string', 'description': "End date inclusive in YYYY-MM-DD format (e.g., '2025-06-20' would return things taking place ON or BEFORE the 20th)"}, 'quantity': {'type': 'integer', 'description': 'Number of travelers'}, 'startDate': {'type': 'string', 'description': "Start date inclusive YYYY-MM-DD format (e.g., '2025-06-19')"}}}
输入模式
{'type': 'object', 'required': ['id'], 'properties': {'id': {'type': 'string', 'description': 'The ID of the experience to retrieve'}}}
输入模式
{'type': 'object', 'properties': {}}
输入模式
{'type': 'object', 'required': ['id'], 'properties': {'id': {'type': 'string', 'description': 'ID or comma separate list of activity IDs to render as tiles'}}}
输入模式
{'type': 'object', 'properties': {'query': {'type': 'string', 'description': 'When the user wants something w/ a specific keyword (bike, beer, art, etc) limit to experiences whose title contain a keyword. Never include location information.'}, 'tagId': {'type': 'string', 'description': 'When you have determined the user is interest in a specific vibe of activity (family friendly, romantic, etc) limit to only experiences with a specific tag (single tag ID)'}, 'latLng': {'type': 'string', 'description': 'When the user wants something NEAR a specific place, but not necessarily IN a specific place, limit to only those near a given lat_lng. ex: "37.7799,-122.2822". Don\'t use this for regions, instead use the search_regions and provide a region id. this is a good fallback if a specific region is lacking inventory.'}, 'endDate': {'type': 'string', 'description': "Return experiences that are available on or before this date in YYYY-MM-DD format (e.g., '2025-06-20' would return things taking place ON or BEFORE the 20th)"}, 'regionId': {'type': 'string', 'description': 'When you have determined the user wants something in a specific region (found w/ search_regions) limit to only a specific region ID'}, 'startDate': {'type': 'string', 'description': "Return experiences that are available on or after this date. YYYY-MM-DD format (e.g., '2025-06-19')"}, 'categoryId': {'type': 'string', 'description': 'Limit to only a specific activity category'}}}
输入模式
{'type': 'object', 'required': ['query'], 'properties': {'limit': {'type': 'integer', 'description': 'Maximum number of regions to return (default: 50)'}, 'query': {'type': 'string', 'description': 'Search query to match against region names'}}}
输入模式
{'type': 'object', 'title': 'restcountries_country_infoArguments', 'required': ['query'], 'properties': {'query': {'type': 'string', 'title': 'Query'}, 'fields': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'title': 'Fields', 'default': None}, 'search_by': {'type': 'string', 'title': 'Search By', 'default': 'name'}}}
输出模式
{'type': 'object', 'title': 'restcountries_country_infoOutput', 'required': ['result'], 'properties': {'result': {'type': 'string', 'title': 'Result'}}}
输入模式
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['pickupLocation', 'pickupDate', 'dropoffDate'], 'properties': {'limit': {'type': 'integer', 'default': 12, 'maximum': 100, 'minimum': 1, 'description': 'Maximum number of car offers to return'}, 'offset': {'type': 'integer', 'default': 0, 'maximum': 99, 'minimum': 0, 'description': 'Number of car offers to skip for pagination (default: 0)'}, 'pickupDate': {'type': 'string', 'description': 'Pickup date (YYYY-MM-DD)'}, 'pickupTime': {'type': 'string', 'default': '10:00', 'pattern': '^\\d{2}:\\d{2}(?::\\d{2})?$', 'description': 'Pickup time (HH:mm or HH:mm:ss, default 10:00)'}, 'dropoffDate': {'$ref': '#/properties/pickupDate', 'description': 'Dropoff date (YYYY-MM-DD)'}, 'dropoffTime': {'$ref': '#/properties/pickupTime', 'default': '10:00', 'description': 'Dropoff time (HH:mm or HH:mm:ss, default 10:00)'}, 'pickupLocation': {'type': 'string', 'minLength': 1, 'description': 'Pickup city or airport code'}, 'dropoffLocation': {'$ref': '#/properties/pickupLocation', 'description': 'Dropoff city or airport code (defaults to pickup)'}}, 'additionalProperties': False}
输入模式
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['from', 'depart'], 'properties': {'from': {'type': 'string', 'description': 'Departure IATA code or city name'}, 'adults': {'type': 'integer', 'default': 1, 'maximum': 9, 'minimum': 1, 'description': 'Number of adult passengers'}, 'depart': {'type': 'string', 'description': 'Departure date in YYYY-MM-DD format'}, 'return': {'$ref': '#/properties/depart', 'description': 'Return date in YYYY-MM-DD format (optional for one-way trips)'}, 'children': {'type': 'integer', 'default': 0, 'maximum': 8, 'minimum': 0, 'description': 'Number of child passengers'}, 'fare_class': {'enum': ['basic-economy', 'economy', 'premium', 'business', 'first'], 'type': 'string', 'default': 'economy', 'description': 'Fare class preference'}, 'infantsLap': {'type': 'integer', 'default': 0, 'maximum': 4, 'minimum': 0, 'description': 'Number of lap infants'}, 'infantsSeat': {'type': 'integer', 'default': 0, 'maximum': 4, 'minimum': 0, 'description': 'Number of seat infants'}}, 'additionalProperties': False}
输入模式
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['query'], 'properties': {'query': {'type': 'string', 'minLength': 1, 'description': 'Concise FAQ question for retrieval. Do not include personal identifiers, account IDs, or session details.'}, 'top_k': {'type': 'integer', 'default': 3, 'maximum': 5, 'minimum': 1, 'description': 'Number of top FAQ sources to return (1-5)'}}, 'additionalProperties': False}
输入模式
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['origin', 'destination', 'departureDate'], 'properties': {'sort': {'enum': ['date', 'price'], 'type': 'string', 'default': 'date', 'description': 'Sort results chronologically or by lowest price first'}, 'adults': {'type': 'integer', 'default': 1, 'maximum': 9, 'minimum': 1, 'description': 'Number of adult passengers (default: 1, max: 9)'}, 'origin': {'type': 'string', 'description': 'Departure city name or IATA code (will be resolved to IATA code automatically)'}, 'children': {'type': 'integer', 'default': 0, 'maximum': 8, 'minimum': 0, 'description': 'Number of child passengers (default: 0, max: 8)'}, 'infantsLap': {'type': 'integer', 'default': 0, 'maximum': 4, 'minimum': 0, 'description': 'Number of lap infants (default: 0, max: 4)'}, 'returnDate': {'anyOf': [{'$ref': '#/properties/departureDate'}, {'type': 'null'}], 'description': 'Return date for matching trip length (optional, YYYY-MM-DD format)'}, 'destination': {'type': 'string', 'description': 'Arrival city name or IATA code (will be resolved to IATA code automatically)'}, 'infantsSeat': {'type': 'integer', 'default': 0, 'maximum': 4, 'minimum': 0, 'description': 'Number of seat infants (default: 0, max: 4)'}, 'departureDate': {'type': 'string', 'description': 'Preferred departure date (YYYY-MM-DD format)'}}, 'additionalProperties': False}
输入模式
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['origin', 'destination', 'departureDate', 'returnDate'], 'properties': {'sort': {'enum': ['date', 'price'], 'type': 'string', 'default': 'date', 'description': 'Sort results chronologically or by lowest price first'}, 'adults': {'type': 'integer', 'default': 1, 'maximum': 9, 'minimum': 1, 'description': 'Number of adult passengers (default: 1, max: 9)'}, 'origin': {'type': 'string', 'description': 'Departure city name or IATA code (will be resolved to IATA code automatically)'}, 'children': {'type': 'integer', 'default': 0, 'maximum': 8, 'minimum': 0, 'description': 'Number of child passengers (default: 0, max: 8)'}, 'infantsLap': {'type': 'integer', 'default': 0, 'maximum': 4, 'minimum': 0, 'description': 'Number of lap infants (default: 0, max: 4)'}, 'returnDate': {'$ref': '#/properties/departureDate', 'description': 'Return date for the reference trip (YYYY-MM-DD format)'}, 'destination': {'type': 'string', 'description': 'Arrival city name or IATA code (will be resolved to IATA code automatically)'}, 'infantsSeat': {'type': 'integer', 'default': 0, 'maximum': 4, 'minimum': 0, 'description': 'Number of seat infants (default: 0, max: 4)'}, 'departureDate': {'type': 'string', 'description': 'Preferred departure date (YYYY-MM-DD format)'}}, 'additionalProperties': False}
输入模式
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['origin', 'destination', 'departureDate'], 'properties': {'sort': {'enum': ['price', 'duration', 'value'], 'type': 'string', 'default': 'value', 'description': 'Sort flights by price (cheapest first), duration (shortest first), or value (best price/time ratio, default)'}, 'limit': {'type': 'integer', 'default': 12, 'maximum': 100, 'minimum': 1, 'description': 'Maximum number of flights to return (default: 12, max: 100)'}, 'adults': {'type': 'integer', 'default': 1, 'maximum': 9, 'minimum': 1, 'description': 'Number of adult passengers (default: 1, max: 9)'}, 'offset': {'type': 'integer', 'default': 0, 'maximum': 99, 'minimum': 0, 'description': 'Number of flights to skip for pagination (default: 0)'}, 'origin': {'type': 'string', 'minLength': 1, 'description': 'Departure location - prefer IATA code'}, 'children': {'type': 'integer', 'default': 0, 'maximum': 8, 'minimum': 0, 'description': 'Number of child passengers (default: 0, max: 8)'}, 'maxStops': {'enum': ['none', 'one', 'many'], 'type': 'string', 'description': 'Maximum number of stops (none=nonstop, one=1 stop, many=2+ stops)'}, 'fareClass': {'enum': ['basic-economy', 'economy', 'premium', 'business', 'first'], 'type': 'string', 'default': 'economy', 'description': 'Fare class preference (default: economy)'}, 'infantsLap': {'type': 'integer', 'default': 0, 'maximum': 4, 'minimum': 0, 'description': 'Number of lap infants (default: 0, max: 4)'}, 'returnDate': {'$ref': '#/properties/departureDate'}, 'destination': {'type': 'string', 'minLength': 1, 'description': 'Arrival location - prefer IATA code'}, 'infantsSeat': {'type': 'integer', 'default': 0, 'maximum': 4, 'minimum': 0, 'description': 'Number of seat infants (default: 0, max: 4)'}, 'departureDate': {'type': 'string'}, 'arrivalAirports': {'anyOf': [{'anyOf': [{'not': {}}, {'type': 'array', 'items': {'type': 'string'}, 'minItems': 1}]}, {'type': 'null'}], 'description': 'Array of specific arrival airport codes to include (when destination city has multiple airports)'}, 'includeStandard': {'type': 'boolean', 'default': True, 'description': 'Include standard flights (default: true)'}, 'excludedAirlines': {'type': 'array', 'items': {'type': 'string'}, 'description': "Array of excluded airline codes (e.g., ['F9', 'NK'])"}, 'arrivalTimeLatest': {'type': 'integer', 'maximum': 1439, 'minimum': 0, 'description': 'Latest arrival time in minutes from midnight (0-1439)'}, 'departureAirports': {'anyOf': [{'anyOf': [{'not': {}}, {'type': 'array', 'items': {'type': 'string'}, 'minItems': 1}]}, {'type': 'null'}], 'description': 'Array of specific departure airport codes to include (when origin city has multiple airports)'}, 'includeHiddenCity': {'type': 'boolean', 'default': True, 'description': 'Include hidden city flights (default: true)'}, 'maxFlightDuration': {'type': 'integer', 'minimum': 0, 'description': 'Maximum total flight duration in minutes'}, 'preferredAirlines': {'type': 'array', 'items': {'type': 'string'}, 'description': "Array of preferred airline codes (e.g., ['UA', 'DL'])"}, 'maxLayoverDuration': {'type': 'integer', 'minimum': 0, 'description': 'Maximum layover duration in minutes'}, 'arrivalTimeEarliest': {'type': 'integer', 'maximum': 1439, 'minimum': 0, 'description': 'Earliest arrival time in minutes from midnight (0-1439)'}, 'departureTimeLatest': {'type': 'integer', 'maximum': 1439, 'minimum': 0, 'description': 'Latest departure time in minutes from midnight (0-1439)'}, 'departureTimeEarliest': {'type': 'integer', 'maximum': 1439, 'minimum': 0, 'description': 'Earliest departure time in minutes from midnight (0-1439)'}, 'includeVirtualInterlining': {'type': 'boolean', 'default': True, 'description': 'Include virtual interlining flights (default: true)'}}, 'additionalProperties': False}
输入模式
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['hotelId', 'checkin', 'checkout'], 'properties': {'live': {'type': 'boolean', 'default': True, 'description': 'Use live rates (includes booking links). Disable for faster, less accurate cached rates.'}, 'checkin': {'type': 'string', 'description': 'Check-in date (YYYY-MM-DD format)'}, 'hotelId': {'type': 'integer', 'description': 'Hotel ID (from search results) to fetch detailed availability for', 'exclusiveMinimum': 0}, 'checkout': {'$ref': '#/properties/checkin', 'description': 'Check-out date (YYYY-MM-DD format)'}, 'numRooms': {'type': 'integer', 'default': 1, 'maximum': 5, 'minimum': 1, 'description': 'Number of rooms (default: 1, max: 5)'}, 'numAdults': {'type': 'integer', 'default': 2, 'maximum': 10, 'minimum': 1, 'description': 'Number of adults (default: 2, max: 10)'}, 'numChildren': {'type': 'integer', 'default': 0, 'maximum': 10, 'minimum': 0, 'description': 'Number of children (default: 0, max: 10)'}}, 'additionalProperties': False}
输入模式
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['city', 'checkin', 'checkout'], 'properties': {'city': {'type': 'string', 'minLength': 1, 'description': 'City name to search for hotels (will be matched against available cities)'}, 'sort': {'enum': ['price', 'ranking', 'value', 'discount'], 'type': 'string', 'default': 'value', 'description': 'Sort hotels by price (cheapest first), ranking (highest rated first), value (best value rating), or discount (best deals first, default when deals available)'}, 'limit': {'type': 'integer', 'default': 12, 'maximum': 100, 'minimum': 1, 'description': 'Maximum number of hotels to return (default: 12, max: 100)'}, 'offset': {'type': 'integer', 'default': 0, 'maximum': 99, 'minimum': 0, 'description': 'Number of hotels to skip for pagination (default: 0)'}, 'checkin': {'type': 'string', 'description': 'Check-in date (YYYY-MM-DD format)'}, 'checkout': {'$ref': '#/properties/checkin', 'description': 'Check-out date (YYYY-MM-DD format)'}, 'numRooms': {'type': 'integer', 'default': 1, 'maximum': 9, 'minimum': 1, 'description': 'Number of rooms (default: 1, max: 9)'}, 'numAdults': {'type': 'integer', 'default': 2, 'maximum': 10, 'minimum': 1, 'description': 'Number of adults (default: 2, max: 10)'}, 'numChildren': {'type': 'integer', 'default': 0, 'maximum': 10, 'minimum': 0, 'description': 'Number of children (default: 0, max: 10)'}}, 'additionalProperties': False}
输入模式
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['input'], 'properties': {'input': {'type': 'string', 'minLength': 1, 'description': 'City name code to resolve to IATA code'}}, 'additionalProperties': False}
输入模式
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {}}
输入模式
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['textSearch'], 'properties': {'textSearch': {'type': 'string', 'description': 'Operator name for search, for example `Topdeck`'}}}
输入模式
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['country_code', 'search'], 'properties': {'search': {'type': 'array', 'items': {'type': 'string'}, 'minItems': 1, 'description': "City name filter. It is recommended to use this filter to narrow down the search results. Please use english only names. How to search: If you are looking for Kraków city, please pass potential candidates here, like: ['Krakow', 'Kraków', 'Cracow']. It will return all cities that match any of the names."}, 'country_code': {'enum': ['AF', 'AL', 'DZ', 'AD', 'AO', 'AG', 'AR', 'AM', 'AU', 'AT', 'AZ', 'BS', 'BH', 'BD', 'BB', 'BY', 'BE', 'BZ', 'BJ', 'BT', 'BA', 'BW', 'BR', 'BN', 'BG', 'BF', 'BI', 'KH', 'CM', 'CA', 'CV', 'CF', 'TD', 'CL', 'CN', 'CO', 'KM', 'CD', 'CG', 'CR', 'CI', 'HR', 'CU', 'CY', 'CZ', 'DK', 'DJ', 'DM', 'DO', 'TL', 'EC', 'EG', 'SV', 'GQ', 'ER', 'EE', 'ET', 'FJ', 'FI', 'FR', 'GA', 'GM', 'GE', 'DE', 'GH', 'GR', 'GD', 'GT', 'GN', 'GW', 'GY', 'HT', 'HN', 'HU', 'IS', 'IN', 'ID', 'IR', 'IQ', 'IE', 'IL', 'IT', 'JM', 'JP', 'JO', 'KZ', 'KE', 'KP', 'KR', 'KW', 'KG', 'LA', 'LV', 'LB', 'LS', 'LR', 'LY', 'LI', 'LT', 'LU', 'MK', 'MG', 'MW', 'MY', 'MV', 'ML', 'MR', 'MU', 'MX', 'FM', 'MD', 'MC', 'MN', 'MA', 'MZ', 'MM', 'NA', 'NR', 'NP', 'NZ', 'NI', 'NE', 'NG', 'NO', 'OM', 'PK', 'PA', 'PG', 'PY', 'PE', 'PH', 'PL', 'PT', 'QA', 'RU', 'RW', 'KN', 'LC', 'VC', 'WS', 'SM', 'ST', 'SA', 'SN', 'RS', 'SC', 'SG', 'SK', 'SI', 'SO', 'ZA', 'ES', 'LK', 'SD', 'SZ', 'SE', 'CH', 'SY', 'TW', 'TJ', 'TZ', 'TH', 'TG', 'TO', 'TT', 'TN', 'TR', 'TM', 'UG', 'UA', 'AE', 'US', 'UY', 'UZ', 'VU', 'VA', 'VE', 'VN', 'YE', 'ZM', 'ZW', 'NL', 'BO', 'MT', 'GB', 'NC', 'SB', 'GU', 'PF', 'AS', 'SL', 'EH', 'PS', 'BM', 'GL', 'PM', 'AI', 'AW', 'KY', 'GP', 'MQ', 'MS', 'PR', 'TC', 'VI', 'RO', 'FO', 'GG', 'JE', 'IM', 'SJ', 'GI', 'FK', 'VG', 'RE', 'SR', 'CK', 'ME', 'XK', 'SX', 'CW', 'HK', 'AQ'], 'type': 'string', 'description': "ISO 3166-1 alpha-2 country code (e.g., 'US' for USA, 'GB' for United Kingdom, 'DE' for Germany)."}}}
输入模式
{'type': 'object', 'properties': {}}
输入模式
{'type': 'object', 'properties': {}}
输入模式
{'type': 'object', 'properties': {}}
输入模式
{'type': 'object', 'properties': {}}
输入模式
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['operatorId'], 'properties': {'operatorId': {'type': 'integer', 'maximum': 9007199254740991, 'exclusiveMinimum': 0}}}
输入模式
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['tourId', 'dateRange'], 'properties': {'page': {'type': 'integer', 'default': 1, 'maximum': 9007199254740991, 'description': 'Page number. Default is 1', 'exclusiveMinimum': 0}, 'tourId': {'type': 'integer', 'maximum': 9007199254740991, 'description': 'Tour ID', 'exclusiveMinimum': 0}, 'currency': {'enum': ['USD', 'EUR', 'GBP', 'AUD', 'NZD', 'CAD'], 'type': 'string', 'description': "Currency to return prices in. Use this only when the user explicitly asks for a specific currency. Otherwise the user's default (based on location) is used."}, 'dateRange': {'type': 'object', 'required': ['start', 'end'], 'properties': {'end': {'type': 'string', 'format': 'date', 'pattern': '^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$', 'description': 'End date of the range'}, 'start': {'type': 'string', 'format': 'date', 'pattern': '^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$', 'description': 'Start date of the range'}}, 'description': 'Returns only departure dates in the desired range'}}}
输入模式
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['tourId'], 'properties': {'tourId': {'type': 'integer', 'maximum': 9007199254740991, 'exclusiveMinimum': 0}, 'currency': {'enum': ['USD', 'EUR', 'GBP', 'AUD', 'NZD', 'CAD'], 'type': 'string', 'description': "Currency to return prices in. Use this only when the user explicitly asks for a specific currency. Otherwise the user's default (based on location) is used."}}}
输入模式
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['tourId'], 'properties': {'page': {'type': 'integer', 'default': 1, 'maximum': 9007199254740991, 'description': 'Page number. Default is 1', 'exclusiveMinimum': 0}, 'tourId': {'type': 'integer', 'maximum': 9007199254740991, 'exclusiveMinimum': 0}}}
输入模式
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['tourIds'], 'properties': {'tourIds': {'type': 'array', 'items': {'type': 'integer', 'maximum': 9007199254740991, 'exclusiveMinimum': 0}, 'minItems': 1}, 'currency': {'enum': ['USD', 'EUR', 'GBP', 'AUD', 'NZD', 'CAD'], 'type': 'string', 'description': "Currency to return prices in. Use this only when the user explicitly asks for a specific currency. Otherwise the user's default (based on location) is used."}}}
输入模式
{'type': 'object', 'properties': {}}
输入模式
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {}}
输入模式
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {'query': {'type': 'string', 'default': '', 'description': "Short natural language search query to find specific review topics. Keep it concise â\x80\x94 do NOT expand into keyword lists. Use simple phrases like 'food quality', 'guide', 'hotel issues'. The search engine handles semantic matching automatically. Prefer using 'keywords' parameter instead when user intent maps to specific topics. Leave empty to return all reviews."}, 'tourIds': {'type': 'array', 'items': {'type': 'integer', 'maximum': 9007199254740991, 'exclusiveMinimum': 0}, 'minItems': 1, 'description': 'Tour IDs to scope reviews to specific tours. Use vertex-tour-title-search to find tour IDs if needed.'}, 'keywords': {'type': 'array', 'items': {'type': 'string'}, 'description': "Array of keyword phrases to search reviews for. These are joined with OR logic to find reviews matching any of the given topics. Use short phrases (e.g., ['food quality', 'meals', 'restaurant']). When provided, this takes priority over 'query'."}, 'pageSize': {'type': 'integer', 'default': 10, 'maximum': 20, 'minimum': 1, 'description': 'Number of reviews to return (1-20, default 10)'}, 'minRating': {'type': 'number', 'maximum': 5, 'minimum': 1, 'description': 'Only return reviews with a star rating >= this value (1-5). Use to surface only strong reviews.'}, 'pageToken': {'type': 'string', 'description': 'Token for fetching the next page of results. Use the nextPageToken value from a previous response.'}, 'createdAfter': {'type': 'string', 'pattern': '^\\d{4}-\\d{2}-\\d{2}$', 'description': 'Only return reviews created on or after this date (YYYY-MM-DD). Use to bias toward recent reviews.'}, 'travelledAfter': {'type': 'string', 'pattern': '^\\d{4}-\\d{2}-\\d{2}$', 'description': 'Only return reviews whose trip departed on or after this date (YYYY-MM-DD). Use to surface reviews from recent travellers.'}}}
输入模式
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['textSearch'], 'properties': {'price': {'type': 'object', 'required': ['min', 'max', 'currency'], 'properties': {'max': {'type': 'number', 'description': 'Maximum price'}, 'min': {'type': 'number', 'minimum': 0, 'description': 'Minimum price'}, 'currency': {'enum': ['USD', 'EUR', 'GBP', 'AUD', 'NZD', 'CAD'], 'type': 'string', 'description': 'Currency for price values.'}}, 'description': "Filter by tour price in the selected currency. E.g., { min: 500, max: 2000, currency: 'EUR' } finds tours priced between â\x82¬500 and â\x82¬2000. Min and max value cannot be this same."}, 'cities': {'type': 'object', 'required': ['values'], 'properties': {'values': {'type': 'array', 'items': {'type': 'integer', 'maximum': 9007199254740991, 'exclusiveMinimum': 0}, 'minItems': 1, 'description': 'City IDs that the tour visits. Use b2b-cities-search to find city IDs (e.g., [1234, 5678])'}, 'operator': {'enum': ['AND', 'OR'], 'type': 'string', 'default': 'OR', 'description': 'AND = tour must visit ALL specified cities, OR = tour must visit ANY of the specified cities'}}, 'description': 'Filter tours by cities visited on the itinerary. City IDs can be obtained from the b2b-cities-search tool'}, 'max_age': {'type': 'object', 'required': ['min', 'max'], 'properties': {'max': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': -9007199254740991, 'description': 'Maximum value for max age'}, 'min': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': 0, 'description': 'Minimum value for max age'}}, 'description': "Filter by tour's maximum age limit. E.g., { min: 18, max: 39 } finds tours limited to young adults. Use to find age-restricted tours like youth or senior-specific trips. Min and max value cannot be this same."}, 'min_age': {'type': 'object', 'required': ['min', 'max'], 'properties': {'max': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': -9007199254740991, 'description': 'Maximum value for min age'}, 'min': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': 1, 'description': 'Minimum value for min age'}}, 'description': "Filter by tour's minimum age requirement. E.g., { min: 1, max: 12 } finds tours that accept children under 12. Use to find family-friendly tours or tours with low age requirements. Min and max value cannot be this same."}, 'tourIds': {'type': 'array', 'items': {'type': 'integer', 'maximum': 9007199254740991, 'exclusiveMinimum': 0}, 'description': 'Filter by specific tour IDs. Use this to narrow search results to known tours.'}, 'currency': {'enum': ['USD', 'EUR', 'GBP', 'AUD', 'NZD', 'CAD'], 'type': 'string', 'description': "Currency to return prices in. Use this only when the user explicitly asks for a specific currency. Otherwise the user's default (based on location) is used."}, 'discount': {'type': 'object', 'required': ['min', 'max'], 'properties': {'max': {'type': 'number', 'maximum': 100, 'minimum': 0, 'description': 'Maximum discount percentage (0-100)'}, 'min': {'type': 'number', 'maximum': 100, 'minimum': 0, 'description': 'Minimum discount percentage (0-100)'}}, 'description': 'Filter tours by discount percentage. E.g., { min: 10, max: 50 } finds tours with 10% to 50% off. Min and max value cannot be the same.'}, 'duration': {'type': 'object', 'required': ['min', 'max'], 'properties': {'max': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': -9007199254740991, 'description': 'Max tour duration in days'}, 'min': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': 0, 'description': 'Min tour duration in days'}}, 'description': 'Filter tours by duration in days. Example: set min: 5 , max: 8 to find duration between those days. Include this filter when is needed'}, 'end_city': {'type': 'array', 'items': {'type': 'integer', 'maximum': 9007199254740991, 'exclusiveMinimum': 0}, 'description': 'City IDs where the tour ends (e.g., [1234, 5678]). Use b2b-cities-search to find city IDs. If passing multiple values, will find tours ending in any of the given cities'}, 'countries': {'type': 'object', 'required': ['values'], 'properties': {'values': {'type': 'array', 'items': {'enum': ['AF', 'AL', 'DZ', 'AD', 'AO', 'AG', 'AR', 'AM', 'AU', 'AT', 'AZ', 'BS', 'BH', 'BD', 'BB', 'BY', 'BE', 'BZ', 'BJ', 'BT', 'BA', 'BW', 'BR', 'BN', 'BG', 'BF', 'BI', 'KH', 'CM', 'CA', 'CV', 'CF', 'TD', 'CL', 'CN', 'CO', 'KM', 'CD', 'CG', 'CR', 'CI', 'HR', 'CU', 'CY', 'CZ', 'DK', 'DJ', 'DM', 'DO', 'TL', 'EC', 'EG', 'SV', 'GQ', 'ER', 'EE', 'ET', 'FJ', 'FI', 'FR', 'GA', 'GM', 'GE', 'DE', 'GH', 'GR', 'GD', 'GT', 'GN', 'GW', 'GY', 'HT', 'HN', 'HU', 'IS', 'IN', 'ID', 'IR', 'IQ', 'IE', 'IL', 'IT', 'JM', 'JP', 'JO', 'KZ', 'KE', 'KP', 'KR', 'KW', 'KG', 'LA', 'LV', 'LB', 'LS', 'LR', 'LY', 'LI', 'LT', 'LU', 'MK', 'MG', 'MW', 'MY', 'MV', 'ML', 'MR', 'MU', 'MX', 'FM', 'MD', 'MC', 'MN', 'MA', 'MZ', 'MM', 'NA', 'NR', 'NP', 'NZ', 'NI', 'NE', 'NG', 'NO', 'OM', 'PK', 'PA', 'PG', 'PY', 'PE', 'PH', 'PL', 'PT', 'QA', 'RU', 'RW', 'KN', 'LC', 'VC', 'WS', 'SM', 'ST', 'SA', 'SN', 'RS', 'SC', 'SG', 'SK', 'SI', 'SO', 'ZA', 'ES', 'LK', 'SD', 'SZ', 'SE', 'CH', 'SY', 'TW', 'TJ', 'TZ', 'TH', 'TG', 'TO', 'TT', 'TN', 'TR', 'TM', 'UG', 'UA', 'AE', 'US', 'UY', 'UZ', 'VU', 'VA', 'VE', 'VN', 'YE', 'ZM', 'ZW', 'NL', 'BO', 'MT', 'GB', 'NC', 'SB', 'GU', 'PF', 'AS', 'SL', 'EH', 'PS', 'BM', 'GL', 'PM', 'AI', 'AW', 'KY', 'GP', 'MQ', 'MS', 'PR', 'TC', 'VI', 'RO', 'FO', 'GG', 'JE', 'IM', 'SJ', 'GI', 'FK', 'VG', 'RE', 'SR', 'CK', 'ME', 'XK', 'SX', 'CW', 'HK', 'AQ'], 'type': 'string'}, 'minItems': 1, 'description': 'ISO 3166-1 alpha-2 country codes that the tour passes through (e.g., ["DE", "AT", "CH"])'}, 'operator': {'enum': ['AND', 'OR'], 'type': 'string', 'default': 'OR', 'description': 'AND = tour must visit ALL specified countries, OR = tour must visit ANY of the specified countries'}}, 'description': "Filter by countries visited DURING the tour itinerary. Use 'start_country'/'end_country' for departure/destination countries."}, 'departures': {'type': 'object', 'required': ['values'], 'properties': {'values': {'type': 'array', 'items': {'type': 'string', 'pattern': '^\\d{4}-\\d{2}$'}, 'minItems': 1, 'description': 'Departure months in YYYY-MM format (e.g., ["2026-05", "2026-06"])'}, 'operator': {'enum': ['AND', 'OR'], 'type': 'string', 'default': 'OR', 'description': 'AND = tour must have departures in ALL specified months, OR = tour must have departures in ANY of the specified months'}}, 'description': 'Filter tours by available departure months'}, 'start_city': {'type': 'array', 'items': {'type': 'integer', 'maximum': 9007199254740991, 'exclusiveMinimum': 0}, 'description': 'City IDs where the tour starts (e.g., [1234, 5678]). Use b2b-cities-search to find city IDs. If passing multiple values, will find tours starting in any of the given cities'}, 'textSearch': {'type': 'string'}, 'end_country': {'type': 'array', 'items': {'enum': ['AF', 'AL', 'DZ', 'AD', 'AO', 'AG', 'AR', 'AM', 'AU', 'AT', 'AZ', 'BS', 'BH', 'BD', 'BB', 'BY', 'BE', 'BZ', 'BJ', 'BT', 'BA', 'BW', 'BR', 'BN', 'BG', 'BF', 'BI', 'KH', 'CM', 'CA', 'CV', 'CF', 'TD', 'CL', 'CN', 'CO', 'KM', 'CD', 'CG', 'CR', 'CI', 'HR', 'CU', 'CY', 'CZ', 'DK', 'DJ', 'DM', 'DO', 'TL', 'EC', 'EG', 'SV', 'GQ', 'ER', 'EE', 'ET', 'FJ', 'FI', 'FR', 'GA', 'GM', 'GE', 'DE', 'GH', 'GR', 'GD', 'GT', 'GN', 'GW', 'GY', 'HT', 'HN', 'HU', 'IS', 'IN', 'ID', 'IR', 'IQ', 'IE', 'IL', 'IT', 'JM', 'JP', 'JO', 'KZ', 'KE', 'KP', 'KR', 'KW', 'KG', 'LA', 'LV', 'LB', 'LS', 'LR', 'LY', 'LI', 'LT', 'LU', 'MK', 'MG', 'MW', 'MY', 'MV', 'ML', 'MR', 'MU', 'MX', 'FM', 'MD', 'MC', 'MN', 'MA', 'MZ', 'MM', 'NA', 'NR', 'NP', 'NZ', 'NI', 'NE', 'NG', 'NO', 'OM', 'PK', 'PA', 'PG', 'PY', 'PE', 'PH', 'PL', 'PT', 'QA', 'RU', 'RW', 'KN', 'LC', 'VC', 'WS', 'SM', 'ST', 'SA', 'SN', 'RS', 'SC', 'SG', 'SK', 'SI', 'SO', 'ZA', 'ES', 'LK', 'SD', 'SZ', 'SE', 'CH', 'SY', 'TW', 'TJ', 'TZ', 'TH', 'TG', 'TO', 'TT', 'TN', 'TR', 'TM', 'UG', 'UA', 'AE', 'US', 'UY', 'UZ', 'VU', 'VA', 'VE', 'VN', 'YE', 'ZM', 'ZW', 'NL', 'BO', 'MT', 'GB', 'NC', 'SB', 'GU', 'PF', 'AS', 'SL', 'EH', 'PS', 'BM', 'GL', 'PM', 'AI', 'AW', 'KY', 'GP', 'MQ', 'MS', 'PR', 'TC', 'VI', 'RO', 'FO', 'GG', 'JE', 'IM', 'SJ', 'GI', 'FK', 'VG', 'RE', 'SR', 'CK', 'ME', 'XK', 'SX', 'CW', 'HK', 'AQ'], 'type': 'string'}, 'description': "Filter by the country where the tour ENDS (final destination). ISO 3166-1 alpha-2 codes (e.g., ['IT', 'FR']). Multiple values = OR logic. Use 'countries' filter for countries visited during the itinerary."}, 'display_mode': {'enum': ['listing', 'map'], 'type': 'string', 'default': 'listing', 'description': "How to display the search results. 'listing' shows a carousel of tour cards. 'map' shows tours on an interactive map."}, 'operator_ids': {'type': 'array', 'items': {'type': 'number'}, 'description': 'Filter tours by specific operator ids. You can add multiple operator ids, then OR operator will be used. For lookup for partner by name, please use algolia-operator-search tool.'}, 'start_country': {'type': 'array', 'items': {'enum': ['AF', 'AL', 'DZ', 'AD', 'AO', 'AG', 'AR', 'AM', 'AU', 'AT', 'AZ', 'BS', 'BH', 'BD', 'BB', 'BY', 'BE', 'BZ', 'BJ', 'BT', 'BA', 'BW', 'BR', 'BN', 'BG', 'BF', 'BI', 'KH', 'CM', 'CA', 'CV', 'CF', 'TD', 'CL', 'CN', 'CO', 'KM', 'CD', 'CG', 'CR', 'CI', 'HR', 'CU', 'CY', 'CZ', 'DK', 'DJ', 'DM', 'DO', 'TL', 'EC', 'EG', 'SV', 'GQ', 'ER', 'EE', 'ET', 'FJ', 'FI', 'FR', 'GA', 'GM', 'GE', 'DE', 'GH', 'GR', 'GD', 'GT', 'GN', 'GW', 'GY', 'HT', 'HN', 'HU', 'IS', 'IN', 'ID', 'IR', 'IQ', 'IE', 'IL', 'IT', 'JM', 'JP', 'JO', 'KZ', 'KE', 'KP', 'KR', 'KW', 'KG', 'LA', 'LV', 'LB', 'LS', 'LR', 'LY', 'LI', 'LT', 'LU', 'MK', 'MG', 'MW', 'MY', 'MV', 'ML', 'MR', 'MU', 'MX', 'FM', 'MD', 'MC', 'MN', 'MA', 'MZ', 'MM', 'NA', 'NR', 'NP', 'NZ', 'NI', 'NE', 'NG', 'NO', 'OM', 'PK', 'PA', 'PG', 'PY', 'PE', 'PH', 'PL', 'PT', 'QA', 'RU', 'RW', 'KN', 'LC', 'VC', 'WS', 'SM', 'ST', 'SA', 'SN', 'RS', 'SC', 'SG', 'SK', 'SI', 'SO', 'ZA', 'ES', 'LK', 'SD', 'SZ', 'SE', 'CH', 'SY', 'TW', 'TJ', 'TZ', 'TH', 'TG', 'TO', 'TT', 'TN', 'TR', 'TM', 'UG', 'UA', 'AE', 'US', 'UY', 'UZ', 'VU', 'VA', 'VE', 'VN', 'YE', 'ZM', 'ZW', 'NL', 'BO', 'MT', 'GB', 'NC', 'SB', 'GU', 'PF', 'AS', 'SL', 'EH', 'PS', 'BM', 'GL', 'PM', 'AI', 'AW', 'KY', 'GP', 'MQ', 'MS', 'PR', 'TC', 'VI', 'RO', 'FO', 'GG', 'JE', 'IM', 'SJ', 'GI', 'FK', 'VG', 'RE', 'SR', 'CK', 'ME', 'XK', 'SX', 'CW', 'HK', 'AQ'], 'type': 'string'}, 'description': "Filter by the country where the tour BEGINS (departure point). ISO 3166-1 alpha-2 codes (e.g., ['DE', 'AT']). Multiple values = OR logic. Use 'countries' filter for countries visited during the itinerary."}, 'max_group_size': {'type': 'object', 'required': ['min', 'max'], 'properties': {'max': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': -9007199254740991, 'description': 'Maximum value for max group size'}, 'min': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': 1, 'description': 'Minimum value for max group size'}}, 'description': "Filter by tour's maximum group size. E.g., { min: 1, max: 20 } finds small group tours with max 20 participants. Min and max value cannot be this same. "}, 'min_group_size': {'type': 'object', 'required': ['min', 'max'], 'properties': {'max': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': -9007199254740991, 'description': 'Maximum value for min group size'}, 'min': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': 0, 'description': 'Minimum value for min group size'}}, 'description': "Filter by tour's minimum group size. E.g., { min: 1, max: 1 } finds tours that accept solo travelers. Min and max value cannot be this same."}}}
输入模式
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['query'], 'properties': {'query': {'type': 'string', 'description': 'Tour title or partial title to search for'}}}
输入模式
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['entity', 'question', 'email', 'firstName', 'lastName'], 'properties': {'email': {'type': 'string', 'format': 'email', 'pattern': "^(?!\\.)(?!.*\\.\\.)([A-Za-z0-9_'+\\-\\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$", 'description': 'Customer email address. If email is not given by the customer, please ask before executing this tool. Never generate an email yourself.'}, 'entity': {'oneOf': [{'type': 'object', 'required': ['mode', 'tourId'], 'properties': {'mode': {'type': 'string', 'const': 'tour', 'description': 'Use "tour" for a question about a specific tour.'}, 'tourId': {'type': 'integer', 'maximum': 9007199254740991, 'description': 'Tour ID. Required for a tour question.', 'exclusiveMinimum': 0}, 'paxAdults': {'type': 'integer', 'maximum': 9007199254740991, 'description': 'Number of adults. Defaults to 1 when omitted.', 'exclusiveMinimum': 0}, 'paxChildren': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': 0, 'description': 'Number of children. Defaults to 0 when omitted.'}, 'departureDate': {'type': 'string', 'format': 'date', 'pattern': '^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$', 'description': 'Optional departure date, from the customer selection. Omit if the customer has not chosen a date â\x80\x94 do not fabricate one; the backend will pick the nearest real departure.'}}}, {'type': 'object', 'required': ['mode', 'operatorId'], 'properties': {'mode': {'type': 'string', 'const': 'operator', 'description': 'Use "operator" for a general/operator-level question (no specific tour).'}, 'operatorId': {'type': 'integer', 'maximum': 9007199254740991, 'description': 'Operator ID. Required for an operator question.', 'exclusiveMinimum': 0}}}], 'description': 'What the question is about. Pick exactly one mode: "tour" (carries `tourId` + optional departure/pax) or "operator" (carries `operatorId`). A tour question cannot carry an operator id and vice versa.'}, 'lastName': {'type': 'string', 'description': 'Customer last name.'}, 'question': {'type': 'string', 'minLength': 1, 'description': "The customer's actual question text. Required and must be non-empty. This is the question the customer wants answered."}, 'firstName': {'type': 'string', 'description': 'Customer first name.'}, 'phoneNumber': {'type': 'string', 'description': 'Customer phone number in E-164 format. Optional but recommended. Never put a fake phone number; if the customer does not provide one, skip this field.'}, 'agentInformation': {'type': 'string', 'description': "Optional agent context about the customer's needs/preferences. Helps Customer Support. The customer's question stays primary; this is appended as extra context."}}}
输入模式
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['tourId', 'email', 'firstName', 'lastName', 'departureDate', 'extraInformation', 'agentInformation', 'paxAdults', 'paxChildren'], 'properties': {'email': {'type': 'string', 'format': 'email', 'pattern': "^(?!\\.)(?!.*\\.\\.)([A-Za-z0-9_'+\\-\\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$", 'description': 'Customer email address. If email is not given by the customer, please ask him before executing this endpoint. Never generate email by yourself, always ask customer for give the email before calling this tool.'}, 'tourId': {'type': 'integer', 'maximum': 9007199254740991, 'description': 'Tour ID', 'exclusiveMinimum': 0}, 'lastName': {'type': 'string'}, 'firstName': {'type': 'string'}, 'paxAdults': {'type': 'integer', 'maximum': 9007199254740991, 'description': 'Number of the adults. Always ask customer for this information, is important to have it', 'exclusiveMinimum': 0}, 'paxChildren': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': -9007199254740991, 'description': 'Number of the children'}, 'phoneNumber': {'type': 'string', 'description': 'Customer phone number in E-164 format. Is optional, but recommended to provide it. Never put fake phone number, always ask customer for give the phone number before calling this tool. If customer do not gives phone number, just skip this field'}, 'departureDate': {'type': 'string', 'format': 'date', 'pattern': '^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$', 'description': 'Departure date, from customer selection'}, 'agentInformation': {'type': 'string', 'description': 'Agent information about the booking. Describe here what customer is looked for, preferences etc, what you can recognize. Will be helpful for our Customer Support team to understand the customer needs.'}, 'extraInformation': {'type': 'string', 'description': 'Customer extra information from the customer or agent. Fill here if customer has provided any additional information about the booking. This is optional and can be empty.'}}}
输入模式
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['tourId', 'email'], 'properties': {'email': {'type': 'string', 'format': 'email', 'pattern': "^(?!\\.)(?!.*\\.\\.)([A-Za-z0-9_'+\\-\\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$", 'description': 'User email address. If email is not given by the user, please ask him before executing this endpoint. Never generate email by yourself, always ask user for give the email before calling this tool.'}, 'tourId': {'type': 'integer', 'maximum': 9007199254740991, 'description': 'Tour ID', 'exclusiveMinimum': 0}}}
输入模式
{'type': 'object', 'title': 'travel_agentArguments', 'required': ['query'], 'properties': {'query': {'type': 'string', 'title': 'Query'}}}
输出模式
{'type': 'object', 'title': 'travel_agentOutput', 'required': ['result'], 'properties': {'result': {'type': 'string', 'title': 'Result'}}}
输入模式
{'type': 'object', 'required': ['latitude', 'longitude', 'arrival', 'departure'], 'properties': {'rooms': {'type': 'number', 'minimum': 1, 'description': '\n\t\tThe number of rooms, Number of rooms must be lower than or equal to the number of adults\n\t'}, 'adults': {'type': 'number', 'minimum': 1, 'description': '\n\t\tThe number of adults.\n\t'}, 'arrival': {'type': 'string', 'description': '\n\t\tThe arrival date in YYYY-MM-DD format, today is 2026-09-14.\n\n\t\tThe arrival date MUST be before the departure date. If the arrival date is not in the future, notify the user that the arrival date is not in the future.\n\t\t'}, 'country': {'enum': ['AE', 'AR', 'AT', 'AU', 'BE', 'BR', 'CA', 'CH', 'CL', 'CO', 'CZ', 'DE', 'DK', 'EG', 'ES', 'FI', 'FR', 'GB', 'GR', 'HK', 'HU', 'ID', 'IE', 'IL', 'IN', 'IT', 'JP', 'KR', 'MX', 'MY', 'NL', 'NO', 'NZ', 'PE', 'PH', 'PL', 'PT', 'RO', 'RU', 'SA', 'SE', 'SG', 'TH', 'TR', 'TW', 'UA', 'US', 'VN', 'ZA'], 'type': 'string', 'default': 'US', 'description': 'ISO alpha-2 country code that determines market-specific pricing and content. Default: US.'}, 'filters': {'type': 'object', 'properties': {'gym': {'type': 'boolean', 'default': False, 'description': 'Whether the accommodation has a gym'}, 'spa': {'type': 'boolean', 'default': False, 'description': 'Whether the accommodation has a spa'}, 'pool': {'type': 'boolean', 'default': False, 'description': 'Whether the accommodation has a pool'}, 'kitchen': {'type': 'boolean', 'default': False, 'description': 'Whether the accommodation has a kitchen'}, 'parking': {'type': 'boolean', 'default': False, 'description': 'Whether the accommodation has parking'}, 'freeWiFi': {'type': 'boolean', 'default': False, 'description': 'Whether the accommodation has free WiFi'}, 'petFriendly': {'type': 'boolean', 'default': False, 'description': 'Whether the accommodation is pet friendly'}, 'airConditioning': {'type': 'boolean', 'default': False, 'description': 'Whether the accommodation has air conditioning'}, 'freeCancellation': {'type': 'boolean', 'default': False, 'description': 'Whether the accommodation has free cancellation'}, 'breakfastIncluded': {'type': 'boolean', 'default': False, 'description': 'Whether the accommodation includes breakfast'}}, 'description': '\n\t\tThe filters that you want to apply to the search.\n\t\tSet true or false for each filter.\n\t\tMultiple filters can be selected.\n\t\t'}, 'children': {'type': 'number', 'minimum': 0, 'description': '\n\t\tThe number of children.\n\t'}, 'currency': {'enum': ['AED', 'ARS', 'AUD', 'BRL', 'CAD', 'CHF', 'CLP', 'CNY', 'COP', 'CZK', 'DKK', 'EGP', 'EUR', 'GBP', 'HKD', 'HUF', 'IDR', 'ILS', 'INR', 'JPY', 'KRW', 'MXN', 'MYR', 'NOK', 'NZD', 'PEN', 'PHP', 'PLN', 'RON', 'RUB', 'SAR', 'SEK', 'SGD', 'THB', 'TRY', 'TWD', 'UAH', 'USD', 'VND', 'ZAR'], 'type': 'string', 'default': 'USD', 'description': 'ISO 4217 currency code used to display prices. Default: USD.'}, 'language': {'enum': ['AR145', 'CS_CZ', 'DA_DK', 'DE_AT', 'DE_CH', 'DE_DE', 'EL_GR', 'EN_AU', 'EN_GB', 'EN_HK', 'EN_IE', 'EN_IN', 'EN_NZ', 'EN_PH', 'EN_SG', 'EN_US', 'EN_ZA', 'ES_AR', 'ES_CL', 'ES_CO', 'ES_ES', 'ES_MX', 'ES_PE', 'FI_FI', 'FR_BE', 'FR_CH', 'FR_FR', 'HE_IL', 'HU_HU', 'ID_ID', 'IT_IT', 'JA_JP', 'KO_KR', 'MS_MY', 'NL_BE', 'NL_NL', 'NO_NO', 'PL_PL', 'PT_BR', 'PT_PT', 'RO_RO', 'RU_RU', 'SV_SE', 'TH_TH', 'TR_TR', 'VI_VN', 'ZH_HANS_CN', 'ZH_HANT_HK', 'ZH_HANT_TW'], 'type': 'string', 'default': 'EN_US', 'description': 'Language code for translated content (e.g. EN_US, DE_DE, ZH_HANS_CN). Default: EN_US.'}, 'latitude': {'type': 'number', 'description': "Latitude of the search target location (landmark, address, or neighborhood â\x80\x94 not the user's location)."}, 'departure': {'type': 'string', 'description': '\n\t\tThe departure date in YYYY-MM-DD format, today is 2026-09-14.\n\n\t\tThe departure date MUST be after the arrival date. If the departure date is not after the arrival date, notify the user that the departure date is not after the arrival date.\n\t\t'}, 'longitude': {'type': 'number', 'description': "Longitude of the search target location (landmark, address, or neighborhood â\x80\x94 not the user's location)."}, 'hotel_rating': {'type': 'object', 'properties': {'1star': {'type': 'boolean', 'default': False, 'description': 'Whether the accommodation has a 1 star rating'}, '2star': {'type': 'boolean', 'default': False, 'description': 'Whether the accommodation has a 2 star rating'}, '3star': {'type': 'boolean', 'default': False, 'description': 'Whether the accommodation has a 3 star rating'}, '4star': {'type': 'boolean', 'default': False, 'description': 'Whether the accommodation has a 4 star rating'}, '5star': {'type': 'boolean', 'default': False, 'description': 'Whether the accommodation has a 5 star rating'}}, 'description': '\n\t\tThe hotel rating that you want to filter by.\n\t\tSet true or false for each rating.\n\t\tMultiple ratings can be selected.\n\t'}, 'children_ages': {'type': 'string', 'description': '\n\t\tDashed separated list of children ages, e.g. 10-12-14\n\t'}, 'review_rating': {'type': 'object', 'properties': {'rating70': {'type': 'boolean', 'default': False, 'description': 'Whether the accommodation has a Guest Rating of 7.0+'}, 'rating75': {'type': 'boolean', 'default': False, 'description': 'Whether the accommodation has a Guest Rating of 7.5+'}, 'rating80': {'type': 'boolean', 'default': False, 'description': 'Whether the accommodation has a Guest Rating of 8.0+'}, 'rating85': {'type': 'boolean', 'default': False, 'description': 'Whether the accommodation has a Guest Rating of 8.5+'}}, 'description': '\n\t\tThe guest review rating that you want to filter by.\n\t\tSet true or false for each rating.\n\t\tMultiple ratings can be selected.\n\t'}}}
输入模式
{'type': 'object', 'required': ['query', 'arrival', 'departure'], 'properties': {'query': {'type': 'string', 'description': 'Destination or point of interest.'}, 'rooms': {'type': 'number', 'minimum': 1, 'description': '\n\t\tThe number of rooms, Number of rooms must be lower than or equal to the number of adults\n\t'}, 'adults': {'type': 'number', 'minimum': 1, 'description': '\n\t\tThe number of adults.\n\t'}, 'arrival': {'type': 'string', 'description': '\n\t\tThe arrival date in YYYY-MM-DD format, today is 2026-09-14.\n\n\t\tThe arrival date MUST be before the departure date. If the arrival date is not in the future, notify the user that the arrival date is not in the future.\n\t\t'}, 'country': {'enum': ['AE', 'AR', 'AT', 'AU', 'BE', 'BR', 'CA', 'CH', 'CL', 'CO', 'CZ', 'DE', 'DK', 'EG', 'ES', 'FI', 'FR', 'GB', 'GR', 'HK', 'HU', 'ID', 'IE', 'IL', 'IN', 'IT', 'JP', 'KR', 'MX', 'MY', 'NL', 'NO', 'NZ', 'PE', 'PH', 'PL', 'PT', 'RO', 'RU', 'SA', 'SE', 'SG', 'TH', 'TR', 'TW', 'UA', 'US', 'VN', 'ZA'], 'type': 'string', 'default': 'US', 'description': 'ISO alpha-2 country code that determines market-specific pricing and content. Default: US.'}, 'filters': {'type': 'object', 'properties': {'gym': {'type': 'boolean', 'default': False, 'description': 'Whether the accommodation has a gym'}, 'spa': {'type': 'boolean', 'default': False, 'description': 'Whether the accommodation has a spa'}, 'pool': {'type': 'boolean', 'default': False, 'description': 'Whether the accommodation has a pool'}, 'kitchen': {'type': 'boolean', 'default': False, 'description': 'Whether the accommodation has a kitchen'}, 'parking': {'type': 'boolean', 'default': False, 'description': 'Whether the accommodation has parking'}, 'freeWiFi': {'type': 'boolean', 'default': False, 'description': 'Whether the accommodation has free WiFi'}, 'petFriendly': {'type': 'boolean', 'default': False, 'description': 'Whether the accommodation is pet friendly'}, 'airConditioning': {'type': 'boolean', 'default': False, 'description': 'Whether the accommodation has air conditioning'}, 'freeCancellation': {'type': 'boolean', 'default': False, 'description': 'Whether the accommodation has free cancellation'}, 'breakfastIncluded': {'type': 'boolean', 'default': False, 'description': 'Whether the accommodation includes breakfast'}}, 'description': '\n\t\tThe filters that you want to apply to the search.\n\t\tSet true or false for each filter.\n\t\tMultiple filters can be selected.\n\t\t'}, 'children': {'type': 'number', 'minimum': 0, 'description': '\n\t\tThe number of children.\n\t'}, 'currency': {'enum': ['AED', 'ARS', 'AUD', 'BRL', 'CAD', 'CHF', 'CLP', 'CNY', 'COP', 'CZK', 'DKK', 'EGP', 'EUR', 'GBP', 'HKD', 'HUF', 'IDR', 'ILS', 'INR', 'JPY', 'KRW', 'MXN', 'MYR', 'NOK', 'NZD', 'PEN', 'PHP', 'PLN', 'RON', 'RUB', 'SAR', 'SEK', 'SGD', 'THB', 'TRY', 'TWD', 'UAH', 'USD', 'VND', 'ZAR'], 'type': 'string', 'default': 'USD', 'description': 'ISO 4217 currency code used to display prices. Default: USD.'}, 'language': {'enum': ['AR145', 'CS_CZ', 'DA_DK', 'DE_AT', 'DE_CH', 'DE_DE', 'EL_GR', 'EN_AU', 'EN_GB', 'EN_HK', 'EN_IE', 'EN_IN', 'EN_NZ', 'EN_PH', 'EN_SG', 'EN_US', 'EN_ZA', 'ES_AR', 'ES_CL', 'ES_CO', 'ES_ES', 'ES_MX', 'ES_PE', 'FI_FI', 'FR_BE', 'FR_CH', 'FR_FR', 'HE_IL', 'HU_HU', 'ID_ID', 'IT_IT', 'JA_JP', 'KO_KR', 'MS_MY', 'NL_BE', 'NL_NL', 'NO_NO', 'PL_PL', 'PT_BR', 'PT_PT', 'RO_RO', 'RU_RU', 'SV_SE', 'TH_TH', 'TR_TR', 'VI_VN', 'ZH_HANS_CN', 'ZH_HANT_HK', 'ZH_HANT_TW'], 'type': 'string', 'default': 'EN_US', 'description': 'Language code for translated content (e.g. EN_US, DE_DE, ZH_HANS_CN). Default: EN_US.'}, 'departure': {'type': 'string', 'description': '\n\t\tThe departure date in YYYY-MM-DD format, today is 2026-09-14.\n\n\t\tThe departure date MUST be after the arrival date. If the departure date is not after the arrival date, notify the user that the departure date is not after the arrival date.\n\t\t'}, 'hotel_rating': {'type': 'object', 'properties': {'1star': {'type': 'boolean', 'default': False, 'description': 'Whether the accommodation has a 1 star rating'}, '2star': {'type': 'boolean', 'default': False, 'description': 'Whether the accommodation has a 2 star rating'}, '3star': {'type': 'boolean', 'default': False, 'description': 'Whether the accommodation has a 3 star rating'}, '4star': {'type': 'boolean', 'default': False, 'description': 'Whether the accommodation has a 4 star rating'}, '5star': {'type': 'boolean', 'default': False, 'description': 'Whether the accommodation has a 5 star rating'}}, 'description': '\n\t\tThe hotel rating that you want to filter by.\n\t\tSet true or false for each rating.\n\t\tMultiple ratings can be selected.\n\t'}, 'children_ages': {'type': 'string', 'description': '\n\t\tDashed separated list of children ages, e.g. 10-12-14\n\t'}, 'review_rating': {'type': 'object', 'properties': {'rating70': {'type': 'boolean', 'default': False, 'description': 'Whether the accommodation has a Guest Rating of 7.0+'}, 'rating75': {'type': 'boolean', 'default': False, 'description': 'Whether the accommodation has a Guest Rating of 7.5+'}, 'rating80': {'type': 'boolean', 'default': False, 'description': 'Whether the accommodation has a Guest Rating of 8.0+'}, 'rating85': {'type': 'boolean', 'default': False, 'description': 'Whether the accommodation has a Guest Rating of 8.5+'}}, 'description': '\n\t\tThe guest review rating that you want to filter by.\n\t\tSet true or false for each rating.\n\t\tMultiple ratings can be selected.\n\t'}}}
输入模式
{'type': 'object', 'required': ['query'], 'properties': {'query': {'type': 'string', 'description': '\nDestination query. Accepts two formats:\n- Free-text destination name, e.g. "Berlin", "Paris", "New York".\n- Coordinate pair in the format lat:<latitude>,long:<longitude>, e.g. "lat:52.52,long:13.405". The nearest destination to those coordinates is used. Latitude must be in [-90, 90] and longitude in [-180, 180].\n\t'}, 'country': {'enum': ['AE', 'AR', 'AT', 'AU', 'BE', 'BR', 'CA', 'CH', 'CL', 'CO', 'CZ', 'DE', 'DK', 'EG', 'ES', 'FI', 'FR', 'GB', 'GR', 'HK', 'HU', 'ID', 'IE', 'IL', 'IN', 'IT', 'JP', 'KR', 'MX', 'MY', 'NL', 'NO', 'NZ', 'PE', 'PH', 'PL', 'PT', 'RO', 'RU', 'SA', 'SE', 'SG', 'TH', 'TR', 'TW', 'UA', 'US', 'VN', 'ZA'], 'type': 'string', 'default': 'US', 'description': 'ISO alpha-2 country code that determines market-specific pricing and content. Default: US.'}, 'currency': {'enum': ['AED', 'ARS', 'AUD', 'BRL', 'CAD', 'CHF', 'CLP', 'CNY', 'COP', 'CZK', 'DKK', 'EGP', 'EUR', 'GBP', 'HKD', 'HUF', 'IDR', 'ILS', 'INR', 'JPY', 'KRW', 'MXN', 'MYR', 'NOK', 'NZD', 'PEN', 'PHP', 'PLN', 'RON', 'RUB', 'SAR', 'SEK', 'SGD', 'THB', 'TRY', 'TWD', 'UAH', 'USD', 'VND', 'ZAR'], 'type': 'string', 'default': 'USD', 'description': 'ISO 4217 currency code used to display prices. Default: USD.'}, 'language': {'enum': ['AR145', 'CS_CZ', 'DA_DK', 'DE_AT', 'DE_CH', 'DE_DE', 'EL_GR', 'EN_AU', 'EN_GB', 'EN_HK', 'EN_IE', 'EN_IN', 'EN_NZ', 'EN_PH', 'EN_SG', 'EN_US', 'EN_ZA', 'ES_AR', 'ES_CL', 'ES_CO', 'ES_ES', 'ES_MX', 'ES_PE', 'FI_FI', 'FR_BE', 'FR_CH', 'FR_FR', 'HE_IL', 'HU_HU', 'ID_ID', 'IT_IT', 'JA_JP', 'KO_KR', 'MS_MY', 'NL_BE', 'NL_NL', 'NO_NO', 'PL_PL', 'PT_BR', 'PT_PT', 'RO_RO', 'RU_RU', 'SV_SE', 'TH_TH', 'TR_TR', 'VI_VN', 'ZH_HANS_CN', 'ZH_HANT_HK', 'ZH_HANT_TW'], 'type': 'string', 'default': 'EN_US', 'description': 'Language code for translated content (e.g. EN_US, DE_DE, ZH_HANS_CN). Default: EN_US.'}, 'end_month': {'type': 'string', 'description': '\nOptional end year-month in YYYY-MM format (e.g. 2026-12). Must not be before start_month. Requires start_month to also be set.\n\t'}, 'start_month': {'type': 'string', 'description': '\nOptional start year-month in YYYY-MM format (e.g. 2026-06). When omitted, the bridge defaults to the current month plus the next two months. It must be set when end_month is set.\n\t'}, 'hotel_rating': {'type': 'object', 'properties': {'3star': {'type': 'boolean', 'default': False, 'description': 'Include 3-star hotels in the price statistics'}, '4star': {'type': 'boolean', 'default': False, 'description': 'Include 4-star hotels in the price statistics'}, '5star': {'type': 'boolean', 'default': False, 'description': 'Include 5-star hotels in the price statistics'}}, 'description': '\n\t\tThe hotel star ratings to include in the price statistics.\n\t\tOnly 3, 4, and 5-star hotels are supported â\x80\x94 forecasted price statistics are not available for 1 or 2-star hotels.\n\t\tSet true or false for each rating. Multiple ratings can be selected.\n\t\tWhen no rating is selected, the results default to 3-star hotels only.\n\t'}}}
输入模式
{'type': 'object', 'title': 'visa_checkArguments', 'required': ['passport', 'destination'], 'properties': {'passport': {'type': 'string', 'title': 'Passport'}, 'destination': {'type': 'string', 'title': 'Destination'}}}
输出模式
{'type': 'object', 'title': 'visa_checkOutput', 'required': ['result'], 'properties': {'result': {'type': 'string', 'title': 'Result'}}}
输入模式
{'type': 'object', 'title': 'visa_summaryArguments', 'required': ['passport'], 'properties': {'passport': {'type': 'string', 'title': 'Passport'}}}
输出模式
{'type': 'object', 'title': 'visa_summaryOutput', 'required': ['result'], 'properties': {'result': {'type': 'string', 'title': 'Result'}}}
近期工具变更
类似的 MCP 服务器
Wmata
Provides Washington Metro rail and bus routes, stops, stations, service incidents, route details, and real-time arrival predictio…
Openrouteservice
Provides geocoding, routing, travel-time matrices, isochrones, snapping, and elevation data using OpenStreetMap-based services.
Google_maps
Provides Google Maps geocoding, place search and details, directions, distance matrices, and elevation data.
SeaWeb
Searches and extracts web information about entities and travel locations, including restaurants, salons, tourist conditions, dis…
Aviationstack
Provides airline, airport, city, country, and flight directory data, including real-time and scheduled flight details.
Nps
Searches National Park Service data for parks, campgrounds, activities, alerts, visitor statistics, locations, fees, and operatin…
Tfl
Provides London transport journey planning, line status, disruptions, stop arrivals, and Santander Cycle availability.
Flights
Provides live aircraft tracking, airport arrivals and departures, aircraft registry details, and flight route lookups using OpenS…