Skip to main content
Glama

Server Details

Search event travel: F1, MotoGP, soccer, NFL, tennis, concerts. Tickets + hotels + experiences.

If you are the author of this connector, you can claim ownership by verifying the domain or GitHub account it belongs to. Claimed connector authors can inspect health checks, view analytics, and manage their listing.
Status
Healthy
Uptime
100.0% over 60 days
Last Tested
Transport
Streamable HTTP · MCP 2025-11-25
URL

TDQS

A4.4/5.0

Scored across 8 tools

Disambiguation5/5

Each tool targets a distinct resource and action: four searches cover non-overlapping inventory (events, experiences, hotels, packages), get_event_details is the single detail lookup, the two build_*_link tools are scoped to event vs package pages, and create_payment_link is the lone transactional tool. Descriptions actively disambiguate the boundaries, e.g. search_events explicitly says ticket-only inventory while packages come from search_packages.

Naming Consistency5/5

All eight tools use a consistent snake_case verb_noun pattern (build_event_link, build_package_link, create_payment_link, get_event_details, search_events/experiences/hotels_near_event/packages). The search_* family is uniform and the build_* family parallels cleanly.

Tool Count5/5

Eight tools is well-scoped for an event-and-travel booking funnel. Each tool earns its place: four distinct search domains, one detail lookup, two navigation link builders, and one payment/booking tool.

Completeness4/5

The search-to-link-to-payment funnel is fully covered, but the surface is asymmetric: get_event_details exists while there is no equivalent detail tool for packages, hotels, or experiences, and there is no way to retrieve or manage an existing booking after payment. These are minor, workable gaps given search results return rich data.

Available Tools

8 tools
get_event_detailsA
Read-onlyIdempotent
Inspect

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
slugNo
currencyNo
event_idNo

TDQS

A4.2/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint, openWorldHint, idempotentHint, and destructiveHint=false, which cover safety and side effects. The description adds value by disclosing what return fields the tool provides, which is not in annotations. It doesn't contradict annotations, and while it doesn't discuss error behavior, the read-only nature and idempotency reduce the need. The added return-content detail goes beyond annotations, so a 4 is appropriate.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is two sentences, front-loaded with the core action and data scope, immediately followed by identifier instructions. Every word earns its place—no filler, no repetition of the title or annotations. This is an exemplary concise structure.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With no output schema, the description compensates by listing the key return fields (title, venue, date/time, price range, description, image gallery), which sets expectations for the response. It also clarifies the required identifiers. It doesn't cover currency or potential errors, but for a simple read-only lookup with strong annotations, the description is largely complete. A 4 reflects the minor gaps.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 0% (no descriptions on properties), so the description carries the burden. It explains event_id and slug, including that they are alternatives (via 'or') and that slug comes from search_events, which is helpful. However, it entirely omits the 'currency' parameter, which is part of the schema with an enum. This partial coverage leaves a clear gap, so a 3 is fair.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's purpose: 'Get full details for one event' and enumerates the specific fields returned (title, venue, date/time, price range, description, image gallery). This differentiates it from sibling tools like search_events (which lists events) and build_event_link (which builds links). The verb 'get' plus the resource 'full details for one event' make a specific and unambiguous purpose.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description explicitly instructs to provide either event_id (UUID) or slug from search_events results, giving clear context on how to obtain valid inputs. It doesn't explicitly state when not to use this tool or name alternatives, but the guidance 'from search_events results' implies a workflow and distinguishes from searching. This is clear context without formal exclusions, meriting a 4.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

search_eventsA
Read-onlyIdempotent
Inspect

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
cityNo
limitNo
sportNo
countryNo
date_toNo
currencyNo
date_fromNo

TDQS

A4.1/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint, idempotentHint, and destructiveHint false. The description adds valuable context: results are 'upcoming' (time-bounded), returns only ticket inventory, and prices are estimates subject to change at checkout. This goes beyond what annotations provide, though it does not describe pagination or ordering behavior.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is compact yet comprehensive, covering purpose, coverage, filters, return type, alternative, and a pricing caveat in a few sentences. It is front-loaded with the core purpose and well-organized, though slightly long for a tool description.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With no output schema, the description explains what is returned (event inventory, tickets only) and flags the price uncertainty. It also points to search_packages for fuller packages. Missing details like pagination or default limit are minor given the tool's simplicity and the presence of limit in the schema. It is sufficiently complete for an agent to call it correctly.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the description must compensate. It names the filter dimensions (sport, city, country, date range), which covers most parameters, but omits limit and currency. It does not explain the meaning of each parameter individually, leaving those two to the schema alone. The high-level filter mention is helpful but not exhaustive.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool searches upcoming sporting and music events bookable on Event Escapes. It enumerates the sports covered and explicitly differentiates from search_packages by noting this returns tickets only while packages are handled elsewhere. This distinguishes it from siblings like get_event_details and search_experiences.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description gives direct guidance on when to use this tool (for tickets) and explicitly names search_packages as the alternative for curated packages. It also mentions filters and the estimate-vs-final-price caveat. It does not mention other siblings like search_experiences or search_hotels_near_event, but the primary alternative is covered clearly.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

search_experiencesA
Read-onlyIdempotent
Inspect

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
cityYes
limitNo
countryNo
date_toNo
categoryNo
currencyNo
date_fromNo

TDQS

A4.2/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint, openWorldHint, idempotentHint, and destructiveHint, but the description adds valuable behavioral context: the default 7-day date window and the specific return fields (name, price, duration, image, free cancellation). This enriches the agent's understanding beyond the annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is three sentences, each adding distinct value: purpose, default behavior, and return data. No redundant or filler content; it is front-loaded and efficient.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Without an output schema, the description compensates by listing return fields. It also explains the data source and default date logic. Remaining gaps (like parameter interplay) are minor given the schema provides formats and defaults, making the overall description sufficiently complete for the tool's complexity.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

With 0% schema description coverage, the description carries the burden of explaining parameters. It clarifies that 'city' is the target, indirectly maps categories (tours, attractions, food, nightlife) to the category enum, and explains the date-range default. However, it does not explain limit, country, or currency, leaving some parameters underspecified.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description opens with 'Find activities, tours, attractions, food experiences, and nightlife in a city (sourced from Hotelbeds)', which clearly states the action and resource. This distinguishes it from sibling tools like search_events or search_hotels_near_event which focus on different domains.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description clearly indicates this is for searching city-based experiences and notes the default date range behavior. While it doesn't explicitly name alternatives or exclusions, the scope is well-defined enough for an agent to infer when to use this tool over siblings.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

search_hotels_near_eventA
Read-onlyIdempotent
Inspect

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
slugNo
limitNo
guestsNo
check_inNo
currencyNo
event_idNo
check_outNo
radius_kmNo

TDQS

A4/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true and destructiveHint=false, and the description adds meaningful behavioral context beyond that: it explains the automatic 2-night stay default when no dates are provided and enumerates the specific return fields (nightly price, total cost, distance, transport mode, travel time). This exceeds annotation-only information, though it omits details like pagination or rate limits.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is two sentences, front-loaded with the primary purpose, and includes essential behavioral and output information without redundant wording. Every clause adds value.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given 8 parameters and no output schema, the description covers the core purpose and return fields, making it adequate. However, it leaves many parameter meanings and usage exclusions unaddressed, so the agent still has to infer significant details. This is a clear gap for a tool of this complexity.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

With 0% schema description coverage and 8 parameters, the description must compensate. It explains the check_in/check_out default behavior and implies a radius via 'walking or short-transit distance', but it fails to explain event_id/slug, limit, guests, currency, and radius_km. This leaves most parameters semantically opaque to the agent.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description uses the specific verb 'Find' and clearly identifies the resource as 'hotels near event venue'. It also specifies the scope (walking or short-transit distance) and lists the return fields, which distinguishes it from sibling tools like search_events or search_packages.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description clearly implies when to use this tool—when hotel accommodations near an event are needed. It does not explicitly name alternatives or provide exclusions, but it provides clear context about default date behavior and output, which helps an agent decide on invocation.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

search_packagesA
Read-onlyIdempotent
Inspect

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
cityNoFilter by destination city (e.g. 'London', 'New York').
limitNo
countryNoFilter by destination country name (e.g. 'England', 'USA', 'Spain'). Note: packages use country name, not ISO code.
date_toNo
categoryNoPackage 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.
currencyNo
date_fromNo
package_typeNosingle_event (one event) or multi_event_city (multiple events in one city trip).

TDQS

A4.3/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The annotations already declare the tool as read-only, idempotent, and non-destructive, so the safety profile is covered. The description adds valuable behavioral context, such as that packages are hand-curated, live on dedicated /packages/ pages, include a preview hotel and ticket category, and that prices include all components. It also clarifies that results are 'complete trip recommendations'. This goes beyond the annotations without contradicting them.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single dense paragraph that is front-loaded with the core purpose, then lists filters, and closes with a distinction from a sibling. It packs a lot of information without being verbose or repetitive. A slight improvement would be splitting into bullet points, but it is well-structured and efficient.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool has 8 parameters, no output schema, and annotations that already cover safety, the description provides enough context for an agent to call it correctly: it explains what results look like ('complete trip recommendations'), that prices are inclusive, and routes ticket-only queries elsewhere. Missing details like pagination or return format are minor given the absence of an output schema and the tool's read-only nature.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 50%; the schema describes city, country, category, and package_type, while the description adds context for date range and package type. However, the description does not clarify the semantics of limit (e.g., pagination or maximum results) or currency (e.g., conversion or display options). It adds some value but does not fully compensate for the uncovered parameters, so it meets the baseline of adequacy but not more.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific verb ('Search') and a clear resource ('hand-curated trip packages bundling event tickets + hotel + experiences'), with a distinct value proposition ('savings vs DIY booking'). It explicitly differentiates from a sibling tool ('ticket-only inventory is returned by search_events'), making it immediately clear what this tool is for and not for.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description explicitly names the alternative (search_events) and the condition that selects it ('ticket-only inventory'), which is a clear when-not-to-use directive. It also lists the available filters (category, city, country, date range, package type) with examples, providing practical guidance on when to invoke this tool. This is explicit and leaves no ambiguity.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

  1. 1 tool update
    • Changedcreate_payment_link1 field changed
      • changedInput schema / properties / promo_code / description
        Previous value: -"Not accepted at the moment: the link is created at full price and the customer can enter a code themselves at the website checkout."New value: +"Promo code supplied by the customer, exactly as given."
  2. 1 tool update
    • Changedcreate_payment_link1 field changed
      • changedInput schema / properties / promo_code / description
        Previous value: -"Promo code supplied by the customer, exactly as given."New value: +"Not accepted at the moment: the link is created at full price and the customer can enter a code themselves at the website checkout."
  3. 1 tool update
    • Changedcreate_payment_link4 fields changed
      • addedInput schema / properties / agent_name
        Added value: +{
        +  "description": "Name of the AI assistant making the booking, e.g. 'Meta Muse' or 'Claude'. Recorded with the booking.",
        +  "maxLength": 80,
        +  "type": "string"
        +}
      • addedInput schema / properties / agent_terms_accepted
        Added value: +{
        +  "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.",
        +  "type": "boolean"
        +}
      • addedInput schema / properties / total_confirmation
        Added value: +{
        +  "description": "Only when a previous result asked for it (large orders): the customer's own words confirming the stated total.",
        +  "maxLength": 300,
        +  "type": "string"
        +}
      • changedInput schema / required
        Previous value: -[
        -  "customer_email",
        -  "customer_first_name",
        -  "customer_last_name",
        -  "customer_consent",
        -  "items"
        -]New value: +[
        +  "customer_email",
        +  "customer_first_name",
        +  "customer_last_name",
        +  "customer_consent",
        +  "items",
        +  "agent_terms_accepted"
        +]
  4. 3 tool updates
    • Changedbuild_event_link1 field changed
      • changedInput schema / properties / guests / description
        Previous value: -"Number of travellers. ASK THE USER before passing this - do not assume a default. Only include if the user has explicitly stated how many people are travelling."New value: +"Number of travellers as stated by the user. Optional, with no default: omit it when the number of travellers is unknown."
    • Changedbuild_package_link1 field changed
      • changedInput schema / properties / guests / description
        Previous value: -"Number of travellers. ASK THE USER before passing this - do not assume a default."New value: +"Number of travellers as stated by the user. Optional, with no default."
    • Changedcreate_payment_link14 fields changed
      • changedInput schema / properties / accept_new_price / description
        Previous value: -"true only after the tool reported a price change AND the customer agreed to the new total."New value: +"true to accept a price change reported by a previous result, once the customer has agreed to the new total."
      • changedInput schema / properties / attendee_details / description
        Previous value: -"Only when the tool asks: one entry per attendee separated by ';', e.g. 'name=John Smith, dob=1985-03-04, passport=N1234567, nationality=Australia'. Include only the fields the tool asked for."New value: +"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."
      • changedInput schema / properties / attendee_names / description
        Previous value: -"EVENT tickets for more than one attendee: comma-separated full names. The tool tells you if needed."New value: +"EVENT tickets for more than one attendee: comma-separated full names, when a previous result asked for them."
      • changedInput schema / properties / customer_consent / description
        Previous value: -"REQUIRED. The customer's own words asking you to book these items (e.g. 'yes book the Marriott and 2 tickets')."New value: +"Required. The customer's own words asking to book these items (e.g. 'yes book the Marriott and 2 tickets')."
      • changedInput schema / properties / customer_email / description
        Previous value: -"Customer's email, confirmed back to them letter-perfect. Receipt and confirmations go here."New value: +"Customer's email address, exactly as the customer confirmed it. The receipt and booking confirmations are sent here."
      • changedInput schema / properties / details_confirm_quote / description
        Previous value: -"Required when attendee_details carries passport or date of birth: the customer's confirmation after you read the details back and warned they cannot be changed."New value: +"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."
      • changedInput schema / properties / items / items / properties / breakfast / description
        Previous value: -"HOTEL: true only if the customer asked for breakfast included."New value: +"HOTEL: true for a rate with breakfast included."
      • changedInput schema / properties / items / items / properties / check_in / description
        Previous value: -"HOTEL: YYYY-MM-DD, the customer's date."New value: +"HOTEL: check-in date, YYYY-MM-DD."
      • changedInput schema / properties / items / items / properties / check_out / description
        Previous value: -"HOTEL: YYYY-MM-DD."New value: +"HOTEL: check-out date, YYYY-MM-DD."
      • changedInput schema / properties / items / items / properties / modality_code / description
        Previous value: -"EXPERIENCE: option code if the tool listed options."New value: +"EXPERIENCE: option code, when a previous result listed options."
      • changedInput schema / properties / items / items / properties / quantity / description
        Previous value: -"EVENT: number of tickets. Ask the customer, never assume."New value: +"EVENT: number of tickets the customer wants."
      • changedInput schema / properties / items / items / properties / session_code / description
        Previous value: -"EXPERIENCE: time slot code if the tool listed options."New value: +"EXPERIENCE: time slot code, when a previous result listed options."
      • changedInput schema / properties / items / items / properties / ticket_id / description
        Previous value: -"EVENT: ticket category id. Omit to have the tool list the options."New value: +"EVENT: ticket category id. When omitted, the result lists the available categories."
      • changedInput schema / properties / promo_code / description
        Previous value: -"Promo code only if the customer gave one, exactly as typed."New value: +"Promo code supplied by the customer, exactly as given."
  5. 1 tool update
    • Addedcreate_payment_link
  6. 7 tool updates
    • First observedbuild_event_link
    • First observedbuild_package_link
    • First observedget_event_details
    • First observedsearch_events
    • First observedsearch_experiences
    • First observedsearch_hotels_near_event
    • First observedsearch_packages

Related MCP Connectors

Related MCP Servers

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources