TripWays
What this MCP does
Searches bookable tours and activities, retrieves details, checks live availability, provides price quotes, and generates checkout links.
Tools
Input schema
{'type': 'object', 'required': ['bokun_id', 'date'], 'properties': {'date': {'type': 'string', 'pattern': '^\\d{4}-\\d{2}-\\d{2}$'}, 'bokun_id': {'type': 'string', 'pattern': '^[0-9]+$'}, 'date_end': {'type': 'string', 'pattern': '^\\d{4}-\\d{2}-\\d{2}$', 'description': 'Inclusive end; default = date. Max 31 days.'}, 'travelers': {'type': 'object', 'properties': {'youth': {'type': 'integer', 'minimum': 0}, 'adults': {'type': 'integer', 'default': 1, 'minimum': 0}, 'infants': {'type': 'integer', 'minimum': 0}, 'seniors': {'type': 'integer', 'minimum': 0}, 'children': {'type': 'integer', 'minimum': 0}}, 'description': 'Simple ages; mapped to occupied seats (infants excluded unless the tour has an infant category). Used only when party_size is omitted.', 'additionalProperties': False}, 'party_size': {'type': 'integer', 'maximum': 50, 'minimum': 1, 'description': 'Occupied seats to keep (not ticket count). Slots with availabilityCount < party_size are omitted unless unlimited. Wins over travelers when both are set.'}}, 'additionalProperties': False}
Output schema
{'type': 'object', 'required': ['ok'], 'properties': {'ok': {'type': 'boolean'}, 'note': {'type': 'string'}, 'slots': {'type': 'array', 'items': {'type': 'object', 'properties': {'date': {'type': 'string', 'description': 'YYYY-MM-DD.'}, 'label': {'type': 'string'}, 'rate_ids': {'type': 'array'}, 'sold_out': {'type': 'boolean'}, 'unlimited': {'type': 'boolean'}, 'spots_left': {'type': ['integer', 'null'], 'description': 'Null when unlimited.'}, 'start_time': {'type': 'string', 'description': 'HH:MM.'}, 'start_time_id': {'type': 'integer', 'description': 'Pass to get_price_quote / get_booking_link.'}, 'min_participants': {'type': 'integer'}}}, 'description': 'Open start times that fit the party.'}, 'reason': {'type': ['string', 'null']}, 'status': {'type': 'string', 'description': 'ok, no_schedule, no_fit, or calendar_gone.'}, 'bokun_id': {'type': 'string'}, 'checkout_url': {'type': 'string'}, 'bookable_natively': {'type': 'boolean'}}}
Input schema
{'type': 'object', 'required': ['bokun_id'], 'properties': {'date': {'type': 'string', 'pattern': '^\\d{4}-\\d{2}-\\d{2}$'}, 'rate_id': {'type': 'integer', 'minimum': 1}, 'bokun_id': {'type': 'string', 'pattern': '^[0-9]+$'}, 'travelers': {'type': 'object', 'properties': {'youth': {'type': 'integer', 'minimum': 0}, 'adults': {'type': 'integer', 'default': 1, 'minimum': 0}, 'infants': {'type': 'integer', 'minimum': 0}, 'seniors': {'type': 'integer', 'minimum': 0}, 'children': {'type': 'integer', 'minimum': 0}}, 'description': 'Simple ages; mapped to Bokun pricing categories.', 'additionalProperties': False}, 'start_time': {'type': 'string', 'pattern': '^\\d{2}:\\d{2}$', 'description': 'HH:MM if start_time_id unknown.'}, 'start_time_id': {'type': 'integer', 'minimum': 1}}, 'additionalProperties': False}
Output schema
{'type': 'object', 'required': ['ok'], 'properties': {'ok': {'type': 'boolean'}, 'reason': {'type': ['string', 'null']}, 'bokun_id': {'type': 'string'}, 'spots_left': {'type': ['integer', 'null']}, 'start_time': {'type': 'string'}, 'checkout_url': {'type': 'string', 'description': 'Open in the browser to pay on tripways.com.'}, 'min_participants': {'type': 'integer'}, 'bookable_natively': {'type': 'boolean'}}}
Input schema
{'type': 'object', 'required': ['query'], 'properties': {'query': {'type': 'string', 'maxLength': 120, 'minLength': 1}, 'country_code': {'type': 'string', 'pattern': '^[A-Za-z]{2}$', 'description': 'Optional ISO2 pin, e.g. FR.'}}, 'additionalProperties': False}
Output schema
{'type': 'object', 'required': ['ok'], 'properties': {'ok': {'type': 'boolean'}, 'destination': {'type': 'object', 'properties': {'url': {'type': 'string', 'description': "The destination's TripWays page."}, 'name': {'type': 'string'}, 'alias': {'type': 'string'}, 'level': {'type': 'string', 'description': 'country, region, city, or district.'}, 'hierarchy': {'type': 'array', 'items': {'type': 'string'}}, 'browseable': {'type': 'boolean'}, 'tour_count': {'type': 'integer'}, 'country_code': {'type': 'string'}, 'display_name': {'type': 'string'}, 'resolved_via': {'type': 'string', 'description': 'area_alias when a landmark maps to its parent destination.'}}}}}
Input schema
{'type': 'object', 'required': ['bokun_id', 'date'], 'properties': {'date': {'type': 'string', 'pattern': '^\\d{4}-\\d{2}-\\d{2}$'}, 'bokun_id': {'type': 'string', 'pattern': '^[0-9]+$'}, 'travelers': {'type': 'object', 'properties': {'youth': {'type': 'integer', 'minimum': 0}, 'adults': {'type': 'integer', 'default': 1, 'minimum': 0}, 'infants': {'type': 'integer', 'minimum': 0}, 'seniors': {'type': 'integer', 'minimum': 0}, 'children': {'type': 'integer', 'minimum': 0}}, 'description': 'Simple ages; mapped to Bokun pricing categories.', 'additionalProperties': False}, 'start_time': {'type': 'string', 'pattern': '^\\d{2}:\\d{2}$', 'description': 'HH:MM if start_time_id unknown.'}, 'start_time_id': {'type': 'integer', 'minimum': 1}}, 'additionalProperties': False}
Output schema
{'type': 'object', 'required': ['ok'], 'properties': {'ok': {'type': 'boolean'}, 'date': {'type': 'string'}, 'reason': {'type': ['string', 'null']}, 'bokun_id': {'type': 'string'}, 'currency': {'type': 'string'}, 'from_price': {'type': 'number', 'minimum': 0}, 'quote_kind': {'type': 'string'}, 'rate_title': {'type': 'string'}, 'start_time': {'type': 'string'}, 'checkout_url': {'type': 'string', 'description': 'Checkout preset to this date, time, and travelers.'}, 'package_total': {'type': 'number', 'minimum': 0, 'description': 'Total for the whole group, before optional extras and promo codes.'}, 'promo_applied': {'type': 'boolean'}, 'min_participants': {'type': 'integer'}, 'travelers_priced': {'type': 'object', 'description': 'Traveler counts the total covers.', 'additionalProperties': {'type': 'integer'}}, 'bookable_natively': {'type': 'boolean'}, 'includes_required_extras': {'type': 'boolean'}, 'optional_extras_excluded': {'type': 'boolean'}}}
Input schema
{'type': 'object', 'required': ['bokun_id'], 'properties': {'bokun_id': {'type': 'string', 'pattern': '^[0-9]+$'}}, 'additionalProperties': False}
Output schema
{'type': 'object', 'required': ['ok'], 'properties': {'ok': {'type': 'boolean'}, 'url': {'type': 'string', 'description': "The tour's TripWays page."}, 'title': {'type': 'string'}, 'rating': {'type': 'object', 'properties': {'count': {'type': 'integer'}, 'value': {'type': ['number', 'null']}, 'low_confidence': {'type': 'boolean', 'description': 'True when there are fewer than 10 reviews.'}}}, 'reason': {'type': ['string', 'null'], 'description': 'Why checkout works the way it does, e.g. pickup_required.'}, 'themes': {'type': 'array', 'items': {'type': 'string'}}, 'summary': {'type': 'string'}, 'bokun_id': {'type': 'string', 'description': 'Tour id; the number in tripways.com/t/{id}.'}, 'guidance': {'type': 'string'}, 'itinerary': {'type': 'array', 'items': {'type': 'object', 'properties': {'body': {'type': 'string'}, 'title': {'type': 'string'}, 'poi_name': {'type': 'string'}, 'stop_index': {'type': 'integer'}}}}, 'languages': {'type': 'array', 'items': {'type': 'string'}}, 'activities': {'type': 'array', 'items': {'type': 'string'}}, 'exclusions': {'type': 'array', 'items': {'type': 'string'}}, 'from_price': {'type': 'object', 'properties': {'amount': {'type': 'number', 'minimum': 0}, 'currency': {'type': 'string'}}, 'description': 'Lowest adult price.'}, 'hero_image': {'type': 'string', 'description': 'Main photo URL.'}, 'inclusions': {'type': 'array', 'items': {'type': 'string'}}, 'cancellation': {'type': 'string', 'description': 'free, flexible, partial, or non_refundable.'}, 'checkout_url': {'type': 'string', 'description': 'TripWays checkout for this tour.'}, 'destinations': {'type': 'array', 'items': {'type': 'string'}}, 'hotel_pickup': {'type': 'boolean'}, 'duration_text': {'type': 'string'}, 'gttd_eligible': {'type': 'boolean', 'description': 'Listed on Google Things to Do.'}, 'duration_hours': {'type': 'number'}, 'bookable_natively': {'type': 'boolean', 'description': 'True when checkout_url opens TripWays checkout; false when it opens the operator calendar.'}, 'meeting_pickup_label': {'type': 'string'}}}
Input schema
{'type': 'object', 'required': ['query'], 'properties': {'limit': {'type': 'integer', 'default': 8, 'maximum': 20, 'minimum': 1}, 'query': {'type': 'string', 'maxLength': 500, 'minLength': 2, 'description': "Natural-language search, e.g. 'family food tour in Rome under $100'."}, 'theme': {'type': 'string', 'maxLength': 60}, 'activity': {'type': 'string', 'maxLength': 60, 'description': 'Activity facet, e.g. food, hiking, snorkeling.'}, 'price_max': {'type': 'number', 'minimum': 0}, 'price_min': {'type': 'number', 'minimum': 0}, 'destination': {'type': 'string', 'maxLength': 120, 'description': 'Place name (city, region, country, or well-known area/landmark). Resolved against TripWays destinations; a landmark that is not a destination is added to the search text.'}, 'cancellation': {'enum': ['free', 'flexible', 'partial', 'non_refundable'], 'type': 'string'}, 'duration_hours_max': {'type': 'number', 'minimum': 0}, 'duration_hours_min': {'type': 'number', 'minimum': 0}}, 'additionalProperties': False}
Output schema
{'type': 'object', 'required': ['ok'], 'properties': {'ok': {'type': 'boolean'}, 'note': {'type': 'string', 'description': 'Why the list is empty or how the destination was read.'}, 'tours': {'type': 'array', 'items': {'type': 'object', 'properties': {'url': {'type': 'string', 'description': "The tour's TripWays page."}, 'title': {'type': 'string'}, 'rating': {'type': 'object', 'properties': {'count': {'type': 'integer'}, 'value': {'type': ['number', 'null']}, 'low_confidence': {'type': 'boolean', 'description': 'True when there are fewer than 10 reviews.'}}}, 'reason': {'type': ['string', 'null'], 'description': 'Why checkout works the way it does, e.g. pickup_required.'}, 'themes': {'type': 'array', 'items': {'type': 'string'}}, 'bokun_id': {'type': 'string', 'description': 'Tour id; the number in tripways.com/t/{id}.'}, 'activities': {'type': 'array', 'items': {'type': 'string'}}, 'from_price': {'type': 'object', 'properties': {'amount': {'type': 'number', 'minimum': 0}, 'currency': {'type': 'string'}}, 'description': 'Lowest adult price.'}, 'hero_image': {'type': 'string', 'description': 'Main photo URL.'}, 'cancellation': {'type': 'string', 'description': 'free, flexible, partial, or non_refundable.'}, 'checkout_url': {'type': 'string', 'description': 'TripWays checkout for this tour.'}, 'destinations': {'type': 'array', 'items': {'type': 'string'}}, 'hotel_pickup': {'type': 'boolean'}, 'duration_text': {'type': 'string'}, 'gttd_eligible': {'type': 'boolean', 'description': 'Listed on Google Things to Do.'}, 'duration_hours': {'type': 'number'}, 'bookable_natively': {'type': 'boolean', 'description': 'True when checkout_url opens TripWays checkout; false when it opens the operator calendar.'}}}, 'description': 'Ranked tours; empty when nothing matched (see note).'}, 'guidance': {'type': 'string'}, 'destination_resolved': {'type': 'object', 'properties': {'url': {'type': 'string', 'description': "The destination's TripWays page."}, 'name': {'type': 'string'}, 'alias': {'type': 'string'}, 'level': {'type': 'string', 'description': 'country, region, city, or district.'}, 'hierarchy': {'type': 'array', 'items': {'type': 'string'}}, 'browseable': {'type': 'boolean'}, 'tour_count': {'type': 'integer'}, 'country_code': {'type': 'string'}, 'display_name': {'type': 'string'}, 'resolved_via': {'type': 'string', 'description': 'area_alias when a landmark maps to its parent destination.'}}}}}
Recent tool changes
Similar MCP servers
Itaim Bibi
Provides an Itaim Bibi neighborhood directory with local place search, menus, events, offers, services, bookings, reservations, t…
Tatuapé
Provides a Tatuapé neighborhood directory with local place search, menus, events, offers, services, bookings, reservations, ticke…
Agenda SP
Provides São Paulo cultural agenda and local directory features, including events, venues, restaurants, offers, bookings, reserva…
Vila Buarque
Provides a neighborhood directory for local places, restaurants, menus, events, offers, services, reservations, bookings, and pur…
Centro
Provides a Centro neighborhood directory with local place search, menus, events, offers, services, bookings, reservations, ticket…
Bela Vista
Provides a Bela Vista neighborhood directory with local place search, menus, events, offers, services, bookings, reservations, ti…
Jardins
Provides a Jardins neighborhood directory with local place search, menus, events, offers, services, bookings, reservations, ticke…
Aclimação
Provides a neighborhood directory for Aclimação with local places, restaurant menus, events, offers, services, bookings, reservat…