Skip to main content
Glama

Server Details

Search and book theatre, attractions, tours across 681 cities. 13,090+ products.

Status
Healthy
Last Tested
Transport
Streamable HTTP
URL
Repository
tickadoo/tickadoo-mcp
GitHub Stars
1
Server Listing
tickadoo

Glama MCP Gateway

Connect through Glama MCP Gateway for full control over tool access and complete visibility into every call.

MCP client
Glama
MCP server

Full call logging

Every tool call is logged with complete inputs and outputs, so you can debug issues and audit what your agents are doing.

Tool access control

Enable or disable individual tools per connector, so you decide what your agents can and cannot do.

Managed credentials

Glama handles OAuth flows, token storage, and automatic rotation, so credentials never expire on your clients.

Usage analytics

See which tools your agents call, how often, and when, so you can understand usage patterns and catch anomalies.

100% free. Your data is private.
Tool DescriptionsA

Average 4.2/5 across 23 of 23 tools scored.

Server CoherenceA
Disambiguation4/5

Most tools have clearly distinct purposes, but check_availability and get_availability overlap somewhat; however, descriptions clarify legacy vs. live usage. search_experiences and search_local_experiences are differentiated by input type (city vs. landmark). Overall, ambiguity is low.

Naming Consistency5/5

All tools use consistent snake_case with verb_noun pattern (e.g., list_cities, get_availability, search_experiences). Even longer names like get_whats_on_this_week follow the pattern. No mixing of styles.

Tool Count4/5

23 tools is slightly above the typical well-scoped range (3-15) but still reasonable for a comprehensive travel experience platform covering search, availability, itineraries, city guides, and recommendations. Each tool serves a specific function without excessive redundancy.

Completeness4/5

The tool surface covers major user journeys: searching (by category, mood, location, time), checking availability, getting details, comparisons, itinerary planning, city orientation, and transfer info. Missing direct booking but that is likely external. Gaps are minor; agents can handle most queries.

Available Tools

23 tools
check_availability
Read-only
Inspect

Use this when the user has picked a specific experience and asks whether it is available on one date, what it costs for a party, or wants a booking link. This is the legacy-compatible date-specific availability interface.

ParametersJSON Schema
NameRequiredDescriptionDefault
dateYesDate to check in YYYY-MM-DD format.
slugYesProduct slug or legacy booking path, e.g. "london-dungeon-tickets" or "/london/london-dungeon-tickets".
formatNoResponse shape. 'json' returns structured records; 'text' returns the same content rendered as a short narrative paragraph for chat surfaces.json
languageNoBCP-47 language code for human-readable fields (e.g., 'en', 'fr-FR'). Defaults to English when omitted.
party_sizeNoNumber of guests or tickets to price. Default 2.
compare_experiences
Read-onlyIdempotent
Inspect

Use this when the user wants a side-by-side comparison of 2-5 specific products. Pass the slug for each. Returns a comparison table plus per-axis winners (value, rating, popularity, family-fit).

ParametersJSON Schema
NameRequiredDescriptionDefault
slugsYesProduct slugs from earlier search or recommend results.
formatNoResponse shape. 'json' returns structured records; 'text' returns the same content rendered as a short narrative paragraph for chat surfaces.json
languageNoBCP-47 language code for human-readable fields (e.g., 'en', 'fr-FR'). Defaults to English when omitted.
find_nearby_experiences
Read-onlyIdempotent
Inspect

Use this when a non-ChatGPT client supplies exact latitude and longitude and wants experiences near that coordinate. ChatGPT clients should use search_local_experiences instead because it accepts coarse place hints.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNo
formatNoResponse shape. 'json' returns structured records; 'text' returns the same content rendered as a short narrative paragraph for chat surfaces.json
categoryNoOptional category slug.
languageNoBCP-47 language code for human-readable fields (e.g., 'en', 'fr-FR'). Defaults to English when omitted.
latitudeYesLatitude coordinate.
longitudeYesLongitude coordinate.
radius_kmNoSearch radius in kilometres.
get_availability
Read-only
Inspect

Use this when the user is ready to check live bookable dates, times, prices, or remaining spaces for one selected product. This is the live supplier-check tool; pass product_id from search or slug plus city_slug. Slot price.amount is in MINOR currency units (pence/cents): amount 13125 with currency_code GBP means GBP 131.25. Slot time is venue-local; when the venue timezone is known, timezone carries its IANA name and datetime/next_available carry the real UTC offset (e.g. 2026-07-18T19:30:00+02:00), so they are safe for time math.

ParametersJSON Schema
NameRequiredDescriptionDefault
slugNoProduct slug. Use with city_slug when product_id is unavailable.
as_ofNoPrevious ISO timestamp from stale card data; returns delta only when data changed.
freshNoWhen true, bypasses the 60-second cache and performs a live supplier check, subject to rate limits.
date_toNoEnd date in YYYY-MM-DD. Defaults to 14 days after date_from and is capped to a 365-day window.
city_slugNoCity slug required when slug is used.
date_fromNoStart date in YYYY-MM-DD. Defaults to today.
party_sizeNoNumber of guests. Default 2.
product_idNoStable product_id from a search or details response. Preferred when available.
preferred_timeNoOptional broad time preference such as morning, afternoon, or evening.
idempotency_keyNoOptional UUID. Reuse for identical responses within five minutes.
get_city_guide
Read-onlyIdempotent
Inspect

Use this when the user wants an orientation overview of a city for trip planning. Returns a ranked list of the city's most popular bookable experiences (search rows); derive the dominant categories and price levels from those rows rather than expecting a structured guide payload.

ParametersJSON Schema
NameRequiredDescriptionDefault
cityYesCity slug.
formatNoResponse shape. 'json' returns structured records; 'text' returns the same content rendered as a short narrative paragraph for chat surfaces.json
languageNoBCP-47 language code for human-readable fields (e.g., 'en', 'fr-FR'). Defaults to English when omitted.
get_date_night
Read-onlyIdempotent
Inspect

Use this when the user wants an evening for two. Returns a flat ranked list of evening-appropriate experiences (search rows), not a structured pre-dinner/dinner/show arc, and rows are not guaranteed couples-filtered. Compose the evening yourself (search_by_mood with mood 'romantic' can bias the pool).

ParametersJSON Schema
NameRequiredDescriptionDefault
cityYesCity slug.
dateNoOptional ISO date (YYYY-MM-DD).
budgetNoBudget band. 'low' = under 100 per person, 'medium' = 100-200, 'high' = 200+. In the listed currency.
formatNoResponse shape. 'json' returns structured records; 'text' returns the same content rendered as a short narrative paragraph for chat surfaces.json
languageNoBCP-47 language code for human-readable fields (e.g., 'en', 'fr-FR'). Defaults to English when omitted.
get_experience_details
Read-onlyIdempotent
Inspect

Use this when the user selects a specific experience from search results and needs richer product, location, supplier, and booking fields. Accepts either product_id or slug.

ParametersJSON Schema
NameRequiredDescriptionDefault
slugNoProduct slug from a previous search result.
formatNoResponse shape. 'json' returns structured records; 'text' returns the same content rendered as a short narrative paragraph for chat surfaces.json
languageNoBCP-47 language code for human-readable fields (e.g., 'en', 'fr-FR'). Defaults to English when omitted.
product_idNoStable product_id from a previous search result.
get_family_day
Read-onlyIdempotent
Inspect

Use this when the user wants family-suitable options for a day in one city. Returns a flat ranked list of family-appropriate experiences (search rows), not a structured morning/lunch/afternoon/evening plan. Compose the day yourself and verify age suitability per pick via get_experience_details.

ParametersJSON Schema
NameRequiredDescriptionDefault
cityYesCity slug.
dateNoOptional ISO date (YYYY-MM-DD).
budgetNoOptional max budget in the listed currency.
formatNoResponse shape. 'json' returns structured records; 'text' returns the same content rendered as a short narrative paragraph for chat surfaces.json
languageNoBCP-47 language code for human-readable fields (e.g., 'en', 'fr-FR'). Defaults to English when omitted.
kids_agesNoChildren's ages. Drives age-suitability filtering on each slot.
get_hidden_gems
Read-onlyIdempotent
Inspect

Use this when the user wants lower-profile options rather than headline bestsellers. Excludes Bestseller, hop-on-hop-off, and CityPass tagged products and prefers highly rated rows with fewer reviews; falls back to the standard ranked list when a city has too few qualifying rows (results may then overlap with headline search).

ParametersJSON Schema
NameRequiredDescriptionDefault
cityYesCity slug.
formatNoResponse shape. 'json' returns structured records; 'text' returns the same content rendered as a short narrative paragraph for chat surfaces.json
languageNoBCP-47 language code for human-readable fields (e.g., 'en', 'fr-FR'). Defaults to English when omitted.
max_resultsNoDefault 5, max 20.
get_last_minute
Read-only
Inspect

Use this when the user wants something to do within the next few hours. Returns currently-on-sale experiences with seasonal products filtered out, ranked by popularity. Rows may include start_time, countdown_text, and seats_remaining hints when known, but none are guaranteed: confirm the selected experience with get_availability before stating it starts soon or is available today.

ParametersJSON Schema
NameRequiredDescriptionDefault
cityYesCity slug.
hoursNoHow many hours ahead to look (1-12). Default 3.
formatNoResponse shape. 'json' returns structured records; 'text' returns the same content rendered as a short narrative paragraph for chat surfaces.json
languageNoBCP-47 language code for human-readable fields (e.g., 'en', 'fr-FR'). Defaults to English when omitted.
latitudeNoOptional latitude to bias toward nearby venues.
longitudeNoOptional longitude to bias toward nearby venues.
get_transfer_info
Read-onlyIdempotent
Inspect

Use this when the user is arriving in a supported city and needs transfer guidance from an airport, station, or port to a hotel coordinate. Returns taxi, metro, bus, and train estimates with durations, costs, and directions.

ParametersJSON Schema
NameRequiredDescriptionDefault
cityYesSupported city: London, Paris, New York, Amsterdam, Barcelona, Rome, or Tokyo.
formatNoResponse shape. 'json' returns structured records; 'text' returns the same content rendered as a short narrative paragraph for chat surfaces.json
languageNoBCP-47 language code for human-readable fields (e.g., 'en', 'fr-FR'). Defaults to English when omitted.
from_typeYesArrival hub type.
to_latitudeYesHotel latitude.
to_longitudeYesHotel longitude.
get_travel_tips
Read-onlyIdempotent
Inspect

Use this when the user asks practical logistics questions about a city. Currently returns a ranked list of relevant bookable experiences (search rows); the topic filter is accepted but not yet applied, and the payload contains no tips text, emergency numbers, or phrases.

ParametersJSON Schema
NameRequiredDescriptionDefault
cityYesCity slug.
topicNoOptional topic filter. When omitted, returns a summary across all topics.
formatNoResponse shape. 'json' returns structured records; 'text' returns the same content rendered as a short narrative paragraph for chat surfaces.json
languageNoBCP-47 language code for human-readable fields (e.g., 'en', 'fr-FR'). Defaults to English when omitted.
get_whats_on_this_week
Read-only
Inspect

Use this when the user wants ideas for the coming week in a city. Returns a ranked list of currently on-sale experiences (search rows), not a day-by-day calendar. Assemble any weekly structure yourself and verify specific dates with get_availability.

ParametersJSON Schema
NameRequiredDescriptionDefault
cityYesCity slug.
formatNoResponse shape. 'json' returns structured records; 'text' returns the same content rendered as a short narrative paragraph for chat surfaces.json
languageNoBCP-47 language code for human-readable fields (e.g., 'en', 'fr-FR'). Defaults to English when omitted.
list_cities
Read-onlyIdempotent
Inspect

Use this when the user wants to browse supported cities before searching. Returns city names, slugs, country codes, and product counts.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNoMaximum number of cities to return (1-50). Defaults to 50 when omitted.
formatNoResponse shape. 'json' returns structured records; 'text' returns the same content rendered as a short narrative paragraph for chat surfaces.json
countryNoOptional country code or country name filter.
languageNoBCP-47 language code for human-readable fields (e.g., 'en', 'fr-FR'). Defaults to English when omitted.
plan_itinerary
Read-onlyIdempotent
Inspect

Use this when the user wants a multi-day plan for a single city. Returns a flat ranked candidate list of experiences (search rows), not structured day slots or a running cost. Arrange the candidates into days yourself and compute totals only from returned price fields.

ParametersJSON Schema
NameRequiredDescriptionDefault
cityYesCity slug.
daysYesNumber of days to plan (1-7).
paceNoItinerary density. relaxed = 1-2 stops per day, packed = 4-5.
budgetNoBudget band per day per person.
formatNoResponse shape. 'json' returns structured records; 'text' returns the same content rendered as a short narrative paragraph for chat surfaces.json
audienceNoTarget audience. Currently 'family' is the strongest signal in the catalogue (resolves via the 'family' tag, ~3,200 products). Other values are best-effort and may be sparsely populated; for guaranteed family-suitable results prefer tags=['family'] in addition to or instead of this filter.
languageNoBCP-47 language code for human-readable fields (e.g., 'en', 'fr-FR'). Defaults to English when omitted.
interestsNoFree-text interest seed, e.g., "history, food, river".
recommend_experiences
Read-onlyIdempotent
Inspect

Use this when the user describes what they want in natural language rather than naming a category. Parses the query for audience, mood, constraints, occasion, and time of day, then returns scored recommendations with a reason field explaining the match.

ParametersJSON Schema
NameRequiredDescriptionDefault
paxNoNumber of people. Default 2.
cityNoOptional city slug. If omitted, the city is parsed from the query.
dateNoOptional ISO date (YYYY-MM-DD) for availability-aware ranking.
limitNoNumber of recommendations to return (1-20). Default 5.
queryYesNatural-language preference, e.g., "romantic evening in Paris under 100 euros" or "rainy day in Edinburgh with kids 8 and 12".
formatNoResponse shape. 'json' returns structured records; 'text' returns the same content rendered as a short narrative paragraph for chat surfaces.json
languageNoBCP-47 language code for human-readable fields (e.g., 'en', 'fr-FR'). Defaults to English when omitted.
render_experience_cards
Read-onlyIdempotent
Inspect

Use this immediately after ANY discovery or search tool (search_experiences, whats_on_tonight, get_last_minute, get_whats_on_this_week, recommend_experiences, search_by_mood, get_hidden_gems, get_family_day, get_date_night, search_local_experiences) returns results. It is the only tool that displays the visual experience cards, so always call it once for every result set you want shown. Take the experience_ids those tools provide and render them; pass the product_id values exactly as returned by those tools, never full product rows. Only experience_ids and render_type are required. Optionally pass render_context.intent_summary (a short phrase describing what the user asked for, e.g. city, date, audience) to set the carousel heading. Call it exactly once per result set, and do not also re-list the experiences as text.

ParametersJSON Schema
NameRequiredDescriptionDefault
render_typeYesVisual layout requested for the widget.
experience_idsYesThe stable product_id values from search_experiences results (the product_id field of each returned row). Pass IDs only, never full product rows.
render_contextNo
idempotency_keyNoOptional UUID. Reuse for identical card render responses within five minutes.

Output Schema

ParametersJSON Schema
NameRequiredDescription
experience_idsYesThe stable product ids rendered as cards.
report_quality_signal
Idempotent
Inspect

Use this to push a quality signal back to tickadoo about an experience or recommendation you previously surfaced. Examples: stale availability, a failed click-through, a supplier outage, or misleading content. Requires a real forward-event request_id returned within the last 30 days. Repeating the same signal for the same request is idempotent per caller.

ParametersJSON Schema
NameRequiredDescriptionDefault
notesNoOptional free-text context. Required when signal_type is "other". Do not include PII.
request_idYesThe request_id from a forward tool result in the last 30 days. Format: rq_YYYY_MM_DD_HHMMSS_<6-hex>.
signal_typeYesThe kind of issue you are reporting. Use "other" only when none of the specific types fit, and always include notes.
search_by_mood
Read-onlyIdempotent
Inspect

Use this when the user describes the feeling or vibe they want rather than a category, such as romantic, relaxing, adventurous, family fun, foodie, luxury, or rainy day. Maps the mood to preset search filters and returns matching experiences.

ParametersJSON Schema
NameRequiredDescriptionDefault
cityYesCity name or slug, e.g. "london", "new-york", or "paris".
moodYesMood preset. Valid values: adventurous, romantic, relaxing, family_fun, cultural, thrill_seeking, foodie, budget_friendly, luxury, rainy_day.
limitNoMaximum number of experiences to return (1-50). Defaults to the mood preset size when omitted.
formatNoResponse shape. 'json' returns structured records; 'text' returns the same content rendered as a short narrative paragraph for chat surfaces.json
languageNoBCP-47 language code for human-readable fields (e.g., 'en', 'fr-FR'). Defaults to English when omitted.
search_experiences
Read-onlyIdempotent
Inspect

Use this when the user names a city plus a category, query, or filter set and wants a ranked list of bookable experiences. Returns products each with a stable product_id, plus name, slug, city, category, price, rating, review count, and tags. To show the results as visual cards, pass the product_id values from these results into render_experience_cards (experience_ids). Pair with get_experience_details for richer fields.

ParametersJSON Schema
NameRequiredDescriptionDefault
cityNoCity slug, e.g., "london", "new-york", "paris".
tagsNoFilter by experience tags. Multiple tags are AND-combined (every tag must match) so adding more tags narrows the result set. Use lowercase singular forms; matching is substring-based against the tag array. The canonical tag taxonomy in the catalogue, ordered by frequency, is: 'tour', 'attraction', 'historical', 'outdoor', 'museum', 'family', 'landmark', 'adventure', 'show', 'indoor', 'food & drink', 'transport', 'theatre', 'concert', 'theme park', 'cruise', 'nightlife', 'comedy', 'musical', 'city pass', 'sport', 'dance', 'aquarium', 'zoo', 'gallery', 'opera', 'wellness', 'water park', 'workshop', 'religious', 'festival'. Examples: ['museum'] for museums; ['family','indoor'] for indoor family attractions; ['outdoor','adventure'] for outdoor adventure activities. Other free-form values may match by substring but are not guaranteed.
limitNoNumber of results to return (1-50). Default 10.
queryNoFree-text query matched against title, venue, and description.
formatNoResponse shape. 'json' returns structured records; 'text' returns the same content rendered as a short narrative paragraph for chat surfaces.json
categoryNoCategory slug, e.g., "theatre", "tours", "museums", "attractions".
languageNoBCP-47 language code for human-readable fields (e.g., 'en', 'fr-FR'). Defaults to English when omitted.
max_priceNoMaximum price per person in the listed currency. A positive value applies a cap; 0 (or unset) means no price cap (unbounded).
min_ratingNoMinimum aggregate rating on a 0-5 scale.
popular_onlyNoDEPRECATED: use restrict_to_top_rated. Alias for the destructive top-rated filter (rating >= 4.5 AND review_count >= 100). The name implies a sort hint but it is a hard WHERE clause. Existing callers continue to work unchanged.
indoor_outdoorNoSetting filter. 'indoor' / 'outdoor' resolve via the products.tags column (~2,100 indoor and ~5,000 outdoor products are tagged in the catalogue). 'either' applies no filter.
min_review_countNoMinimum number of customer reviews. Use to filter out new or sparsely-reviewed products.
restrict_to_top_ratedNoDESTRUCTIVE FILTER. When true, hard-restricts results to products with rating >= 4.5 AND review_count >= 100. This is a WHERE clause, not a sort hint. Anything failing the floor is dropped from the result set entirely. Use only when the caller genuinely wants to exclude lower-rated or lesser-reviewed products. For ranking-by-popularity without exclusion, do not set this; results are already ordered by rating and review count.

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultsNoRanked bookable experiences.
paginationNo
search_local_experiences
Read-onlyIdempotent
Inspect

Use this when the user mentions a place, neighbourhood, landmark, or area but does not give exact coordinates. Examples: 'near the Louvre', 'in Trastevere', 'around Times Square', "walking distance from St Paul's Cathedral". Returns experiences matched first by exact venue/neighbourhood, then by city centre fallback. Do not use for general city-wide search; use search_experiences for that.

ParametersJSON Schema
NameRequiredDescriptionDefault
cityNoCity slug or name to disambiguate. Recommended for any place_hint that could exist in multiple cities.
tagsNoFilter by experience tags. Multiple tags are AND-combined (every tag must match) so adding more tags narrows the result set. Use lowercase singular forms; matching is substring-based against the tag array. The canonical tag taxonomy in the catalogue, ordered by frequency, is: 'tour', 'attraction', 'historical', 'outdoor', 'museum', 'family', 'landmark', 'adventure', 'show', 'indoor', 'food & drink', 'transport', 'theatre', 'concert', 'theme park', 'cruise', 'nightlife', 'comedy', 'musical', 'city pass', 'sport', 'dance', 'aquarium', 'zoo', 'gallery', 'opera', 'wellness', 'water park', 'workshop', 'religious', 'festival'. Examples: ['museum'] for museums; ['family','indoor'] for indoor family attractions; ['outdoor','adventure'] for outdoor adventure activities. Other free-form values may match by substring but are not guaranteed.
limitNo
formatNoResponse shape. 'json' returns structured records; 'text' returns the same content rendered as a short narrative paragraph for chat surfaces.json
date_toNo
languageNoBCP-47 language code for human-readable fields (e.g., 'en', 'fr-FR'). Defaults to English when omitted.
date_fromNo
place_hintYesFree-text place reference: a landmark, neighbourhood, monument, station, or street name. E.g. 'Louvre Museum', 'Trastevere', 'Soho', 'Times Square'. Required.
radius_hintNoOptional: how broadly to interpret the place_hint. 'walking' is ~1km, 'short_drive' is ~5km, 'city_wide' falls back to the whole city. Default 'walking'.
neighbourhoodNoOptional: a known neighbourhood within the city to narrow results.
whats_on_tonight
Read-only
Inspect

Use this when the user asks what is on in a city tonight. Returns evening-appropriate experiences currently on sale, with seasonal products filtered out and evening-led options ranked first. Top results carry start_time (venue-local) when the live supplier calendar confirms a performance in the evening window (late afternoon onward), and timed rows sort soonest-first; rows without start_time have no confirmed evening time. Confirm the selected experience with get_availability before stating it is bookable tonight.

ParametersJSON Schema
NameRequiredDescriptionDefault
cityYesCity slug.
formatNoResponse shape. 'json' returns structured records; 'text' returns the same content rendered as a short narrative paragraph for chat surfaces.json
categoryNoOptional category slug to narrow results.
languageNoBCP-47 language code for human-readable fields (e.g., 'en', 'fr-FR'). Defaults to English when omitted.
max_resultsNoDefault 10, max 30.

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultsNoRanked bookable experiences.
paginationNo

Discussions

No comments yet. Be the first to start the discussion!

Related MCP Servers

View all MCP Servers

Try in Browser

Your Connectors

Sign in to create a connector for this server.