Gondola Award Travel Search
What this MCP does
Searches award travel and compares cash versus points for flights, hotels, and car rentals, with booking support.
Tools
Input schema
{'type': 'object', 'required': ['handoff_id', 'quote_id', 'expected_total_amount', 'currency', 'consent_version', 'payment_id', 'traveler', 'contact', 'confirm'], 'properties': {'confirm': {'enum': [True], 'type': 'boolean', 'description': 'Must be true after the traveler explicitly confirms the exact displayed quote and terms.'}, 'contact': {'type': 'object', 'required': ['email', 'phone'], 'properties': {'email': {'type': 'string', 'description': 'Traveler contact email.'}, 'phone': {'type': 'string', 'description': 'Traveler contact phone with country code.'}}, 'description': 'Contact details for booking notices and disruption communication.'}, 'currency': {'type': 'string', 'description': 'The three-letter currency shown with the confirmed total, such as USD.'}, 'quote_id': {'type': 'string', 'description': 'The exact current Gondola quote ID returned by prepare_flight_booking.'}, 'traveler': {'type': 'object', 'required': ['given_name', 'family_name', 'born_on', 'gender'], 'properties': {'gender': {'enum': ['female', 'male'], 'type': 'string', 'description': 'Traveler gender accepted by the booking supplier.'}, 'born_on': {'type': 'string', 'description': "Traveler's birth calendar date as YYYY-MM-DD."}, 'given_name': {'type': 'string', 'description': "Traveler's legal given name."}, 'family_name': {'type': 'string', 'description': "Traveler's legal family name."}}, 'description': 'The adult traveler whose identity will be derived by Gondola for this booking.'}, 'handoff_id': {'type': 'string', 'description': 'The Gondola handoff ID returned by prepare_flight_booking.'}, 'payment_id': {'type': 'string', 'description': 'The saved payment method ID returned by get_payment_methods. Never provide card numbers or security codes.'}, 'consent_version': {'type': 'string', 'description': 'The exact consent version returned with the current quote.'}, 'expected_total_amount': {'type': 'number', 'description': 'The exact displayed total amount the traveler confirmed.'}}}
Output schema
{'type': 'object', 'title': 'book_flightOutput', 'required': ['result'], 'properties': {'result': {'type': 'string', 'title': 'Result'}}}
Input schema
{'type': 'object', 'required': ['gondola_rate_id', 'payment_id'], 'properties': {'given_name': {'type': 'string', 'description': "Guest's first name."}, 'payment_id': {'type': 'string', 'description': 'Payment method ID from get_payment_methods.'}, 'family_name': {'type': 'string', 'description': "Guest's last name (minimum 2 characters)."}, 'phone_number': {'type': 'string', 'description': 'Guest\'s phone number with country code (e.g. "+1-555-123-4567").'}, 'email_address': {'type': 'string', 'description': "Guest's email for confirmation."}, 'gondola_rate_id': {'type': 'integer', 'description': 'The rate ID from get_hotel_rates room rates.'}, 'special_request': {'type': 'string', 'description': 'Optional special request (e.g. "high floor", "late check-in").'}, 'travel_profile_id': {'type': 'string', 'description': 'Optional travel profile ID from get_travel_profiles. Prefills any guest details that were not passed explicitly.'}, 'loyalty_account_id': {'type': 'string', 'description': "Optional loyalty account ID to earn points and elite credit on this stay. Use the Account ID from get_loyalty_accounts that matches the booked hotel's chain (e.g. the World of Hyatt account for a Hyatt property)."}}}
Output schema
{'type': 'object', 'title': 'book_hotelOutput', 'required': ['result'], 'properties': {'result': {'type': 'string', 'title': 'Result'}}}
Input schema
{'type': 'object', 'required': ['search_id', 'vendor_code', 'rate_code', 'acriss_code', 'given_name', 'family_name', 'email_address', 'phone_number', 'payment_id'], 'properties': {'rate_code': {'type': 'string', 'description': 'Rate code of the selected vehicle from search results.'}, 'search_id': {'type': 'string', 'description': 'Search ID from search_vehicles.'}, 'given_name': {'type': 'string', 'description': "Renter's first name."}, 'payment_id': {'type': 'string', 'description': 'Payment method ID from get_payment_methods.'}, 'acriss_code': {'type': 'string', 'description': 'ACRISS vehicle classification code from search results.'}, 'family_name': {'type': 'string', 'description': "Renter's last name."}, 'vendor_code': {'type': 'string', 'description': 'Vendor code from search results (e.g. "ZE" for Hertz).'}, 'phone_number': {'type': 'string', 'description': 'Renter\'s phone number with country code (e.g. "+1-555-123-4567").'}, 'email_address': {'type': 'string', 'description': "Renter's email for confirmation."}, 'pickup_location': {'type': 'string', 'description': 'Optional pickup airport IATA code of the selected vehicle. Pass through whatever pickup_location the search returned for this vehicle to disambiguate metro fanouts (e.g. JFK vs LGA in NYC).'}, 'loyalty_account_id': {'type': 'string', 'description': 'Optional loyalty account ID to earn points on this rental.'}}}
Output schema
{'type': 'object', 'title': 'book_vehicleOutput', 'required': ['result'], 'properties': {'result': {'type': 'string', 'title': 'Result'}}}
Input schema
{'type': 'object', 'required': ['booking_id'], 'properties': {'confirm': {'type': 'boolean', 'default': False, 'description': 'Leave false or omit for the required preview. Set true only after the traveler accepts the exact preview terms.'}, 'currency': {'type': 'string', 'description': 'The exact currency from the preview. Required by the handler only when confirm=true.'}, 'booking_id': {'type': 'string', 'description': 'The Gondola flight booking ID to preview or cancel.'}, 'cancellation_id': {'type': 'string', 'description': 'The exact Gondola cancellation ID from the preview. Required by the handler only when confirm=true.'}, 'expected_refund_amount': {'type': 'string', 'description': 'The exact refund amount string from the preview. Required by the handler for confirmation when the preview includes an amount; omit it when the preview amount is unknown.'}, 'expected_ticket_settlement_method': {'enum': ['void'], 'type': 'string', 'description': 'The exact ticket settlement method from the preview. Echo void when the preview advertises ticket settlement; otherwise omit it.'}, 'expected_ticket_settlement_affected_count': {'type': 'integer', 'description': 'The exact affected ticket-document count from the preview. Required with expected_ticket_settlement_method; otherwise omit it.'}}}
Output schema
{'type': 'object', 'title': 'cancel_flight_bookingOutput', 'required': ['result'], 'properties': {'result': {'type': 'string', 'title': 'Result'}}}
Input schema
{'type': 'object', 'required': ['booking_id'], 'properties': {'confirm': {'type': 'boolean', 'default': False, 'description': 'Set true only after the user has seen the cancellation terms from the preview call and agreed.'}, 'booking_id': {'type': 'string', 'description': 'The Gondola booking ID (confirmation number) of the vehicle booking.'}}}
Output schema
{'type': 'object', 'title': 'cancel_vehicle_bookingOutput', 'required': ['result'], 'properties': {'result': {'type': 'string', 'title': 'Result'}}}
Input schema
{'type': 'object', 'required': ['hotel_ids', 'checkin', 'checkout'], 'properties': {'checkin': {'type': 'string', 'description': 'Check-in date in YYYY-MM-DD format.'}, 'checkout': {'type': 'string', 'description': 'Check-out date in YYYY-MM-DD format.'}, 'hotel_ids': {'type': 'array', 'items': {'type': 'integer'}, 'description': 'Array of one to five hotel IDs to compare. A single-element array is valid when the user is focused on one hotel. Get these from search_hotels results.'}, 'num_adults': {'type': 'integer', 'default': 2, 'description': 'Number of adult guests.'}}}
Output schema
{'type': 'object', 'title': 'compare_ratesOutput', 'required': ['result'], 'properties': {'result': {'type': 'string', 'title': 'Result'}}}
Input schema
{'type': 'object', 'required': ['hotel_id'], 'properties': {'checkin': {'type': 'string', 'description': 'Optional check-in date in YYYY-MM-DD format.'}, 'checkout': {'type': 'string', 'description': 'Optional check-out date in YYYY-MM-DD format.'}, 'hotel_id': {'type': 'integer', 'description': "The hotel's Vervotech property ID (from search results)."}}}
Output schema
{'type': 'object', 'title': 'create_rate_alertOutput', 'required': ['result'], 'properties': {'result': {'type': 'string', 'title': 'Result'}}}
Input schema
{'type': 'object', 'required': [], 'properties': {'card_provider': {'type': 'string', 'description': 'Card network: "visa", "mastercard", "amex", or "discover". Required with card_number_bin.'}, 'card_number_bin': {'type': 'string', 'description': "First 6-8 digits of the card number (BIN). Used with card_provider for network-tier-based lookup when the exact product name isn't known."}, 'credit_card_product_name': {'type': 'string', 'description': 'Exact card product name (e.g. "Chase Sapphire Preferred", "American Express Platinum"). Preferred when known.'}}}
Output schema
{'type': 'object', 'title': 'credit_card_coverageOutput', 'required': ['result'], 'properties': {'result': {'type': 'string', 'title': 'Result'}}}
Input schema
{'type': 'object', 'required': ['alert_id'], 'properties': {'alert_id': {'type': 'integer', 'description': 'The rate alert ID to delete (from get_rate_alerts).'}}}
Output schema
{'type': 'object', 'title': 'delete_rate_alertOutput', 'required': ['result'], 'properties': {'result': {'type': 'string', 'title': 'Result'}}}
Input schema
{'type': 'object', 'required': ['hotel_id', 'checkin', 'checkout'], 'properties': {'checkin': {'type': 'string', 'description': 'Check-in date in YYYY-MM-DD format.'}, 'checkout': {'type': 'string', 'description': 'Check-out date in YYYY-MM-DD format.'}, 'hotel_id': {'type': 'integer', 'description': "The hotel's Vervotech property ID."}, 'num_adults': {'type': 'integer', 'default': 2, 'description': 'Number of adult guests.'}, 'rate_sources': {'type': 'string', 'description': 'Optional comma-separated list of rate sources to check (e.g. "travelport", "direct,travelport"). Omit to check all sources.'}}}
Output schema
{'type': 'object', 'title': 'diagnose_ratesOutput', 'required': ['result'], 'properties': {'result': {'type': 'string', 'title': 'Result'}}}
Input schema
{'type': 'object', 'required': ['booking_id'], 'properties': {'booking_id': {'type': 'string', 'description': 'The Gondola booking ID, as shown by get_upcoming_trips or get_past_trips. Not a hotel or provider confirmation number.'}}}
Output schema
{'type': 'object', 'title': 'get_bookingOutput', 'required': ['result'], 'properties': {'result': {'type': 'string', 'title': 'Result'}}}
Input schema
{'type': 'object', 'required': ['hotel_id', 'checkin', 'checkout'], 'properties': {'checkin': {'type': 'string', 'description': 'Check-in date in YYYY-MM-DD format.'}, 'checkout': {'type': 'string', 'description': 'Check-out date in YYYY-MM-DD format.'}, 'hotel_id': {'type': 'integer', 'description': "The hotel's Vervotech property ID."}, 'num_adults': {'type': 'integer', 'default': 2, 'description': 'Number of adult guests.'}, 'gondola_rate_id': {'type': 'integer', 'description': "Optional rate ID from get_hotel_rates or compare_rates. When provided, the link deep-links straight to that rate's checkout page instead of the generic hotel page."}}}
Output schema
{'type': 'object', 'title': 'get_booking_linkOutput', 'required': ['result'], 'properties': {'result': {'type': 'string', 'title': 'Result'}}}
Input schema
{'type': 'object', 'required': [], 'properties': {'limit': {'type': 'integer', 'default': 20, 'maximum': 100, 'minimum': 1, 'description': 'Favorite hotels per page.'}, 'cursor': {'type': 'string', 'description': 'Opaque cursor from a previous get_favorite_hotels result, used to fetch the next page.'}}}
Output schema
{'type': 'object', 'title': 'get_favorite_hotelsOutput', 'required': ['result'], 'properties': {'result': {'type': 'string', 'title': 'Result'}}}
Input schema
{'type': 'object', 'required': ['booking_id'], 'properties': {'booking_id': {'type': 'string', 'description': 'The Gondola flight booking ID returned by book_flight, not an airline confirmation number.'}}}
Output schema
{'type': 'object', 'title': 'get_flight_bookingOutput', 'required': ['result'], 'properties': {'result': {'type': 'string', 'title': 'Result'}}}
Input schema
{'type': 'object', 'required': [], 'properties': {}}
Output schema
{'type': 'object', 'title': 'get_flight_creditsOutput', 'required': ['result'], 'properties': {'result': {'type': 'string', 'title': 'Result'}}}
Input schema
{'type': 'object', 'required': ['search_id', 'departure_date'], 'properties': {'search_id': {'type': 'string', 'description': 'The search_id returned by the search_flights call.'}, 'departure_date': {'type': 'string', 'description': 'The departure date of that search, YYYY-MM-DD. The same value you passed to search_flights.'}, 'pending_sources': {'type': 'array', 'items': {'type': 'string'}, 'description': 'The pending_sources from that search_flights response, passed back unchanged. Without it every supported program is polled, including ones that were never searched.'}}}
Output schema
{'type': 'object', 'title': 'get_flight_pointsOutput', 'required': ['result'], 'properties': {'result': {'type': 'string', 'title': 'Result'}}}
Input schema
{'type': 'object', 'required': [], 'properties': {}}
Output schema
{'type': 'object', 'title': 'get_free_night_creditsOutput', 'required': ['result'], 'properties': {'result': {'type': 'string', 'title': 'Result'}}}
Input schema
{'type': 'object', 'required': ['hotel_id'], 'properties': {'hotel_id': {'type': 'integer', 'description': "The hotel's Vervotech property ID (returned by search_hotels)."}}}
Output schema
{'type': 'object', 'title': 'get_hotel_detailsOutput', 'required': ['result'], 'properties': {'result': {'type': 'string', 'title': 'Result'}}}
Input schema
{'type': 'object', 'required': ['hotel_id', 'checkin', 'checkout'], 'properties': {'checkin': {'type': 'string', 'description': 'Check-in date in YYYY-MM-DD format.'}, 'checkout': {'type': 'string', 'description': 'Check-out date in YYYY-MM-DD format.'}, 'hotel_id': {'type': 'integer', 'description': "The hotel's Vervotech property ID (returned by search_hotels)."}, 'num_adults': {'type': 'integer', 'default': 2, 'description': 'Number of adult guests.'}}}
Output schema
{'type': 'object', 'title': 'get_hotel_ratesOutput', 'required': ['result'], 'properties': {'result': {'type': 'string', 'title': 'Result'}}}
Input schema
{'type': 'object', 'required': ['hotel_id'], 'properties': {'hotel_id': {'type': 'integer', 'description': "The hotel's Vervotech property ID (from search_hotels results)."}}}
Output schema
{'type': 'object', 'title': 'get_hotel_reviewsOutput', 'required': ['result'], 'properties': {'result': {'type': 'string', 'title': 'Result'}}}
Input schema
{'type': 'object', 'required': ['hotel_id', 'nightly_cash_cost', 'nightly_cash_cost_currency'], 'properties': {'hotel_id': {'type': 'integer', 'description': "The hotel's Vervotech property ID."}, 'nightly_cash_cost': {'type': 'number', 'description': 'The current all-in nightly cash rate from search_hotels (stay total, including included taxes and fees, divided by nights).'}, 'nightly_points_cost': {'type': 'integer', 'description': 'Optional current nightly points rate to additionally score.'}, 'nightly_cash_cost_currency': {'type': 'string', 'description': 'Currency of the cash cost (e.g. "USD").'}}}
Output schema
{'type': 'object', 'title': 'get_hotel_statsOutput', 'required': ['result'], 'properties': {'result': {'type': 'string', 'title': 'Result'}}}
Input schema
{'type': 'object', 'required': [], 'properties': {}}
Output schema
{'type': 'object', 'title': 'get_loyalty_accountsOutput', 'required': ['result'], 'properties': {'result': {'type': 'string', 'title': 'Result'}}}
Input schema
{'type': 'object', 'required': ['hotel_id', 'start_date', 'end_date'], 'properties': {'nights': {'type': 'integer', 'default': 1, 'description': 'Number of nights for each candidate stay.'}, 'end_date': {'type': 'string', 'description': 'Latest check-out date in YYYY-MM-DD format.'}, 'hotel_id': {'type': 'integer', 'description': "The hotel's Vervotech property ID."}, 'start_date': {'type': 'string', 'description': 'Earliest check-in date in YYYY-MM-DD format.'}}}
Output schema
{'type': 'object', 'title': 'get_multi_night_ratesOutput', 'required': ['result'], 'properties': {'result': {'type': 'string', 'title': 'Result'}}}
Input schema
{'type': 'object', 'required': [], 'properties': {'page': {'type': 'integer', 'default': 1, 'minimum': 1, 'description': '1-based page of past reservations, newest first. Increment to walk further back through the history.'}, 'limit': {'type': 'integer', 'default': 50, 'maximum': 100, 'minimum': 1, 'description': 'Reservations per page. The Patterns block always covers the whole history regardless of this value.'}}}
Output schema
{'type': 'object', 'title': 'get_past_tripsOutput', 'required': ['result'], 'properties': {'result': {'type': 'string', 'title': 'Result'}}}
Input schema
{'type': 'object', 'required': [], 'properties': {}}
Output schema
{'type': 'object', 'title': 'get_payment_methodsOutput', 'required': ['result'], 'properties': {'result': {'type': 'string', 'title': 'Result'}}}
Input schema
{'type': 'object', 'required': [], 'properties': {}}
Output schema
{'type': 'object', 'title': 'get_rate_alertsOutput', 'required': ['result'], 'properties': {'result': {'type': 'string', 'title': 'Result'}}}
Input schema
{'type': 'object', 'required': ['hotel_id', 'checkin', 'checkout'], 'properties': {'checkin': {'type': 'string', 'description': 'Check-in date in YYYY-MM-DD format.'}, 'checkout': {'type': 'string', 'description': 'Check-out date in YYYY-MM-DD format.'}, 'hotel_id': {'type': 'integer', 'description': "The seed hotel's Vervotech property ID."}, 'num_adults': {'type': 'integer', 'default': 2, 'description': 'Number of adult guests.'}, 'destination': {'type': 'string', 'description': 'Optional destination city or place for cross-city alternatives.'}}}
Output schema
{'type': 'object', 'title': 'get_similar_hotelsOutput', 'required': ['result'], 'properties': {'result': {'type': 'string', 'title': 'Result'}}}
Input schema
{'type': 'object', 'required': [], 'properties': {}}
Output schema
{'type': 'object', 'title': 'get_suggested_searchesOutput', 'required': ['result'], 'properties': {'result': {'type': 'string', 'title': 'Result'}}}
Input schema
{'type': 'object', 'required': [], 'properties': {}}
Output schema
{'type': 'object', 'title': 'get_suite_upgrade_creditsOutput', 'required': ['result'], 'properties': {'result': {'type': 'string', 'title': 'Result'}}}
Input schema
{'type': 'object', 'required': [], 'properties': {}}
Output schema
{'type': 'object', 'title': 'get_traveler_contextOutput', 'required': ['result'], 'properties': {'result': {'type': 'string', 'title': 'Result'}}}
Input schema
{'type': 'object', 'required': [], 'properties': {}}
Output schema
{'type': 'object', 'title': 'get_travel_profilesOutput', 'required': ['result'], 'properties': {'result': {'type': 'string', 'title': 'Result'}}}
Input schema
{'type': 'object', 'required': [], 'properties': {}}
Output schema
{'type': 'object', 'title': 'get_upcoming_tripsOutput', 'required': ['result'], 'properties': {'result': {'type': 'string', 'title': 'Result'}}}
Input schema
{'type': 'object', 'required': ['booking_id'], 'properties': {'booking_id': {'type': 'string', 'description': 'The Gondola booking ID, as shown by get_upcoming_trips or get_past_trips. Not a rental confirmation number from the vendor.'}}}
Output schema
{'type': 'object', 'title': 'get_vehicle_bookingOutput', 'required': ['result'], 'properties': {'result': {'type': 'string', 'title': 'Result'}}}
Input schema
{'type': 'object', 'required': ['booking_id'], 'properties': {'booking_id': {'type': 'string', 'description': 'The Gondola booking ID of the vehicle booking.'}}}
Output schema
{'type': 'object', 'title': 'get_vehicle_booking_coverageOutput', 'required': ['result'], 'properties': {'result': {'type': 'string', 'title': 'Result'}}}
Input schema
{'type': 'object', 'required': ['search_id', 'vendor_code', 'rate_code', 'pickup_datetime', 'dropoff_datetime'], 'properties': {'rate_code': {'type': 'string', 'description': 'Rate code of the selected vehicle.'}, 'search_id': {'type': 'string', 'description': 'Search ID from search_vehicles.'}, 'vendor_code': {'type': 'string', 'description': 'Vendor code from search results.'}, 'pickup_datetime': {'type': 'string', 'description': 'Pickup date and time in ISO format (e.g. "2025-03-15T10:00:00").'}, 'dropoff_datetime': {'type': 'string', 'description': 'Drop-off date and time in ISO format (e.g. "2025-03-20T10:00:00").'}}}
Output schema
{'type': 'object', 'title': 'get_vehicle_booking_linkOutput', 'required': ['result'], 'properties': {'result': {'type': 'string', 'title': 'Result'}}}
Input schema
{'type': 'object', 'required': ['vendor_code', 'rate_code', 'search_id'], 'properties': {'desk_kind': {'type': 'string', 'description': 'Desk classification from the selected vehicle result, when present.'}, 'rate_code': {'type': 'string', 'description': 'Rate code from search results.'}, 'search_id': {'type': 'string', 'description': 'Search ID from the vehicle search results.'}, 'acriss_code': {'type': 'string', 'description': 'ACRISS code from the selected vehicle result; pass it through to disambiguate classes.'}, 'vendor_code': {'type': 'string', 'description': 'Vendor code from search results (e.g. "ZE" for Hertz, "AL" for Alamo).'}, 'pickup_location': {'type': 'string', 'description': 'Pickup location from the selected vehicle result; pass it through for metro searches.'}, 'vendor_location_id': {'type': 'string', 'description': 'Vendor desk identifier from the selected vehicle result, when present.'}}}
Output schema
{'type': 'object', 'title': 'get_vehicle_detailsOutput', 'required': ['result'], 'properties': {'result': {'type': 'string', 'title': 'Result'}}}
Input schema
{'type': 'object', 'required': [], 'properties': {}}
Output schema
{'type': 'object', 'title': 'optimize_loyalty_portfolioOutput', 'required': ['result'], 'properties': {'result': {'type': 'string', 'title': 'Result'}}}
Input schema
{'type': 'object', 'required': ['hotel_id', 'checkin', 'checkout', 'nightly_cash_cost', 'nightly_cash_cost_currency'], 'properties': {'checkin': {'type': 'string', 'description': 'Check-in date in YYYY-MM-DD format.'}, 'checkout': {'type': 'string', 'description': 'Check-out date in YYYY-MM-DD format.'}, 'hotel_id': {'type': 'integer', 'description': "The hotel's Vervotech property ID."}, 'nightly_cash_cost': {'type': 'number', 'description': 'The current all-in nightly cash rate from search_hotels (stay total, including included taxes and fees, divided by nights).'}, 'nightly_points_cost': {'type': 'integer', 'description': 'Optional current nightly points rate.'}, 'nightly_cash_cost_currency': {'type': 'string', 'description': 'Currency of the cash cost (e.g. "USD", "EUR").'}}}
Output schema
{'type': 'object', 'title': 'predict_priceOutput', 'required': ['result'], 'properties': {'result': {'type': 'string', 'title': 'Result'}}}
Input schema
{'type': 'object', 'required': ['selection_token'], 'properties': {'selection_token': {'type': 'string', 'description': 'The opaque signed selection token from an eligible search_flights result row. Pass it unchanged; do not construct or modify it from flight details or a provider offer ID.'}}}
Output schema
{'type': 'object', 'title': 'prepare_flight_bookingOutput', 'required': ['result'], 'properties': {'result': {'type': 'string', 'title': 'Result'}}}
Input schema
{'type': 'object', 'required': ['keyword'], 'properties': {'page': {'type': 'integer', 'default': 0, 'minimum': 0}, 'sort': {'enum': ['relevance', 'date', 'distance', 'price'], 'type': 'string', 'default': 'relevance', 'description': 'Use "price" for any cheapest-first or budget question. It orders events by their cheapest listing exactly, and each event carries price_rank against price_ranked_total. It is served by a single provider that does no performer resolution, so match_artist has no effect with this sort, and combining it with attraction_id or include_unavailable is rejected rather than silently ignored.'}, 'limit': {'type': 'integer', 'default': 10, 'maximum': 50, 'minimum': 1}, 'radius': {'type': 'integer', 'maximum': 500, 'minimum': 1}, 'keyword': {'type': 'string', 'description': 'Artist, team, show, or event name.'}, 'end_date': {'type': 'string', 'description': 'Latest local event date, YYYY-MM-DD.'}, 'location': {'type': 'string', 'description': 'Optional city, region, postal code, or natural-language location.'}, 'max_price': {'type': 'number', 'description': 'Only return events whose cheapest listing is at or below this amount. Requires sort=price, because only the price-ordering provider can filter on price; sending it with any other sort is rejected rather than silently ignored. There is no matching minimum: a price floor is not supported and must not be simulated.', 'exclusiveMinimum': 0}, 'start_date': {'type': 'string', 'description': 'Earliest local event date, YYYY-MM-DD.'}, 'radius_unit': {'enum': ['miles', 'km'], 'type': 'string', 'default': 'miles'}, 'match_artist': {'type': 'boolean', 'default': True, 'nullable': True, 'description': 'Resolve keyword to a canonical performer before searching. Set false for keywords that are not a performer, such as a genre, venue, or festival name.'}, 'attraction_id': {'type': 'string', 'description': 'Optional provider performer id. Pins results to that performer exactly.'}, 'classification': {'type': 'string', 'description': 'Optional segment, genre, or subgenre.'}, 'include_unavailable': {'type': 'boolean', 'default': False, 'description': 'Include cancelled and postponed events, excluded by default. Off-sale events are always returned, since they are real dates that are sold out or not yet on sale.'}}}
Output schema
{'type': 'object', 'title': 'search_eventsOutput', 'required': ['result'], 'properties': {'result': {'type': 'string', 'title': 'Result'}}}
Input schema
{'type': 'object', 'required': ['origin', 'destination', 'departure_date'], 'properties': {'page': {'type': 'integer', 'default': 1, 'description': '1-based results page, 10 options per page. Increment to see more options.'}, 'origin': {'type': 'string', 'description': 'Origin airport code or city (e.g. "LAX", "SFO", "New York").'}, 'points': {'type': 'boolean', 'default': False, 'description': 'Set true when the traveler asks about award pricing, miles, points, redeeming rewards, award availability, or comparing cash vs. points â\x80\x94 including phrases like "include points", "show me miles", "how many points", or "use my [program] miles". Default false. When true, award prices arrive on a follow-up call to get_flight_points (not in this response), so you MUST call get_flight_points after this returns. One-way flights only.'}, 'airlines': {'type': 'array', 'items': {'type': 'string'}, 'description': 'Optional airline codes or names, e.g. ["UA"] or ["United"]. Filters the discovery results.'}, 'max_stops': {'type': 'integer', 'minimum': 0, 'description': 'Optional maximum stops per direction. Use 0 for nonstop only.'}, 'cabin_class': {'type': 'string', 'description': 'Optional cabin class: "economy", "premium economy", "business", "first".'}, 'destination': {'type': 'string', 'description': 'Destination airport code or city (e.g. "NRT", "LHR", "Paris").'}, 'return_date': {'type': 'string', 'description': "Optional return date in YYYY-MM-DD format for a round trip. Read the labels on the results: a price marked 'round trip' already covers both directions, while results split into separate outbound and return sections are one-way prices whose sum overstates the real round-trip fare."}, 'departure_date': {'type': 'string', 'description': 'Departure date in YYYY-MM-DD format.'}, 'num_passengers': {'type': 'integer', 'default': 1, 'description': 'Number of passengers.'}}}
Output schema
{'type': 'object', 'title': 'search_flightsOutput', 'required': ['result'], 'properties': {'result': {'type': 'string', 'title': 'Result'}}}
Input schema
{'type': 'object', 'required': ['location', 'checkin', 'checkout'], 'properties': {'checkin': {'type': 'string', 'description': 'Check-in date in YYYY-MM-DD format.'}, 'checkout': {'type': 'string', 'description': 'Check-out date in YYYY-MM-DD format.'}, 'location': {'type': 'string', 'description': 'City name, address, or area (e.g. "Tokyo", "Manhattan, New York", "near LAX airport").'}, 'chain_name': {'type': 'string', 'description': 'Optional hotel chain filter (e.g. "marriott", "hilton", "hyatt", "ihg"). Case-insensitive substring match against each result\'s chain. If no result matches, the unfiltered results are returned with an explicit note in the summary so you don\'t keep retrying with different chain values.'}, 'hotel_name': {'type': 'string', 'description': 'Optional hotel name to boost to the top of results (e.g. "Conrad Las Vegas", "Park Hyatt Tokyo"). Use this when the user names a specific hotel â\x80\x94 the matching property will be ranked first so you can pass its hotel_id to compare_rates without guessing. Case-insensitive substring match against the property name. Boosting (rather than filtering) preserves nearby alternatives the user may want to see.'}, 'num_adults': {'type': 'integer', 'default': 2, 'description': 'Number of adult guests.'}}}
Output schema
{'type': 'object', 'title': 'search_hotelsOutput', 'required': ['result'], 'properties': {'result': {'type': 'string', 'title': 'Result'}}}
Input schema
{'type': 'object', 'required': ['pickup_location', 'pickup_datetime', 'dropoff_datetime'], 'properties': {'pickup_query': {'type': 'string', 'description': 'Optional free-text pickup location: airport IATA, metro IATA, city, address, point of interest, or "lat,lon". When present, this takes precedence over pickup_location and includes both airport and city-desk inventory. Keep pickup_location populated as a compatible airport, metro, or city value.'}, 'dropoff_query': {'type': 'string', 'description': 'Optional free-text drop-off location for a one-way rental, using the same formats as pickup_query. Omit for a round trip returning to the pickup location.'}, 'vehicle_class': {'enum': ['Economy', 'Compact', 'Standard', 'FullSize', 'Premium', 'Luxury', 'SUV', 'Van'], 'type': 'string', 'description': 'Optional vehicle class preference: Economy, Compact, Standard, FullSize, Premium, Luxury, SUV, Van.'}, 'pickup_datetime': {'type': 'string', 'description': 'Pickup date and time in ISO format (e.g. "2025-03-15T10:00:00").'}, 'pickup_location': {'type': 'string', 'description': 'Airport IATA code (e.g. "LAX", "JFK", "SFO").'}, 'dropoff_datetime': {'type': 'string', 'description': 'Drop-off date and time in ISO format (e.g. "2025-03-20T10:00:00").'}}}
Output schema
{'type': 'object', 'title': 'search_vehiclesOutput', 'required': ['result'], 'properties': {'result': {'type': 'string', 'title': 'Result'}}}
Recent tool changes
Similar MCP servers
Award Travel Finder
Searches award flights and hotels, tracks bookings and loyalty balances, evaluates points and credit cards, and monitors travel r…
AI 代理人任務中樞
Aggregates Taiwan-focused tools for AI service comparisons, cryptocurrency data, game information, health guidance, and other con…
Good Turn Studio (all tools)
Offers consumer utilities for insurance claim appeals, subscription cancellation, flight fare research, financial recovery resour…
Gover MCP
Searches and manages corporate travel requests, flights, hotels, rental vehicles, passengers, carts, approvals, reservations, and…
DC Member API
Provides access to Dynamite Circle membership data, community profiles, chapters, events, trips, calendars, alerts, follows, agen…
Nomad Stays
Searches and books remote-work accommodations while supporting host listing management, rooms, packages, availability, and hospit…
lilo Vacation Rentals
Supports vacation-rental discovery, availability and direct booking, property operations, short-term-rental compliance, guest and…
mcp-server
Provides immigration, citizenship and residency programme research alongside tax, wealth structuring, banking, visa, treaty and c…