MCP-Server

Event Escapes

com.eventescapes/event-escapes
Commerce & Retail Reisen & Hospitality Öffentlich und erreichbar MCP 2026-07-28

Was dieses MCP kann

Searches event travel opportunities and provides event, ticket, hotel, experience, package, and payment-link capabilities.

build_event_link
Generate a deep link to the Event Escapes event detail page. The user lands on a page where they can review ticket categories, see hotels near the venue (auto-loaded), and complete booking themselves. Optionally pass hotel_id to pin a recommended hotel at the top of the hotels-near-venue list. This does not make a reservation; it is a navigation link only. Package pages are linked by build_package_link.
Nur Lesen Idempotent
Eingabeschema
{'type': 'object', 'anyOf': [{'required': ['event_id']}, {'required': ['slug']}], 'properties': {'slug': {'type': 'string', 'maxLength': 200, 'description': 'Event slug from search_events results.'}, 'guests': {'type': 'integer', 'maximum': 6, 'minimum': 1, 'description': 'Number of travellers as stated by the user. Optional, with no default: omit it when the number of travellers is unknown.'}, 'check_in': {'type': 'string', 'format': 'date', 'description': 'Optional check-in date (YYYY-MM-DD) to pre-fill on the page.'}, 'event_id': {'type': 'string', 'format': 'uuid', 'description': 'Event UUID from search_events results.'}, 'hotel_id': {'type': 'string', 'maxLength': 100, 'description': 'Optional hotel ID from search_hotels_near_event. If provided, this hotel will be pinned to the top of the hotels-near-venue list on the event page.'}, 'check_out': {'type': 'string', 'format': 'date', 'description': 'Optional check-out date (YYYY-MM-DD) to pre-fill on the page.'}}, 'additionalProperties': False}
build_package_link
Generate a deep link to a curated Event Escapes PACKAGE detail page (/packages/{slug}). Packages are hand-curated bundles of event tickets + hotel + experiences with savings vs DIY booking. Takes a package_id or slug returned by search_packages. This does not make a reservation: the user reviews tier, duration and guest selectors and books on the package page.
Nur Lesen Idempotent
Eingabeschema
{'type': 'object', 'anyOf': [{'required': ['package_id']}, {'required': ['slug']}], 'properties': {'slug': {'type': 'string', 'maxLength': 200, 'description': 'Package slug from search_packages results.'}, 'guests': {'type': 'integer', 'maximum': 6, 'minimum': 1, 'description': 'Number of travellers as stated by the user. Optional, with no default.'}, 'check_in': {'type': 'string', 'format': 'date', 'description': 'Optional check-in date (YYYY-MM-DD).'}, 'check_out': {'type': 'string', 'format': 'date', 'description': 'Optional check-out date (YYYY-MM-DD).'}, 'package_id': {'type': 'string', 'format': 'uuid', 'description': 'Package UUID from search_packages results.'}}, 'additionalProperties': False}
create_payment_link
Creates a booking cart and returns a secure payment URL the customer uses to pay. Locks live prices for up to 4 items (a hotel room from search_hotels_near_event, event tickets from search_events, or an experience from search_experiences, which comes back as a site link for the customer to complete) and returns an Event Escapes payment link for that exact total. Requires the customer's email, first and last name, and customer_consent: the customer's own words asking to book these items. This tool charges nothing: the customer pays on the payment page, and the card is only captured once every booking is confirmed. Returns status payment_link_ready with payment_url, or status action_required listing what is still needed (a ticket category, approval of a price change, or attendee details that some ticket suppliers require); calling again with the same items plus those fields continues the booking. Items stay in the customer's cart for 90 minutes across calls and one payment URL covers the whole cart. Each new payment URL expires the customer's previous unpaid one, and a payment URL expires after about 30 minutes. Event Escapes is the merchant of record. Requires agent_terms_accepted: true, the calling agent's acceptance of the Event Escapes AI Agent Terms (https://eventescapes.com/terms/ai-agents); every payment link is recorded with the agent, the customer's consent, the items and the total as booking evidence. Large orders also need total_confirmation.
Destruktiv Externer Zugriff
Eingabeschema
{'type': 'object', 'required': ['customer_email', 'customer_first_name', 'customer_last_name', 'customer_consent', 'items', 'agent_terms_accepted'], 'properties': {'items': {'type': 'array', 'items': {'type': 'object', 'required': ['type'], 'properties': {'type': {'enum': ['hotel', 'event', 'experience'], 'type': 'string'}, 'adults': {'type': 'integer', 'maximum': 6, 'minimum': 1, 'description': 'HOTEL / EXPERIENCE: adults.'}, 'check_in': {'type': 'string', 'format': 'date', 'description': 'HOTEL: check-in date, YYYY-MM-DD.'}, 'children': {'type': 'integer', 'maximum': 6, 'minimum': 0, 'description': 'HOTEL / EXPERIENCE: children, 0 if none.'}, 'event_id': {'type': 'string', 'format': 'uuid', 'description': 'EVENT: event UUID from search_events.'}, 'hotel_id': {'type': 'string', 'maxLength': 100, 'description': 'HOTEL: id from search_hotels_near_event.'}, 'quantity': {'type': 'integer', 'maximum': 10, 'minimum': 1, 'description': 'EVENT: number of tickets the customer wants.'}, 'breakfast': {'type': 'boolean', 'description': 'HOTEL: true for a rate with breakfast included.'}, 'check_out': {'type': 'string', 'format': 'date', 'description': 'HOTEL: check-out date, YYYY-MM-DD.'}, 'ticket_id': {'type': 'string', 'maxLength': 80, 'description': 'EVENT: ticket category id. When omitted, the result lists the available categories.'}, 'child_ages': {'type': 'string', 'maxLength': 60, 'description': 'EXPERIENCE: age of each child, comma-separated.'}, 'event_slug': {'type': 'string', 'maxLength': 200, 'description': 'EVENT: event slug, alternative to event_id.'}, 'session_code': {'type': 'string', 'maxLength': 80, 'description': 'EXPERIENCE: time slot code, when a previous result listed options.'}, 'activity_code': {'type': 'string', 'maxLength': 80, 'description': 'EXPERIENCE: activity code from search_experiences.'}, 'activity_date': {'type': 'string', 'format': 'date', 'description': 'EXPERIENCE: the day, YYYY-MM-DD.'}, 'modality_code': {'type': 'string', 'maxLength': 80, 'description': 'EXPERIENCE: option code, when a previous result listed options.'}, 'free_cancellation': {'type': 'boolean', 'description': 'HOTEL: true if the customer wants a refundable rate.'}}, 'additionalProperties': True}, 'maxItems': 4, 'minItems': 1, 'description': 'What to book, in order. Each item is one hotel room, one ticket line, or one experience.'}, 'agent_name': {'type': 'string', 'maxLength': 80, 'description': "Name of the AI assistant making the booking, e.g. 'Meta Muse' or 'Claude'. Recorded with the booking."}, 'promo_code': {'type': 'string', 'maxLength': 40, 'description': 'Promo code supplied by the customer, exactly as given.'}, 'attendee_names': {'type': 'string', 'maxLength': 600, 'description': 'EVENT tickets for more than one attendee: comma-separated full names, when a previous result asked for them.'}, 'customer_email': {'type': 'string', 'format': 'email', 'maxLength': 254, 'description': "Customer's email address, exactly as the customer confirmed it. The receipt and booking confirmations are sent here."}, 'customer_phone': {'type': 'string', 'maxLength': 20, 'description': "Customer's mobile in E.164 (+61..., +1...), if known."}, 'accept_new_price': {'type': 'boolean', 'description': 'true to accept a price change reported by a previous result, once the customer has agreed to the new total.'}, 'attendee_details': {'type': 'string', 'maxLength': 2000, 'description': "Attendee details, when a previous result asked for them: one entry per attendee separated by ';', e.g. 'name=John Smith, dob=1985-03-04, passport=N1234567, nationality=Australia', with only the fields that result named."}, 'customer_consent': {'type': 'string', 'maxLength': 500, 'minLength': 2, 'description': "Required. The customer's own words asking to book these items (e.g. 'yes book the Marriott and 2 tickets')."}, 'residency_country': {'type': 'string', 'maxLength': 60, 'description': "Customer's country of residence, if stated (hotel prices vary by residency)."}, 'customer_last_name': {'type': 'string', 'maxLength': 80, 'description': "Lead traveller's last name."}, 'total_confirmation': {'type': 'string', 'maxLength': 300, 'description': "Only when a previous result asked for it (large orders): the customer's own words confirming the stated total."}, 'customer_first_name': {'type': 'string', 'maxLength': 80, 'description': "Lead traveller's first name."}, 'agent_terms_accepted': {'type': 'boolean', 'description': "Required, must be true: the calling agent accepts the Event Escapes AI Agent Terms (https://eventescapes.com/terms/ai-agents) and confirms it acts on this customer's instruction."}, 'details_confirm_quote': {'type': 'string', 'maxLength': 500, 'description': "Required when attendee_details includes a passport or date of birth: the customer's confirmation that the details are correct, given after being told they cannot be changed later."}}, 'additionalProperties': False}
get_event_details
Get full details for one event: title, venue, date and time, price range, description, and image gallery. Provide event_id (UUID) or slug from search_events results.
Nur Lesen Externer Zugriff Idempotent
Eingabeschema
{'type': 'object', 'anyOf': [{'required': ['event_id']}, {'required': ['slug']}], 'properties': {'slug': {'type': 'string', 'maxLength': 200}, 'currency': {'enum': ['AUD', 'USD', 'NZD', 'GBP', 'EUR', 'SGD', 'CAD', 'MYR'], 'type': 'string'}, 'event_id': {'type': 'string', 'format': 'uuid'}}, 'additionalProperties': False}
search_events
Search upcoming sporting and music events bookable on Event Escapes. Covers F1, MotoGP, all major soccer leagues, NFL, NHL, MLB, NBA, tennis Grand Slams, rugby, cricket, golf, volleyball, boxing, MMA, horse racing, athletics, and major concerts. Filter by sport, city, country, or date range. Returns event inventory (tickets only); curated trip packages bundling tickets, hotel and experiences are returned by search_packages. Prices are estimates; the final price is set at checkout.
Nur Lesen Externer Zugriff Idempotent
Eingabeschema
{'type': 'object', 'properties': {'city': {'type': 'string', 'maxLength': 100}, 'limit': {'type': 'integer', 'default': 10, 'maximum': 20, 'minimum': 1}, 'sport': {'enum': ['f1', 'motogp', 'soccer', 'premier_league', 'la_liga', 'champions_league', 'nfl', 'nhl', 'mlb', 'nba', 'tennis', 'rugby', 'volleyball', 'golf', 'cricket', 'boxing', 'mma', 'horse_racing', 'athletics', 'music'], 'type': 'string'}, 'country': {'type': 'string', 'pattern': '^[A-Z]{2}$'}, 'date_to': {'type': 'string', 'format': 'date'}, 'currency': {'enum': ['AUD', 'USD', 'NZD', 'GBP', 'EUR', 'SGD', 'CAD', 'MYR'], 'type': 'string'}, 'date_from': {'type': 'string', 'format': 'date'}}, 'additionalProperties': False}
search_experiences
Find activities, tours, attractions, food experiences, and nightlife in a city (sourced from Hotelbeds). If no date range provided, defaults to next 7 days. Returns activity name, price, duration, image, and whether free cancellation is offered.
Nur Lesen Externer Zugriff Idempotent
Eingabeschema
{'type': 'object', 'required': ['city'], 'properties': {'city': {'type': 'string', 'maxLength': 100, 'minLength': 2}, 'limit': {'type': 'integer', 'default': 10, 'maximum': 15, 'minimum': 1}, 'country': {'type': 'string', 'pattern': '^[A-Z]{2}$'}, 'date_to': {'type': 'string', 'format': 'date'}, 'category': {'enum': ['tours', 'attractions', 'food', 'sports', 'transfers', 'nightlife'], 'type': 'string'}, 'currency': {'enum': ['AUD', 'USD', 'NZD', 'GBP', 'EUR', 'SGD', 'CAD', 'MYR'], 'type': 'string'}, 'date_from': {'type': 'string', 'format': 'date'}}, 'additionalProperties': False}
search_hotels_near_event
Find hotels within walking or short-transit distance of an event venue. If no check_in/check_out provided, defaults to one night before through one night after the event (2-night stay). Returns nightly price, total cost, distance, transport mode (walk vs rideshare), and travel time to venue.
Nur Lesen Externer Zugriff Idempotent
Eingabeschema
{'type': 'object', 'anyOf': [{'required': ['event_id']}, {'required': ['slug']}], 'properties': {'slug': {'type': 'string', 'maxLength': 200}, 'limit': {'type': 'integer', 'default': 10, 'maximum': 15, 'minimum': 1}, 'guests': {'type': 'integer', 'default': 2, 'maximum': 6, 'minimum': 1}, 'check_in': {'type': 'string', 'format': 'date'}, 'currency': {'enum': ['AUD', 'USD', 'NZD', 'GBP', 'EUR', 'SGD', 'CAD', 'MYR'], 'type': 'string'}, 'event_id': {'type': 'string', 'format': 'uuid'}, 'check_out': {'type': 'string', 'format': 'date'}, 'radius_km': {'type': 'number', 'default': 3, 'maximum': 10, 'minimum': 0.5}}, 'additionalProperties': False}
search_packages
Search hand-curated trip packages bundling event tickets + hotel + experiences with savings vs DIY booking. Packages live on dedicated /packages/ pages and include preview hotel, ticket category, and (sometimes) experience list. Filter by category (concerts, f1, world_cup, tennis, nfl, etc.), city, country, date range, or package type (single_event for one-day events; multi_event_city for multi-day city trips with multiple events). Returns complete trip recommendations; ticket-only inventory is returned by search_events. Prices include all package components.
Nur Lesen Externer Zugriff Idempotent
Eingabeschema
{'type': 'object', 'properties': {'city': {'type': 'string', 'maxLength': 100, 'description': "Filter by destination city (e.g. 'London', 'New York')."}, 'limit': {'type': 'integer', 'default': 10, 'maximum': 15, 'minimum': 1}, 'country': {'type': 'string', 'maxLength': 60, 'description': "Filter by destination country name (e.g. 'England', 'USA', 'Spain'). Note: packages use country name, not ISO code."}, 'date_to': {'type': 'string', 'format': 'date'}, 'category': {'enum': ['concerts', 'f1', 'motogp', 'world_cup', 'tennis', 'nfl', 'mlb', 'nba', 'nhl', 'epl', 'la_liga', 'serie_a', 'bundesliga', 'ucl', 'mls', 'ligue_1', 'city_multi', 'festivals'], 'type': 'string', 'description': 'Package category. Common values: concerts (1000+ packages), f1 (Formula 1 race weekends), world_cup (FIFA World Cup 2026), tennis (Grand Slams), nfl, mlb, nba, nhl, epl/la_liga/serie_a/bundesliga (soccer leagues), city_multi (multi-event city trips), festivals.'}, 'currency': {'enum': ['AUD', 'USD', 'NZD', 'GBP', 'EUR', 'SGD', 'CAD', 'MYR'], 'type': 'string'}, 'date_from': {'type': 'string', 'format': 'date'}, 'package_type': {'enum': ['single_event', 'multi_event_city'], 'type': 'string', 'description': 'single_event (one event) or multi_event_city (multiple events in one city trip).'}}, 'additionalProperties': False}
Geändert
create_payment_link
1. October 2026 02:53
Geändert
create_payment_link
25. September 2026 03:02
Geändert
build_package_link
25. September 2026 03:02
Geändert
build_event_link
25. September 2026 03:02
Geändert
search_packages
25. September 2026 03:02
Geändert
search_events
25. September 2026 03:02
Hinzugefügt
create_payment_link
17. September 2026 12:34
Hinzugefügt
build_package_link
17. September 2026 12:34
Hinzugefügt
build_event_link
17. September 2026 12:34
Hinzugefügt
search_experiences
17. September 2026 12:34
Hinzugefügt
search_hotels_near_event
17. September 2026 12:34
Hinzugefügt
get_event_details
17. September 2026 12:34
Hinzugefügt
search_packages
17. September 2026 12:34
Hinzugefügt
search_events
17. September 2026 12:34