tickadoo
OfficialThe tickadoo® MCP Server enables AI assistants to search, discover, and book live experiences (theater, shows, tours, attractions) across 680+ cities worldwide, with 13,090+ products in 40+ languages. No API keys or authentication required.
Experience Discovery & Search
Search by city with 11 filters (audience, setting, wheelchair accessibility, physical level, duration, language, rating, cancellation, price, tags, category) and 6 sort options
Find nearby experiences using latitude/longitude with configurable radius and date filtering
Search by emotional intent/mood (romantic, relaxing, budget_friendly, rainy_day)
Find last-minute experiences starting within hours, or a 7-day city planner broken down by time of day
Information & Planning
Browse 680+ supported cities with optional filtering
Get detailed experience info: availability, pricing, venue details, images, and booking URLs (up to 180 days ahead)
Check date-specific availability with party-size-aware pricing
Compare 2–5 experiences side-by-side (best value, highest rated, most popular, family fit)
Access curated city guides with highlights, category mix, pricing ranges, and insider tips
Get local travel tips covering transport, money, safety, culture, food, and emergency info for 20 launch cities
Retrieve transfer estimates (taxi, metro, bus, train) from airports/stations to hotels
Plan family days with age-aware filtering and geographic clustering
AI Integration Features
Agent Intelligence Layer: dynamic filters, conversation starters, related searches, booking urgency signals, and smart filter recovery
Direct booking deep links and Ghost Checkout support
Accessibility data for 30 London theatre venues
Machine-readable product feed in OpenAI Commerce Product Feed format
Connectable via remote HTTP endpoint or local stdio (Claude, ChatGPT, Gemini, Perplexity)
Enables integration with tickadoo's MCP server through HTTP configuration, allowing AI-powered development environments to access live experience discovery and booking capabilities.
Supports integration with tickadoo's MCP server through HTTP configuration in Firebase Studio, enabling AI-assisted development workflows with access to global experience discovery.
Enables ChatGPT Pro, Business, Enterprise, and Edu plans to connect to tickadoo's MCP server through developer mode, allowing AI assistants to search and recommend experiences across 680+ cities.
Provides Perplexity AI with custom connector support for tickadoo's MCP server, enabling paid subscribers to search and discover bookable experiences worldwide during conversations.
Hosts the tickadoo MCP server landing page and provides the infrastructure for the remote HTTP endpoint that serves AI clients worldwide.
tickadoo MCP Server
@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/mcpAgent Plugins 1.0
This repository is also a portable Agent Plugins 1.0.0 package. Compatible
clients discover the root plugin.json, the seven workflows in
skills/, and the credential-free Streamable HTTP configuration in
mcp.json. Current Codex marketplace ingestion uses the parallel
.codex-plugin/plugin.json adapter; the portable root manifest remains the
vendor-neutral source of truth.
Run npm run test:plugin to validate the package against the vendored official
schemas and its containment, discovery, transport, and secret-safety checks.
The same command verifies the exact npm tarball contents and the provider-neutral
acceptance corpus in evals/agent-plugin-scenarios.json.
See docs/agent-plugins.md for the architecture
decision, compatibility evidence, update/rollback process, and follow-ups.
The package no longer defines tools, formats catalogue data, or calls a local tickadoo backend. It connects to the remote Streamable HTTP MCP server and proxies tools/list, tools/call, resources/list, resources/read, and ping. The live remote owns the tool list, schemas, results, and errors.
No API key is required.
Related MCP server: Ticketmaster Partner API
Install
Use the hosted remote directly when your MCP client supports Streamable HTTP:
{
"mcpServers": {
"tickadoo": {
"url": "https://mcp.tickadoo.com/mcp"
}
}
}Use the npm package when your MCP client needs a local stdio command:
{
"mcpServers": {
"tickadoo": {
"command": "npx",
"args": ["-y", "@tickadoo/mcp-server"]
}
}
}Use Gemini CLI:
gemini extensions install https://github.com/tickadoo/tickadoo-mcpConfiguration
Set TICKADOO_MCP_URL to point the bridge at another compatible Streamable HTTP MCP endpoint:
TICKADOO_MCP_URL=http://127.0.0.1:8787/mcp npx -y @tickadoo/mcp-serverSet TICKADOO_LOG_LEVEL=none to silence bridge status logs on stderr.
Local Development
npm install
npm run build
npm testRun the built stdio bridge:
node dist/index.jsRefresh the MCP registry metadata from the live remote:
npm run sync:server-jsonRun the optional live integration test:
LIVE=1 npm testLive Tools
The current tool list is served by the remote MCP server. Visit mcp.tickadoo.com or run npm run sync:server-json to refresh the registry metadata in this repo.
Privacy & Data Handling
No account or API key required. The server is read-mostly: it exposes tickadoo's public experiences catalogue (search, recommendations, availability, comparison, itineraries) and returns booking links — it does not collect, store, or require personal data to function.
What is sent: tool arguments (e.g. a city name, query text, or chosen experience id) are forwarded to the tickadoo backend to fulfil the request. The bridge adds no tracking and asks for no credentials.
First-party service. tickadoo is the operator of the catalogue and backend; supplier inventory is presented as tickadoo. Bookings are completed on tickadoo.com.
Full policy: tickadoo.com/privacy. Questions: support@tickadoo.com.
Available Tools
4 toolsfind_nearby_experiencesARead-onlyInspect
Find shows, events and experiences near a geographic location on tickadoo®. Use when a user shares their location or asks for things to do near them.
| Name | Required | Description | Default |
|---|---|---|---|
| latitude | Yes | Latitude | |
| longitude | Yes | Longitude | |
| radius_km | No | Search radius in km (default 25) | |
| language | No | Language code | en |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, openWorldHint=true, and destructiveHint=false, so the agent knows this is a safe, non-destructive query operation. The description adds context about location-based searching but doesn't disclose additional behavioral traits like rate limits, authentication needs, or result format. With annotations covering the core safety profile, a 3 is appropriate as the description provides some useful context without rich behavioral details.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences, front-loaded with the core purpose and followed by usage guidance. Every sentence earns its place by providing essential information without redundancy or fluff, making it highly efficient and easy to parse.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's moderate complexity (location-based search), rich annotations (read-only, open-world), and full schema coverage, the description is mostly complete. It lacks details on output format (no output schema provided) and doesn't mention pagination or result limits, but the purpose and usage are well-covered, making it adequate for agent selection.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, with all parameters (latitude, longitude, radius_km, language) documented in the schema. The description doesn't add meaning beyond the schema, such as explaining coordinate systems or language code specifics. Baseline 3 is correct when the schema fully describes parameters.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose: 'Find shows, events and experiences near a geographic location on tickadoo®.' It specifies the verb ('Find'), resource ('shows, events and experiences'), and context ('near a geographic location'), distinguishing it from sibling tools like get_experience_details (detail view) and list_cities (city listing).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides explicit usage guidance: 'Use when a user shares their location or asks for things to do near them.' This clearly indicates when to invoke this tool versus alternatives, helping the agent select it based on user context rather than other tools like search_experiences (which might not be location-based).
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_experience_detailsARead-onlyInspect
Get detailed availability, venue details, and images for a specific tickadoo® experience. Prefer passing the tickadoo slug or booking URL path; provider and provider_id are legacy fallback inputs.
| Name | Required | Description | Default |
|---|---|---|---|
| slug | No | Preferred: tickadoo slug or path, e.g. 'london-dungeon-tickets' or '/london/london-dungeon-tickets' | |
| provider | No | Legacy fallback only: hidden provider name used internally | |
| provider_id | No | Legacy fallback only: hidden provider-specific product ID | |
| days | No | Number of days of availability to fetch (default 30, max 180) | |
| language | No | Reserved for future language-aware API support | en |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations indicate read-only, non-destructive, and open-world behavior, which the description does not contradict. It adds context by specifying input preferences and the scope of data fetched (availability, venue details, images), enhancing 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is front-loaded with the core purpose and usage guidelines in two concise sentences, with no wasted words. Every sentence contributes directly to tool understanding and selection.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's complexity (5 parameters, no output schema) and rich annotations, the description is mostly complete. It covers purpose, usage, and input semantics well, but could benefit from mentioning potential outputs or limitations, though annotations help mitigate this gap.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With 100% schema description coverage, the schema fully documents all parameters. The description adds value by clarifying input preferences (slug as preferred, provider/provider_id as legacy fallbacks) but does not provide additional semantic details beyond what the schema already covers.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the specific action ('Get detailed availability, venue details, and images') and the resource ('a specific tickadoo® experience'), distinguishing it from sibling tools like find_nearby_experiences, list_cities, and search_experiences by focusing on details for a single experience rather than searching or listing.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It provides explicit guidance on when to use this tool by specifying preferred inputs ('tickadoo slug or booking URL path') and fallback options ('provider and provider_id are legacy fallback inputs'), helping the agent choose this over alternatives for retrieving detailed information on a known experience.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_citiesARead-onlyInspect
List all cities where tickadoo® has bookable experiences. Use to help users discover available destinations.
| Name | Required | Description | Default |
|---|---|---|---|
| language | No | Language code | en |
| query | No | Optional city name or slug filter (e.g. 'new', 'paris', 'tokyo') | |
| limit | No | Maximum number of cities to return (default 50) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, openWorldHint=true, and destructiveHint=false, covering safety and scope. The description adds minimal behavioral context beyond this, such as the purpose of 'discover available destinations,' but doesn't detail aspects like rate limits, authentication needs, or pagination behavior. It doesn't contradict annotations, so it meets the baseline for having annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise and front-loaded: two sentences that directly state the tool's purpose and usage without unnecessary details. Every sentence earns its place by providing essential information, making it efficient and well-structured.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's low complexity (a read-only list operation), rich annotations (covering safety and scope), and 100% schema coverage, the description is mostly complete. It lacks an output schema, but the description doesn't need to explain return values. However, it could be more complete by mentioning potential limitations or result formats, slightly reducing the score.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, meaning all parameters are well-documented in the schema itself. The description doesn't add any parameter-specific information beyond what's in the schema (e.g., it doesn't explain the 'query' parameter's filtering behavior in more detail). With high schema coverage, the baseline score is 3, as the description doesn't compensate but also doesn't need to.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose: 'List all cities where tickadoo® has bookable experiences.' It specifies the verb ('List') and resource ('cities'), and distinguishes it from siblings by focusing on destinations rather than experiences. However, it doesn't explicitly differentiate from potential sibling tools like 'search_cities' if they existed, so it's not a perfect 5.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides implied usage context: 'Use to help users discover available destinations.' This suggests it's for discovery purposes, but it doesn't explicitly state when to use this tool versus alternatives like 'search_experiences' or 'find_nearby_experiences' from the sibling list. No exclusions or clear alternatives are mentioned, leaving some ambiguity.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_experiencesARead-onlyInspect
Search for shows, theatre, events, tours and experiences in a specific city on tickadoo®. Use when a user asks what to do in a city, wants event/show recommendations, or is looking for tickets.
| Name | Required | Description | Default |
|---|---|---|---|
| city | Yes | City name or slug (e.g. 'london', 'new-york', 'paris', 'tokyo', 'dubai') | |
| language | No | Language code (e.g. 'en', 'de', 'fr', 'es') | en |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, openWorldHint=true, and destructiveHint=false, so the agent knows this is a safe, read-only search operation with open-world semantics. The description adds useful context about the types of content searched (shows, theatre, events, tours, experiences) and the tickadoo® platform, but doesn't provide additional behavioral details like rate limits, authentication needs, or pagination behavior.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is perfectly concise and front-loaded: the first sentence states the core functionality, and the second sentence provides clear usage guidelines. Every sentence earns its place with no wasted words or redundant information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given that this is a search tool with good annotations (read-only, open-world) and 100% schema coverage, the description provides adequate context about what's being searched and when to use it. However, without an output schema, the description doesn't explain what the search returns (e.g., result format, pagination), leaving a minor gap in completeness.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, with both parameters ('city' and 'language') fully documented in the schema. The description doesn't add any parameter-specific semantics beyond what's already in the schema (e.g., it doesn't explain city validation rules or language code formats). With complete schema coverage, the baseline score of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the specific action ('Search for shows, theatre, events, tours and experiences') and resource ('in a specific city on tickadoo®'), distinguishing it from siblings like 'find_nearby_experiences' (which implies proximity-based search) and 'get_experience_details' (which retrieves specific item details). The verb 'search' is precise and the resource scope is well-defined.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explicitly provides when-to-use guidance: 'Use when a user asks what to do in a city, wants event/show recommendations, or is looking for tickets.' This gives clear context for invocation and distinguishes it from alternatives like 'list_cities' (which lists available cities rather than searching within one).
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
TDQS
Each tool has a clearly distinct purpose with no overlap: find_nearby_experiences uses geographic location, get_experience_details retrieves details for a specific experience, list_cities enumerates available destinations, and search_experiences searches within a specific city. The descriptions explicitly differentiate their use cases, eliminating any ambiguity.
All tool names follow a consistent verb_noun pattern (e.g., find_nearby_experiences, get_experience_details, list_cities, search_experiences) with clear, descriptive verbs and nouns. There are no deviations in style or convention, making the set highly predictable and readable.
With 4 tools, the set is well-scoped for a ticketing/experience discovery server, covering key functionalities like location-based finding, detailed lookups, city listing, and city-specific searches. Each tool earns its place without redundancy or excessive complexity.
The tool surface covers core discovery and information retrieval workflows effectively, including location-based and city-specific searches, detailed views, and destination listing. A minor gap exists in booking or transaction capabilities, but agents can work around this for recommendation and exploration tasks.
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Connectors
Search & compare prices for tours, activities and tickets across multiple providers.
Free walking tours & activities in 1,000+ cities — live availability, ratings & booking links.
Discover and book 5,000+ curated local experiences across 500 US destinations.
French cultural events search with multi-reseller ticket price comparison (theatre, concerts...)
Related MCP Servers
- AlicenseBqualityFmaintenanceProvides tools for discovering events at Madison Square Garden via the Ticketmaster API, returning structured data with event details like name, date, price, and ticket purchase links.14,84525MIT
- AlicenseCqualityDmaintenanceEnables discovery and search of Ticketmaster events, venues, and attractions with advanced filtering options including date ranges, location-based search, and event classifications through the Ticketmaster Partner API.1MIT
- AlicenseAqualityBmaintenanceProvides music events, concerts, music festivals, nightclubs and other events information.172MIT
- AlicenseAqualityFmaintenanceReal-time last-minute tour and activity booking across 18 suppliers in 15 countries via the OCTO open standard. Search available slots, create Stripe checkout sessions, and check booking status.41MIT
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/tickadoo/tickadoo-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server