tickadoo Experiences and Events

io.github.tickadoo由 GitHub 帳號 tickadoo 發布v2.2.0更新於 Oct 25, 2026

Discover and book theatre, tours, attractions, and live experiences worldwide. No API key required.

發布方自己的服務:Events.Aero

已驗證Streamable HTTP可網頁執行位置與生活效率與工作流

概覽

AI 產生的概覽

tickadoo 遠端伺服器,讓助理在 1,100 多個城市搜尋、比較並查詢劇院、導覽和景點的可用性,並提供訂位連結

可以做什麼
依城市、關鍵字、主題、氛圍、街區、座標或自然語言需求搜尋和瀏覽體驗,包括今晚、最後時刻、本週、親子、約會之夜、私房精選清單,以及城市亮點和城市清單。並排比較 2 至 5 個產品,並取得相關體驗。讀取產品詳情、演出指南、週末劇院檔期和依場合推薦的劇碼,並可就劇院問題做自由文字諮詢。查詢單一產品或單一日期的最新可用性與價格,取得機場、車站或港口的交通轉乘估算。呈現視覺化體驗卡片,並回報可用性過期或點擊失敗等品質訊號。
適用情境
適合使用者規劃旅行或晚間活動、想找某城市可預訂的劇院、導覽或景點時使用,也適合需要比較、行程建議、可用性查詢或訂位連結而不必離開助理的情境。
執行需求
需要遠端 Streamable HTTP 端點;不需帳號或 API 金鑰。僅支援 stdio 的用戶端可使用 npm 橋接套件,需安裝 Node.js。需要能連線至 tickadoo 服務的網路。
安裝前請注意
城市名稱、查詢文字和體驗 ID 等工具參數會轉送至 tickadoo 後端。完整端點會回傳 tickadoo 訂位連結,結帳在 tickadoo.com 完成;另有僅供探索的端點不提供購買和結帳連結。橋接套件可透過 TICKADOO_MCP_URL 指向其他端點並轉送參數,因此只應使用可信任的端點。可用性和剩餘名額資料不保證準確,訂位前應再次確認。

安裝

在 SourceWeft 中

  1. 開啟 儀表板中的 tickadoo Experiences and Events,將其新增到工作區。
  2. 為需要使用其工具的對話啟用該服務。

Web executable,透過 Streamable HTTP。 遠端服務在工作區中設定後即可從網頁執行環境執行。

交給代理程式安裝

把這段提示詞貼上到 Claude Code、Codex、Cursor 等代理程式,或 SourceWeft 對話中。代理程式會讀取該伺服器的安裝指南,先向你展示發布者、端點和登入方式,經你同意後再把它新增到你的客戶端。金鑰不會寫進任何命令。

閱讀 https://sourceweft.com/mcp/io.github.tickadoo%2Ftickadoo-mcp/install.md,並按其中說明把這個 MCP 伺服器接入我的客戶端。修改任何設定之前,先告訴我它的發布者、端點和登入方式,等我確認。不要把 API 金鑰寫進命令或我會提交的檔案;問我金鑰應從哪裡取得。

檢視代理程式所依據的安裝指南

其他 MCP 客戶端

把它新增到你客戶端的 mcpServers 設定中。

{
  "mcpServers": {
    "tickadoo-experiences-and-events": {
      "type": "http",
      "url": "https://mcp.tickadoo.com/mcp"
    }
  }
}

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:

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

Or the npm bridge for stdio clients:

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

text
https://mcp.tickadoo.com/mcp

Meta Muse connector

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

https://raw.githubusercontent.com/tickadoo/tickadoo-mcp/main/connectors/muse/muse.md

Submit at muse.ai/platform using connectors/muse/SUBMISSION.md. No API key. Discovery is this MCP server; checkout stays on tickadoo.com.

Agent 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. The portable OpenAI/Codex package uses the separate discovery-only endpoint https://mcp.tickadoo.com/mcp/agents; it does not return direct purchase, transaction, or checkout links. OpenAI's plugin directory reads extensions.com.openai from the root manifest.

The npm stdio bridge, MCP Registry, Claude, the copy-ready Copilot cloud MCP adapter, Gemini, Smithery, Muse, and direct integrations retain the established full endpoint https://mcp.tickadoo.com/mcp. The Copilot portable-plugin marketplace entry installs the root public-agent package instead. The two surfaces are intentionally distinct. .codex-plugin/plugin.json remains the compatibility form of the portable public-agent package.

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, validation, release, and rollback process. The portal-only OpenAI handoff is in docs/openai-plugin-submission.md.

Direct OpenAI Agents API integrations that intentionally use the established full MCP surface are documented in docs/openai-agents-api.md. That integration is separate from the public Plugin Directory package. Use https://mcp.tickadoo.com/mcp — the bare host is a human-readable service landing page, not a Streamable HTTP endpoint.

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.

Install

Use the hosted remote directly when your MCP client supports Streamable HTTP:

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

Use the npm package when your MCP client needs a local stdio command:

json
{  "mcpServers": {    "tickadoo": {      "command": "npx",      "args": ["-y", "@tickadoo/mcp-server"]    }  }}

Use Gemini CLI:

bash
gemini extensions install https://github.com/tickadoo/tickadoo-mcp

Use Claude Code's supported marketplace flow:

bash
claude plugin marketplace add tickadoo/tickadoo-mcpclaude plugin install tickadoo@tickadoo-agent-plugins

Claude's native adapter explicitly uses HTTP transport and the full MCP URL:

json
{ "mcpServers": { "tickadoo": { "type": "http", "url": "https://mcp.tickadoo.com/mcp" } } }

Or add that full remote server to Claude Code directly. Claude Code skips a remote entry that has a url but no explicit type:

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

Configuration

Set TICKADOO_MCP_URL to point the bridge at another compatible Streamable HTTP MCP endpoint:

bash
TICKADOO_MCP_URL=http://127.0.0.1:8787/mcp npx -y @tickadoo/mcp-server

Only point TICKADOO_MCP_URL at endpoints you trust: the bridge forwards your tool arguments (city names, queries, experience IDs) to whichever endpoint is configured.

Set TICKADOO_LOG_LEVEL=none to silence bridge status logs on stderr.

Local Development

Use Node.js 22+ and install Python 3 with a python3 executable on PATH before running the checks. The registry read-back tests execute the workflow's Python verifier against local fixtures; the stdio bridge itself only needs Node.js.

bash
python3 --versionnpm installnpm run buildnpm test

Run the built stdio bridge:

bash
node dist/index.js

Refresh the MCP registry metadata from the live remote:

bash
npm run sync:server-json

Run the optional live integration test:

bash
LIVE=1 npm test

Live 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 full server is read-mostly: it exposes tickadoo's public experiences catalogue (search, recommendations, availability, comparison, itineraries) and may return tickadoo booking links. The portable public-agent endpoint is read-only and omits direct purchase, transaction, and checkout links. Neither surface requires personal data to perform discovery.
  • 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: [email protected].

來源:README.md,提交 cdb9b60

工具

27

search_experiences

Search experiences

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 for a free-text "what should I do" ask use recommend_experiences. When a query matches no name, results are the city top-picks flagged match_type "fallback_city_ranked" (reason_codes include "fallback_no_text_match") rather than a genuine match, so treat those as suggestions, not the thing asked for. 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.

輸入參數citytagslimitqueryformatcategorylanguagemax_pricemin_ratingpopular_onlyindoor_outdoormin_review_count另有 1 個

search_local_experiences

Search local experiences

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.

輸入參數citytagslimitformatdate_tolanguagedate_fromplace_hint必填radius_hintneighbourhood

find_nearby_experiences

Find nearby experiences

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.

輸入參數limitformatcategorylanguagelatitude必填longitude必填radius_km

whats_on_tonight

What is on tonight

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 carry start_time (venue-local) when the live supplier calendar confirms a performance in the evening window (late afternoon onward); a confirmed slot lifts a row, and timed rows sort soonest-first within one relevance band. Rows without start_time have no confirmed evening time. Confirm the selected experience with get_availability before stating it is bookable tonight.

輸入參數city必填formatcategorylanguagemax_results

get_last_minute

Last minute

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.

輸入參數city必填hoursformatlanguagelatitudelongitude

get_whats_on_this_week

This week

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

輸入參數city必填formatlanguage

recommend_experiences

Recommend experiences

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.

輸入參數paxcitydatelimitquery必填formatlanguage

get_city_highlights

City highlights

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.

輸入參數city必填formatlanguage

search_experiences_by_topic

City experience search

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 logistics guidance.

輸入參數city必填topicformatlanguage

compare_experiences

Compare experiences

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

輸入參數slugs必填formatlanguage

get_hidden_gems

Hidden gems

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

輸入參數city必填formatlanguagemax_results

get_family_day

Family day

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 season counts as current; `kids_ages` and `budget` are accepted but NOT yet applied, so compose the day yourself and verify age suitability per pick via get_experience_details.

輸入參數city必填datebudgetformatlanguagekids_ages

get_date_night

Date night

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 guaranteed couples-only. `date` selects which season counts as current; `budget` is accepted but NOT yet applied. Compose the evening yourself (search_by_mood with mood 'romantic' can bias the pool further).

輸入參數city必填datebudgetformatlanguage

get_itinerary_candidates

Itinerary candidates

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.

輸入參數city必填days必填pacebudgetformataudiencelanguageinterests

list_cities

List cities

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

輸入參數limitformatcountrylanguage

get_experience_details

Experience details

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.

輸入參數slugformatlanguageproduct_id

get_show_guide

Show guide

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

輸入參數slugcity_slugproduct_id

get_theatre_weekend

Theatre weekend

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.

輸入參數citylimitformatweekendlanguagecity_slug

ask_theatre_concierge

Theatre concierge

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.

輸入參數citylimitformatlanguagequestioncity_slug

find_theatre_for_occasion

Theatre for occasion

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.

輸入參數citydatelimitpartyformatlanguageoccasioncity_slug

get_availability

Get availability

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.

輸入參數slugas_offreshdate_tocity_slugdate_fromparty_sizeproduct_idpreferred_timeidempotency_key

check_availability

Check availability

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.

輸入參數date必填slug必填formatlanguageparty_size

search_by_mood

Search by mood

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.

輸入參數city必填mood必填limitformatlanguage

get_transfer_info

Transfer info

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.

輸入參數city必填formatlanguagefrom_type必填to_latitude必填to_longitude必填

render_experience_cards

Render experience cards

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 what the user asked for, such as city, date, or audience) to set the heading. Keep each result set to one card view to avoid duplicate cards; concise text context may accompany it.

輸入參數render_type必填experience_ids必填render_contextidempotency_key

report_quality_signal

Report quality signal

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.

輸入參數notesrequest_id必填signal_type必填

版本歷史

4
  1. v2.2.0最新Oct 25, 2026
  2. v2.1.1Oct 11, 2026
  3. v2.1.0Oct 9, 2026
  4. v1.3.0Sep 16, 2026

評分

已滿足適用檢查項的 100%

該評分衡量此收錄條目的完整程度,依據註冊中心條目、端點與公開來源計算得出。它不是對伺服器本身的評價,也不表示伺服器安全或目前可用:可連通性是帶日期的檢查結果,評分也不包含安裝量或使用者評價。

  • 近 30 天內可連通必需25 分
  • 已宣告認證方式必需10 分
  • 已列出工具必需15 分
  • 描述必需15 分
  • 圖示10 分
  • 文件15 分
  • 授權條款10 分

其他 Events 整合