Verified events from the What's On sites in 14 cities across Asia and the US.
Maintain this server? Claim it
Call this server's tools from your browser. Nothing to install.
Requests go through mcptry because browsers can't call most MCP servers directly. Header values are sent to the server for that request only and are never stored or logged.
Tool list from our last check. Connect live to refresh it.
Return the full record for one event: the long description, every booking link its page carries, the stay link where present, and the page URLs in every published language. Ended events are returned flagged ended: true with their dates, never presented as upcoming. Look the event up by the id returned by search_events or whats_on, or by its canonical page URL. This server is read-only: it takes no bookings, and prices and availability are confirmed on the merchant's site.
The event id returned by search_events or whats_on, for example "hong-kong-new-year-countdown-2026".
The canonical event page URL, as an alternative to id.
This tool isn't marked read-only, so it may change something on the server or in an account you connected.
Pick your client. Values in capitals, like YOUR_TOKEN, are yours to fill in.
Run in a terminal
claude mcp add --transport http whatson-events https://mcp.whatsonasia.com/mcp
Return the full record for one event: the long description, every booking link its page carries, the stay link where present, and the page URLs in every published language. Ended events are returned flagged ended: true with their dates, never presented as upcoming. Look the event up by the id returned by search_events or whats_on, or by its canonical page URL. This server is read-only: it takes no bookings, and prices and availability are confirmed on the merchant's site.
| Argument | Type | Description |
|---|---|---|
| id | string | The event id returned by search_events or whats_on, for example "hong-kong-new-year-countdown-2026". |
| page_url | string | The canonical event page URL, as an alternative to id. |
{
"type": "object",
"properties": {
"id": {
"type": "string",
"description": "The event id returned by search_events or whats_on, for example \"hong-kong-new-year-countdown-2026\"."
},
"page_url": {
"type": "string",
"description": "The canonical event page URL, as an alternative to id."
}
},
"additionalProperties": false
}List the cities this server covers, with the site that publishes each city's events, the regions covered, how many upcoming events are listed, the earliest and latest upcoming dates, the published languages, and how fresh the data is. Call this first to discover valid city values for the other tools. This server is read-only: it takes no bookings and confirms no prices.
| Argument | Type | Description |
|---|---|---|
| language | string | Optional language hint. Accepted for convenience; it does not filter the results. |
{
"type": "object",
"properties": {
"language": {
"type": "string",
"description": "Optional language hint. Accepted for convenience; it does not filter the results."
}
},
"additionalProperties": false
}Search verified events in one city. Results are sorted by start date and include the event page, the calendar (.ics) link, the verification date and, where the event page carries one, a booking link. Dates marked expected are expected dates, not yet confirmed by the organiser. If from_date and to_date are omitted, the window defaults to today through today plus 30 days in the city's local time. An empty result includes the nearest later date that does have events. This server is read-only: it takes no bookings, and prices and availability are confirmed on the merchant's site.
| Argument | Type | Description |
|---|---|---|
| city* | string | City slug or name from list_cities, for example "hong-kong". |
| limit | integer | Maximum events to return. Default 10, maximum 25. |
| keyword | string | Optional keyword matched against the event name, local name, venue and short description. |
| to_date | string | End of the window, ISO date YYYY-MM-DD. Defaults to today plus 30 days in the city's timezone. |
| category | string | Optional category; one of the city's own category values, listed by list_cities. |
| from_date | string | Start of the window, ISO date YYYY-MM-DD. Defaults to today in the city's timezone. |
{
"type": "object",
"required": [
"city"
],
"properties": {
"city": {
"type": "string",
"description": "City slug or name from list_cities, for example \"hong-kong\"."
},
"limit": {
"type": "integer",
"maximum": 25,
"minimum": 1,
"description": "Maximum events to return. Default 10, maximum 25."
},
"keyword": {
"type": "string",
"description": "Optional keyword matched against the event name, local name, venue and short description."
},
"to_date": {
"type": "string",
"description": "End of the window, ISO date YYYY-MM-DD. Defaults to today plus 30 days in the city's timezone."
},
"category": {
"type": "string",
"description": "Optional category; one of the city's own category values, listed by list_cities."
},
"from_date": {
"type": "string",
"description": "Start of the window, ISO date YYYY-MM-DD. Defaults to today in the city's timezone."
}
},
"additionalProperties": false
}Answer the common question "what is on in this city" over a named window, using fixed definitions in the city's local time: this_weekend means Friday to Sunday; if today is Saturday or Sunday it means the current weekend, otherwise the coming one. this_week means today through the coming Sunday. next_7_days means today through today plus 6 days. today means today only. Results are sorted by start date and include the event page, the verification date and, where the event page carries one, a booking link. Dates marked expected are expected dates, not yet confirmed by the organiser. This server is read-only: it takes no bookings, and prices and availability are confirmed on the merchant's site.
| Argument | Type | Description |
|---|---|---|
| city* | string | City slug or name from list_cities, for example "hong-kong". |
| when | string | Named window. Default this_weekend. |
| limit | integer | Maximum events to return. Default 10, maximum 25. |
| category | string | Optional category; one of the city's own category values, listed by list_cities. |
{
"type": "object",
"required": [
"city"
],
"properties": {
"city": {
"type": "string",
"description": "City slug or name from list_cities, for example \"hong-kong\"."
},
"when": {
"enum": [
"today",
"this_weekend",
"this_week",
"next_7_days"
],
"type": "string",
"description": "Named window. Default this_weekend."
},
"limit": {
"type": "integer",
"maximum": 25,
"minimum": 1,
"description": "Maximum events to return. Default 10, maximum 25."
},
"category": {
"type": "string",
"description": "Optional category; one of the city's own category values, listed by list_cities."
}
},
"additionalProperties": false
}We read every tool's name, description and inputs the way the model will, looking for instructions hidden from you. A clean result means no warning signs, not a guarantee. Scanned Nov 10, 2026.
No readOnlyHint / destructiveHint annotations, so clients can't tell a read from a write without asking.
Fix: Add annotations to each tool, e.g. { readOnlyHint: true } for tools that only read.