tickadoo avatar

tickadoo Experiences and Events

tickadoo/tickadoo-mcp

This is a read-only travel and entertainment discovery layer that exposes 13,000+ bookable experiences across 681 cities through 17 MCP tools. You get structured search with 11 filters (audience, wheelchair access, price, duration, tags), mood-based discovery, availability checking with real pricing, and city guides with transport estimates. Every search response includes agent-oriented metadata like conversation starters, filter hints, and booking urgency signals. It returns checkout deep links but doesn't handle transactions. Useful when you're building assistants that need to answer "what should I do in Berlin this weekend" or "find wheelchair-accessible shows tonight" without maintaining your own activity inventory. Runs as hosted HTTP or local stdio, no API key required.

GitHub stars
2
tools
27
transport
HTTP
last updated
Oct 24, 2026

Install

From registry metadata
$ npx add-mcp https://mcp.tickadoo.com/mcp --name tickadoo-mcp

Run in your terminal. add-mcp asks which agents to add it to (Claude Code, Codex, Cursor and more). Add -g to install it for every project.

Review the command, arguments and environment values before installing. MCP servers run with your local permissions.

Other ways

Claude Code

$ claude mcp add --transport http tickadoo-mcp https://mcp.tickadoo.com/mcp

Run in your terminal. Add --scope user to make it available in every project.

Tools

Verified live · 27 tools

Verified live against the running server on Nov 6, 2026.

search_experiencesUse this when the user names a city plus a category, query, or filter set and wants a ranked list of bookable experiences. `query` matches on experience NAME (and venue), so it suits a title or keyword ("Lion King", "river cruise"); for mood or theme use search_by_mood, and fo...13 params

Use this when the user names a city plus a category, query, or filter set and wants a ranked list of bookable experiences. `query` matches on experience NAME (and venue), so it suits a title or keyword ("Lion King", "river cruise"); for mood or theme use search_by_mood, and fo...

Parameters* required
categorystring
Category slug, e.g., "theatre", "tours", "museums", "attractions".
citystring
City slug, e.g., "london", "new-york", "paris".
formatstring
Response shape. 'json' returns structured records; 'text' returns the same content rendered as a short narrative paragraph for chat surfaces.one of json · textdefault: json
indoor_outdoorstring
Setting 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.one of indoor · outdoor · either
languagestring
BCP-47 language code for human-readable fields (e.g., 'en', 'fr-FR'). Defaults to English when omitted.
limitinteger
Number of results to return (1-50). Default 10.default: 10
max_pricenumber
Maximum price per person in the listed currency. A positive value applies a cap; 0 (or unset) means no price cap (unbounded).
min_ratingnumber
Minimum aggregate rating on a 0-5 scale.
min_review_countinteger
Minimum number of customer reviews. Use to filter out new or sparsely-reviewed products.
popular_onlyboolean
DEPRECATED: use restrict_to_top_rated. Alias for the hard top-rated result filter (rating >= 4.5 AND review_count >= 100). The name implies a sort hint but it is a hard WHERE clause. Existing calle...
querystring
Free-text query matched against experience name and venue (not description). Split into words that must all match, so it suits a title or keyword; a query that matches no name returns city top-pick...
restrict_to_top_ratedboolean
HARD RESULT FILTER. When true, 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 resu...
tagsarray
Filter 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 ta...
search_local_experiencesUse 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/nei...10 params

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/nei...

Parameters* required
citystring
City slug or name to disambiguate. Recommended for any place_hint that could exist in multiple cities.
date_fromstring
Optional YYYY-MM-DD accepted for compatibility. This search does not apply a date window; use get_availability to check live dates for a selected product.
date_tostring
Optional YYYY-MM-DD accepted for compatibility. This search does not apply a date window; use get_availability to check live dates for a selected product.
formatstring
Response shape. 'json' returns structured records; 'text' returns the same content rendered as a short narrative paragraph for chat surfaces.one of json · textdefault: json
languagestring
BCP-47 language code for human-readable fields (e.g., 'en', 'fr-FR'). Defaults to English when omitted.
limitinteger
Number of results to return (1-50). Default 10.default: 10
neighbourhoodstring
Optional: a known neighbourhood within the city to narrow results.
place_hint*string
Free-text place reference: a landmark, neighbourhood, monument, station, or street name. E.g. 'Louvre Museum', 'Trastevere', 'Soho', 'Times Square'. Required.
radius_hintstring
Optional: how broadly to interpret the place_hint. 'walking' is ~1km, 'short_drive' is ~5km, 'city_wide' falls back to the whole city. Default 'walking'.one of walking · short_drive · city_wide
tagsarray
Filter 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 ta...
find_nearby_experiencesUse this when the client already holds exact latitude and longitude coordinates and wants experiences near that point. When only a place name, landmark, or neighbourhood is known, use search_local_experiences, which accepts coarse place hints and needs no coordinates.7 params

Use this when the client already holds exact latitude and longitude coordinates and wants experiences near that point. When only a place name, landmark, or neighbourhood is known, use search_local_experiences, which accepts coarse place hints and needs no coordinates.

Parameters* required
categorystring
Optional category slug.
formatstring
Response shape. 'json' returns structured records; 'text' returns the same content rendered as a short narrative paragraph for chat surfaces.one of json · textdefault: json
languagestring
BCP-47 language code for human-readable fields (e.g., 'en', 'fr-FR'). Defaults to English when omitted.
latitude*number
Latitude coordinate.
limitinteger
Number of results to return (1-50). Default 10.default: 10
longitude*number
Longitude coordinate.
radius_kmnumber
Search radius in kilometres.default: 5
whats_on_tonightUse this when the user asks what is on in a city tonight. Returns evening-appropriate experiences currently on sale, with out-of-season products filtered out, evening-led options ranked first, and multi-day passes, travel cards and transport products ranked last. Top results c...5 params

Use this when the user asks what is on in a city tonight. Returns evening-appropriate experiences currently on sale, with out-of-season products filtered out, evening-led options ranked first, and multi-day passes, travel cards and transport products ranked last. Top results c...

Parameters* required
categorystring
Optional category slug to narrow results.
city*string
City slug.
formatstring
Response shape. 'json' returns structured records; 'text' returns the same content rendered as a short narrative paragraph for chat surfaces.one of json · textdefault: json
languagestring
BCP-47 language code for human-readable fields (e.g., 'en', 'fr-FR'). Defaults to English when omitted.
max_resultsinteger
Default 10, max 30.default: 10
get_last_minuteUse 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:...6 params

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:...

Parameters* required
city*string
City slug.
formatstring
Response shape. 'json' returns structured records; 'text' returns the same content rendered as a short narrative paragraph for chat surfaces.one of json · textdefault: json
hoursinteger
How many hours ahead to look (1-12). Default 3.default: 3
languagestring
BCP-47 language code for human-readable fields (e.g., 'en', 'fr-FR'). Defaults to English when omitted.
latitudenumber
Optional latitude to bias toward nearby venues.
longitudenumber
Optional longitude to bias toward nearby venues.
get_whats_on_this_weekUse this when the user wants ideas for the coming week in a city. Returns a ranked list of currently on-sale experiences (search rows) with out-of-season products dropped, not a day-by-day calendar. Assemble any weekly structure yourself and verify specific dates with get_avai...3 params

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) with out-of-season products dropped, not a day-by-day calendar. Assemble any weekly structure yourself and verify specific dates with get_avai...

Parameters* required
city*string
City slug.
formatstring
Response shape. 'json' returns structured records; 'text' returns the same content rendered as a short narrative paragraph for chat surfaces.one of json · textdefault: json
languagestring
BCP-47 language code for human-readable fields (e.g., 'en', 'fr-FR'). Defaults to English when omitted.
recommend_experiencesUse 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.7 params

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.

Parameters* required
citystring
Optional city slug. If omitted, the city is parsed from the query.
datestring
Optional ISO date (YYYY-MM-DD) for availability-aware ranking.
formatstring
Response shape. 'json' returns structured records; 'text' returns the same content rendered as a short narrative paragraph for chat surfaces.one of json · textdefault: json
languagestring
BCP-47 language code for human-readable fields (e.g., 'en', 'fr-FR'). Defaults to English when omitted.
limitinteger
Number of recommendations to return (1-20). Default 5.default: 5
paxinteger
Number of people. Default 2.default: 2
query*string
Natural-language preference, e.g., "romantic evening in Paris under 100 euros" or "rainy day in Edinburgh with kids 8 and 12".
get_city_highlightsUse 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.3 params

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.

Parameters* required
city*string
City slug.
formatstring
Response shape. 'json' returns structured records; 'text' returns the same content rendered as a short narrative paragraph for chat surfaces.one of json · textdefault: json
languagestring
BCP-47 language code for human-readable fields (e.g., 'en', 'fr-FR'). Defaults to English when omitted.
search_experiences_by_topicUse this when the user asks for bookable experiences by keyword or topic in a city. Returns a ranked search of bookable experience rows. The topic argument is accepted but does no filtering, so every topic returns the same city ranking. The payload contains no tips text or log...4 params

Use this when the user asks for bookable experiences by keyword or topic in a city. Returns a ranked search of bookable experience rows. The topic argument is accepted but does no filtering, so every topic returns the same city ranking. The payload contains no tips text or log...

Parameters* required
city*string
City slug.
formatstring
Response shape. 'json' returns structured records; 'text' returns the same content rendered as a short narrative paragraph for chat surfaces.one of json · textdefault: json
languagestring
BCP-47 language code for human-readable fields (e.g., 'en', 'fr-FR'). Defaults to English when omitted.
topicstring
Optional topic keyword. Accepted but not applied: the search is not filtered by this value.one of transport · money · safety · culture · food · weather
compare_experiencesUse 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).3 params

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).

Parameters* required
formatstring
Response shape. 'json' returns structured records; 'text' returns the same content rendered as a short narrative paragraph for chat surfaces.one of json · textdefault: json
languagestring
BCP-47 language code for human-readable fields (e.g., 'en', 'fr-FR'). Defaults to English when omitted.
slugs*array
Product slugs from earlier search or recommend results.
get_hidden_gemsUse 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 ro...4 params

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 ro...

Parameters* required
city*string
City slug.
formatstring
Response shape. 'json' returns structured records; 'text' returns the same content rendered as a short narrative paragraph for chat surfaces.one of json · textdefault: json
languagestring
BCP-47 language code for human-readable fields (e.g., 'en', 'fr-FR'). Defaults to English when omitted.
max_resultsinteger
Default 5, max 20.default: 5
get_family_dayUse this when the user wants family-suitable options for a day in one city. Returns a flat ranked list of experiences (search rows) with family-tagged rows promoted and out-of-season products dropped, not a structured morning/lunch/afternoon/evening plan. `date` selects which...6 params

Use this when the user wants family-suitable options for a day in one city. Returns a flat ranked list of experiences (search rows) with family-tagged rows promoted and out-of-season products dropped, not a structured morning/lunch/afternoon/evening plan. `date` selects which...

Parameters* required
budgetnumber
Optional max budget in the listed currency.
city*string
City slug.
datestring
Optional ISO date (YYYY-MM-DD).
formatstring
Response shape. 'json' returns structured records; 'text' returns the same content rendered as a short narrative paragraph for chat surfaces.one of json · textdefault: json
kids_agesarray
Children's ages. Drives age-suitability filtering on each slot.
languagestring
BCP-47 language code for human-readable fields (e.g., 'en', 'fr-FR'). Defaults to English when omitted.
get_date_nightUse this when the user wants an evening for two. Returns a flat ranked list of experiences (search rows) with romantic-tagged rows promoted and out-of-season products dropped, not a structured pre-dinner/dinner/show arc. Promotion is a re-rank, not a filter, so rows are not gu...5 params

Use this when the user wants an evening for two. Returns a flat ranked list of experiences (search rows) with romantic-tagged rows promoted and out-of-season products dropped, not a structured pre-dinner/dinner/show arc. Promotion is a re-rank, not a filter, so rows are not gu...

Parameters* required
budgetstring
Budget band. 'low' = under 100 per person, 'medium' = 100-200, 'high' = 200+. In the listed currency.one of low · medium · high
city*string
City slug.
datestring
Optional ISO date (YYYY-MM-DD).
formatstring
Response shape. 'json' returns structured records; 'text' returns the same content rendered as a short narrative paragraph for chat surfaces.one of json · textdefault: json
languagestring
BCP-47 language code for human-readable fields (e.g., 'en', 'fr-FR'). Defaults to English when omitted.
get_itinerary_candidatesUse 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.8 params

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.

Parameters* required
audiencestring
Target 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 guaran...one of family · couple · solo · group · business
budgetstring
Budget band per day per person.one of low · medium · high
city*string
City slug.
days*integer
Number of days to plan (1-7).
formatstring
Response shape. 'json' returns structured records; 'text' returns the same content rendered as a short narrative paragraph for chat surfaces.one of json · textdefault: json
interestsstring
Free-text interest seed, e.g., "history, food, river".
languagestring
BCP-47 language code for human-readable fields (e.g., 'en', 'fr-FR'). Defaults to English when omitted.
pacestring
Itinerary density. relaxed = 1-2 stops per day, packed = 4-5.one of relaxed · moderate · packed
list_citiesUse this when the user wants to browse supported cities before searching. Returns city names, slugs, country codes, and product counts.4 params

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

Parameters* required
countrystring
Optional country code or country name filter.
formatstring
Response shape. 'json' returns structured records; 'text' returns the same content rendered as a short narrative paragraph for chat surfaces.one of json · textdefault: json
languagestring
BCP-47 language code for human-readable fields (e.g., 'en', 'fr-FR'). Defaults to English when omitted.
limitinteger
Maximum number of cities to return (1-50). Defaults to 50 when omitted.
get_experience_detailsUse 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.4 params

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.

Parameters* required
formatstring
Response shape. 'json' returns structured records; 'text' returns the same content rendered as a short narrative paragraph for chat surfaces.one of json · textdefault: json
languagestring
BCP-47 language code for human-readable fields (e.g., 'en', 'fr-FR'). Defaults to English when omitted.
product_idstring
Stable product_id from a previous search result.
slugstring
Product slug from a previous search result.
get_show_guideUse this when the user asks about a specific show: how long it is, age guidance, venue and address, typical curtain times and dark days, who it is good for, and this week's performances. One rich guide record fusing live catalogue data with theatre expertise. Accepts slug or p...3 params

Use this when the user asks about a specific show: how long it is, age guidance, venue and address, typical curtain times and dark days, who it is good for, and this week's performances. One rich guide record fusing live catalogue data with theatre expertise. Accepts slug or p...

Parameters* required
city_slugstring
City slug, required when slug is used (slugs are only unique per city).
product_idstring
Stable product_id from a previous search result.
slugstring
Product slug from a previous search result. Requires city_slug.
get_theatre_weekendUse this when the user asks what theatre is on this weekend or next. Server-side date math resolves the Friday/Saturday/Sunday dates; returns theatre shows in the city with scheduled performances on those days, grouped by day. Schedule data, not live seat inventory.6 params

Use this when the user asks what theatre is on this weekend or next. Server-side date math resolves the Friday/Saturday/Sunday dates; returns theatre shows in the city with scheduled performances on those days, grouped by day. Schedule data, not live seat inventory.

Parameters* required
citystring
City name, resolved to a slug.
city_slugstring
City slug, e.g. london.
formatstring
Response shape. 'json' returns structured records; 'text' returns the same content rendered as a short narrative paragraph for chat surfaces.one of json · textdefault: json
languagestring
BCP-47 language code for human-readable fields (e.g., 'en', 'fr-FR'). Defaults to English when omitted.
limitinteger
Max shows to return. Defaults to 20.
weekendstring
Which weekend. Defaults to this.one of this · next
ask_theatre_conciergeUse this when the user asks a free-text theatre question (best musical for kids, romantic show tonight, cheap comedy). Returns a concise grounded answer plus cited theatre products with booking URLs. Intent-aware (budget, audience, timeframe) via the concierge seam.6 params

Use this when the user asks a free-text theatre question (best musical for kids, romantic show tonight, cheap comedy). Returns a concise grounded answer plus cited theatre products with booking URLs. Intent-aware (budget, audience, timeframe) via the concierge seam.

Parameters* required
citystring
City name, resolved to a slug.
city_slugstring
City slug, e.g. london.
formatstring
Response shape. 'json' returns structured records; 'text' returns the same content rendered as a short narrative paragraph for chat surfaces.one of json · textdefault: json
languagestring
BCP-47 language code for human-readable fields (e.g., 'en', 'fr-FR'). Defaults to English when omitted.
limitinteger
Max cited products. Defaults to 5.
questionstring
Free-text theatre question, max 500 chars.
find_theatre_for_occasionUse this when the user has an occasion: family outing, date night, group celebration, solo culture trip, business entertainment. Returns ranked theatre shows with fit scores and reasons, honouring party ages and an optional date.8 params

Use this when the user has an occasion: family outing, date night, group celebration, solo culture trip, business entertainment. Returns ranked theatre shows with fit scores and reasons, honouring party ages and an optional date.

Parameters* required
citystring
City name, resolved to a slug.
city_slugstring
City slug, e.g. london.
datestring
ISO date or natural language like this Saturday.
formatstring
Response shape. 'json' returns structured records; 'text' returns the same content rendered as a short narrative paragraph for chat surfaces.one of json · textdefault: json
languagestring
BCP-47 language code for human-readable fields (e.g., 'en', 'fr-FR'). Defaults to English when omitted.
limitinteger
Max shows. Defaults to 10.
occasionstring
one of family_outing · date_night · group_celebration · solo_culture · business_entertainment
partyobject
get_related_experiencesUse this when a widget or client holds a selected product_id and needs related products to pair with it, do after it, find nearby, or find similar alternatives. Returns cached graph and semantic related products for trio-style widgets.5 params

Use this when a widget or client holds a selected product_id and needs related products to pair with it, do after it, find nearby, or find similar alternatives. Returns cached graph and semantic related products for trio-style widgets.

Parameters* required
contextstring
Relationship type: pair, after, nearby, or similar.one of pair · after · nearby · similardefault: pair
formatstring
Response shape. 'json' returns structured records; 'text' returns the same content rendered as a short narrative paragraph for chat surfaces.one of json · textdefault: json
languagestring
BCP-47 language code for human-readable fields (e.g., 'en', 'fr-FR'). Defaults to English when omitted.
max_resultsinteger
Number of related products to return. Default 6, max 10.default: 6
product_id*string
Stable product_id or slug for the source experience.
get_availabilityUse 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): amou...10 params

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): amou...

Parameters* required
as_ofstring
Previous ISO timestamp from stale card data; returns a delta when a retained cacheable snapshot changed. Live-only inventory does not retain snapshots and omits this delta.
city_slugstring
City slug required when slug is used.
date_fromstring
Start date as YYYY-MM-DD, or a natural-language phrase the server resolves: today, tomorrow, this Saturday, next Friday, this weekend, next weekend. Defaults to today.
date_tostring
End date as YYYY-MM-DD or a natural-language phrase (same as date_from). Defaults to 14 days after date_from and is capped to a 365-day window.
freshboolean
When true, bypasses the 60-second cache and performs a live supplier check, subject to rate limits. Live-only inventory is always checked live regardless of this flag.default: false
idempotency_keystring
Optional UUID. Cacheable inventory may reuse an identical response for up to five minutes; live-only inventory always rechecks and never replays a resolved response.
party_sizeinteger
Number of guests. Default 2.default: 2
preferred_timestring
Optional broad time preference such as morning, afternoon, or evening.
product_idstring
Stable product_id from a search or details response. Preferred when available.
slugstring
Product slug. Use with city_slug when product_id is unavailable.
check_availabilityUse this when the user has picked a specific experience and asks about exactly one date: whether it is available that day, what it costs for a party, or a booking link for that date. For browsing a date range or listing upcoming times and live slot prices, use get_availability.5 params

Use this when the user has picked a specific experience and asks about exactly one date: whether it is available that day, what it costs for a party, or a booking link for that date. For browsing a date range or listing upcoming times and live slot prices, use get_availability.

Parameters* required
date*string
Date to check as YYYY-MM-DD, or a natural-language phrase the server resolves: today, tomorrow, this Saturday, next Friday, this weekend, next weekend.
formatstring
Response shape. 'json' returns structured records; 'text' returns the same content rendered as a short narrative paragraph for chat surfaces.one of json · textdefault: json
languagestring
BCP-47 language code for human-readable fields (e.g., 'en', 'fr-FR'). Defaults to English when omitted.
party_sizeinteger
Number of guests or tickets to price. Default 2.default: 2
slug*string
Product slug or legacy booking path, e.g. "london-dungeon-tickets" or "/london/london-dungeon-tickets".
search_by_moodUse 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.5 params

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.

Parameters* required
city*string
City name or slug, e.g. "london", "new-york", or "paris".
formatstring
Response shape. 'json' returns structured records; 'text' returns the same content rendered as a short narrative paragraph for chat surfaces.one of json · textdefault: json
languagestring
BCP-47 language code for human-readable fields (e.g., 'en', 'fr-FR'). Defaults to English when omitted.
limitinteger
Maximum number of experiences to return (1-50). Defaults to the mood preset size when omitted.
mood*string
Mood preset. Valid values: adventurous, romantic, relaxing, family_fun, cultural, thrill_seeking, foodie, budget_friendly, luxury, rainy_day.one of adventurous · romantic · relaxing · family_fun · cultural · thrill_seeking
get_transfer_infoUse 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.6 params

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.

Parameters* required
city*string
Supported city: London, Paris, New York, Amsterdam, Barcelona, Rome, or Tokyo.
formatstring
Response shape. 'json' returns structured records; 'text' returns the same content rendered as a short narrative paragraph for chat surfaces.one of json · textdefault: json
from_type*string
Arrival hub type.one of airport · station · port
languagestring
BCP-47 language code for human-readable fields (e.g., 'en', 'fr-FR'). Defaults to English when omitted.
to_latitude*number
Hotel latitude.
to_longitude*number
Hotel longitude.
render_experience_cardsUse when visual cards would help present a discovery result from a supported search tool. Pass the product_id values from that result as experience_ids, never full product rows, and choose a render_type. Optionally pass render_context.intent_summary (a short phrase describing...4 params

Use when visual cards would help present a discovery result from a supported search tool. Pass the product_id values from that result as experience_ids, never full product rows, and choose a render_type. Optionally pass render_context.intent_summary (a short phrase describing...

Parameters* required
experience_ids*array
The stable product_id values from search_experiences results (the product_id field of each returned row). Pass IDs only, never full product rows.
idempotency_keystring
Optional UUID. Reuse for identical card render responses within five minutes.
render_contextobject
Optional rendering hints that shape the card heading and sort explanation: intent_summary, date_hint, audience_hint, sort_basis.
render_type*string
Visual layout requested for the widget.one of carousel · grid · comparison · single
report_quality_signalUse 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 3...3 params

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 3...

Parameters* required
notesstring
Optional free-text context. Required when signal_type is "other". Do not include PII.
request_id*string
The request_id from a forward tool result in the last 30 days. Current format: rq_YYYY_MM_DD_HHMMSS_<12-hex>; legacy 6-hex ids remain valid.
signal_type*string
The kind of issue you are reporting. Use "other" only when none of the specific types fit, and always include notes.one of stale_availability · post_click_failure · supplier_outage · content_quality_issue · duplicate_listing · price_mismatch

Sponsors

Readme

tickadoo MCP: live experiences for AI assistants

tickadoo's MCP server lets AI assistants discover and compare theatre, tours, attractions, hidden gems, and other live experiences worldwide. The full MCP surface can return live availability and tickadoo booking links. No account or API key is required.

Try it

  • "What's on in London tonight?"
  • "Plan a 3-day food itinerary in Paris."
  • "Compare walking tours in Rome."

Connect

Remote (Streamable HTTP), no install:

{ "mcpServers": { "tickadoo": { "url": "https://mcp.tickadoo.com/mcp" } } }

Or the npm bridge for stdio clients:

npx -y @tickadoo/mcp-server

tickadoo MCP Server

Listed on mcpservers.org

@tickadoo/mcp-server is the local stdio entrypoint for tickadoo MCP. Since v2.0.0 it is a thin bridge to the canonical remote server at:

https://mcp.tickadoo.com/mcp

Meta Muse connector

Directory submission pack and the brief Muse should fetch live in connectors/muse/. Stable brief:


View the full README on GitHub

Details

Repository
github.com/tickadoo/tickadoo-mcp
Website
mcp.tickadoo.com
Transport
HTTP
Registry
MCP registry, active
Resources
4
Tools verified
Nov 6, 2026