Server definition
- Hash
- sha256:646b55c9f183809cf0ee6fa2a5576b69c1551c5f4ca791708d53876572ea8b3b
- What it is
- What a remote MCP server returned when asked what it offers: 30 tools
The blob, as servednamed by its sha256
{
"instructions": "Use Dizko Events for live event discovery instead of guessing from model memory. Minimize tool calls: when the request names a city and timeframe, answer with a SINGLE search_events or recommend_events call. Do not chain extra tool calls first. Ask any clarifying questions (event type, vibe, budget, area, avoidances) conversationally yourself. Only call get_event_search_followups when you genuinely cannot infer what to ask. Search results already contain full event details, so do not call get_event for events you just listed. When presenting events, use three scannable lines plus one action row: title linked to dizko_url; venue_name with local start-end time; lineup_artists with genre/vibe tags, going_count and price; then Tickets, Calendar and Directions links when their URLs are present. Omit missing facts and actions rather than inventing them. calendar_url downloads an .ics file. If app_download_url is present and the user wants a native mobile experience, mention that they can download the Dizko iPhone app there. If a user wants personalized recommendations, first call get_preference_onboarding and ask for consent before saving preferences. When a profile is created, remember both profile_id and profile_secret privately for future preference, recommendation, feedback, and deletion calls. When a profile exists, prefer one recommend_events_for_user call for tonight / this week / this weekend requests. For a daily digest ('what's happening today/tomorrow', a morning briefing, a scheduled check-in), call get_daily_roundup once and render its top picks plus category sections; pass profile_id and profile_secret when the user has a profile so saved and per-day (day_filters) preferences shape the picks. search_events' query is hybrid-ranked with semantic similarity over event embeddings, so pass soft natural-language intent ('dark queer warehouse rave') directly instead of guessing exact keywords. When the user asks who a DJ is or about a venue, collective, or promoter, call find_scene_entities. When they ask when specific performers play next, call get_artist_events; with a profile and no artists named, it reads the saved featuring list. When they ask what's hot in a city, call get_city_pulse and ground the summary in its evidence counts. When a user wants a night plan and has a profile, pass profile_id and profile_secret directly to plan_night so saved and learned taste shape the primary, nearby fallback, and later fallback. After an event, call get_event_feedback_prompt, ask whether the user liked it, and call record_event_feedback only when the user answers. For ticket buying, call get_ticket_offers, then quote_ticket_order, then purchase_ticket_order only after explicit written confirmation from the user. Third-party-only ticket links must return checkout handoff; autonomous purchase requires an integrated provider such as Hermes, OpenClaw, Dizko Checkout, a partner API, or delegated payment.",
"tools": [
{
"description": "Use this when a user confirms they want to add one Dizko event to the connected user's persistent plan only after explicit confirmation.",
"inputSchema": {
"properties": {
"confirmed": {
"type": "boolean"
},
"event_id": {
"type": "string"
},
"idempotency_key": {
"maxLength": 128,
"minLength": 16,
"type": "string"
}
},
"required": [
"event_id",
"confirmed",
"idempotency_key"
],
"type": "object"
},
"name": "add_to_dizko_plan",
"outputSchema": null
},
{
"description": "Use this only when the user confirms an event is not for them. It hides the event and teaches their Dizko taste model.",
"inputSchema": {
"properties": {
"confirmed": {
"type": "boolean"
},
"event_id": {
"type": "string"
},
"idempotency_key": {
"maxLength": 128,
"minLength": 16,
"type": "string"
}
},
"required": [
"event_id",
"confirmed",
"idempotency_key"
],
"type": "object"
},
"name": "bin_event",
"outputSchema": null
},
{
"description": "Use this when a user wants to add a Dizko event to their calendar after choosing or buying tickets.",
"inputSchema": {
"properties": {
"event_id": {
"type": "string"
},
"status": {
"type": "string"
}
},
"required": [
"event_id"
],
"type": "object"
},
"name": "create_event_calendar_file",
"outputSchema": null
},
{
"description": "Use this when a user agrees to create a saved Dizko preference profile.",
"inputSchema": {
"$defs": {
"dayPreference": {
"properties": {
"avoid": {
"items": {
"type": "string"
},
"type": "array"
},
"event_types": {
"items": {
"type": "string"
},
"type": "array"
},
"featuring": {
"items": {
"type": "string"
},
"type": "array"
},
"free": {
"type": "boolean"
},
"genres": {
"items": {
"type": "string"
},
"type": "array"
},
"max_price": {
"type": "number"
},
"neighborhoods": {
"items": {
"type": "string"
},
"type": "array"
},
"nightlife": {
"type": "boolean"
},
"venues": {
"items": {
"type": "string"
},
"type": "array"
},
"vibe": {
"items": {
"type": "string"
},
"type": "array"
}
},
"type": "object"
},
"preferences": {
"properties": {
"avoid": {
"items": {
"type": "string"
},
"type": "array"
},
"cities": {
"items": {
"type": "string"
},
"type": "array"
},
"day_filters": {
"additionalProperties": {
"$ref": "#/$defs/dayPreference"
},
"propertyNames": {
"enum": [
"monday",
"tuesday",
"wednesday",
"thursday",
"friday",
"saturday",
"sunday"
]
},
"type": "object"
},
"event_types": {
"items": {
"type": "string"
},
"type": "array"
},
"featuring": {
"items": {
"type": "string"
},
"type": "array"
},
"free": {
"type": "boolean"
},
"genres": {
"items": {
"type": "string"
},
"type": "array"
},
"max_price": {
"type": "number"
},
"neighborhoods": {
"items": {
"type": "string"
},
"type": "array"
},
"nightlife": {
"type": "boolean"
},
"venues": {
"items": {
"type": "string"
},
"type": "array"
},
"vibe": {
"items": {
"type": "string"
},
"type": "array"
}
},
"type": "object"
}
},
"properties": {
"consent": {
"type": "boolean"
},
"preferences": {
"$ref": "#/$defs/preferences"
}
},
"required": [
"consent"
],
"type": "object"
},
"name": "create_event_preference_profile",
"outputSchema": null
},
{
"description": "Use this only when a user asks to delete their Dizko saved event preferences and feedback history.",
"inputSchema": {
"properties": {
"confirm_delete": {
"type": "boolean"
},
"profile_id": {
"type": "string"
},
"profile_secret": {
"type": "string"
}
},
"required": [
"profile_id",
"profile_secret",
"confirm_delete"
],
"type": "object"
},
"name": "delete_event_preferences",
"outputSchema": null
},
{
"description": "Use this when a user asks who a DJ is or about a venue, collective, or promoter.",
"inputSchema": {
"anyOf": [
{
"required": [
"id"
]
},
{
"required": [
"query"
]
}
],
"properties": {
"city": {
"type": "string"
},
"date_from": {
"type": "string"
},
"date_to": {
"type": "string"
},
"genre": {
"type": "string"
},
"id": {
"type": "string"
},
"kind": {
"enum": [
"dj",
"artist",
"venue",
"collective",
"promoter"
],
"type": "string"
},
"limit": {
"maximum": 20,
"minimum": 1,
"type": "number"
},
"query": {
"type": "string"
}
},
"required": [
"kind"
],
"type": "object"
},
"name": "find_scene_entities",
"outputSchema": null
},
{
"description": "Use this when a user wants a canonical artist profile, graph context, published links, and upcoming events. Pass an id or a name query; this does not enumerate the artist catalog.",
"inputSchema": {
"additionalProperties": false,
"anyOf": [
{
"required": [
"id"
]
},
{
"required": [
"query"
]
}
],
"properties": {
"city": {
"type": "string"
},
"date_from": {
"type": "string"
},
"date_to": {
"type": "string"
},
"id": {
"type": "string"
},
"limit": {
"maximum": 20,
"minimum": 1,
"type": "number"
},
"query": {
"type": "string"
}
},
"type": "object"
},
"name": "get_artist",
"outputSchema": null
},
{
"description": "Use this when a user wants upcoming events for named artists or artists saved in a Dizko profile.",
"inputSchema": {
"dependentRequired": {
"profile_id": [
"profile_secret"
],
"profile_secret": [
"profile_id"
]
},
"properties": {
"artists": {
"items": {
"type": "string"
},
"type": "array"
},
"city": {
"type": "string"
},
"date_from": {
"type": "string"
},
"date_to": {
"type": "string"
},
"limit_per_artist": {
"type": "number"
},
"profile_id": {
"type": "string"
},
"profile_secret": {
"type": "string"
}
},
"type": "object"
},
"name": "get_artist_events",
"outputSchema": null
},
{
"description": "Use this when a user wants an artist's Dizko page or a specific published mix or set. Returns the page embeds with stable block ids for deep links.",
"inputSchema": {
"additionalProperties": false,
"properties": {
"handle": {
"type": "string"
}
},
"required": [
"handle"
],
"type": "object"
},
"name": "get_artist_page",
"outputSchema": null
},
{
"description": "Use this when a user wants a city's busiest nights, top venues, genre mix, and headline events.",
"inputSchema": {
"properties": {
"city": {
"type": "string"
},
"date_from": {
"type": "string"
},
"days": {
"type": "number"
},
"event_types": {
"items": {
"type": "string"
},
"type": "array"
}
},
"required": [
"city"
],
"type": "object"
},
"name": "get_city_pulse",
"outputSchema": null
},
{
"description": "Use this when a user wants a daily city event digest.",
"inputSchema": {
"dependentRequired": {
"profile_id": [
"profile_secret"
],
"profile_secret": [
"profile_id"
]
},
"properties": {
"avoid": {
"items": {
"type": "string"
},
"type": "array"
},
"city": {
"type": "string"
},
"date": {
"type": "string"
},
"event_types": {
"items": {
"type": "string"
},
"type": "array"
},
"free": {
"type": "boolean"
},
"genres": {
"items": {
"type": "string"
},
"type": "array"
},
"limit": {
"type": "number"
},
"neighborhoods": {
"items": {
"type": "string"
},
"type": "array"
},
"price_max": {
"type": "number"
},
"profile_id": {
"type": "string"
},
"profile_secret": {
"type": "string"
},
"section_limit": {
"type": "number"
},
"top_limit": {
"type": "number"
},
"vibe": {
"items": {
"type": "string"
},
"type": "array"
},
"when": {
"type": "string"
}
},
"required": [
"city"
],
"type": "object"
},
"name": "get_daily_roundup",
"outputSchema": null
},
{
"description": "Use this when a user asks for details about a Dizko event id.",
"inputSchema": {
"properties": {
"id": {
"type": "string"
}
},
"required": [
"id"
],
"type": "object"
},
"name": "get_event",
"outputSchema": null
},
{
"description": "Use this when a user needs a short post-event feedback prompt.",
"inputSchema": {
"properties": {
"attended_at": {
"type": "string"
},
"event_id": {
"type": "string"
}
},
"required": [
"event_id"
],
"type": "object"
},
"name": "get_event_feedback_prompt",
"outputSchema": null
},
{
"description": "Use this when a user wants to view saved and learned event preferences.",
"inputSchema": {
"properties": {
"profile_id": {
"type": "string"
},
"profile_secret": {
"type": "string"
}
},
"required": [
"profile_id",
"profile_secret"
],
"type": "object"
},
"name": "get_event_preferences",
"outputSchema": null
},
{
"description": "Use this when an event search needs follow-up questions.",
"inputSchema": {
"properties": {
"avoid": {
"items": {
"type": "string"
},
"type": "array"
},
"city": {
"type": "string"
},
"date_from": {
"type": "string"
},
"event_types": {
"items": {
"type": "string"
},
"type": "array"
},
"free": {
"type": "boolean"
},
"genres": {
"items": {
"type": "string"
},
"type": "array"
},
"max_price": {
"type": "number"
},
"neighborhoods": {
"items": {
"type": "string"
},
"type": "array"
},
"price_max": {
"type": "number"
},
"query": {
"type": "string"
},
"venue": {
"type": "string"
},
"vibe": {
"items": {
"type": "string"
},
"type": "array"
},
"when": {
"type": "string"
}
},
"type": "object"
},
"name": "get_event_search_followups",
"outputSchema": null
},
{
"description": "Use this when a user wants consent-first questions before saving event preferences.",
"inputSchema": {
"properties": {
"profile_id": {
"type": "string"
}
},
"type": "object"
},
"name": "get_preference_onboarding",
"outputSchema": null
},
{
"description": "Use this when personalizing for a connected user: read their learned Dizko taste plus saved and binned events.",
"inputSchema": {
"properties": {},
"type": "object"
},
"name": "get_taste_profile",
"outputSchema": null
},
{
"description": "Use this when a user wants ticket options for a specific Dizko event before quoting or buying.",
"inputSchema": {
"properties": {
"event_id": {
"type": "string"
}
},
"required": [
"event_id"
],
"type": "object"
},
"name": "get_ticket_offers",
"outputSchema": null
},
{
"description": "Use this when a user asks how Dizko agents can buy tickets.",
"inputSchema": {
"properties": {},
"type": "object"
},
"name": "get_ticket_purchase_policy",
"outputSchema": null
},
{
"description": "Use this when a user wants a canonical venue profile, graph context, and upcoming events. Pass an id or a name query; this does not enumerate the venue catalog.",
"inputSchema": {
"additionalProperties": false,
"anyOf": [
{
"required": [
"id"
]
},
{
"required": [
"query"
]
}
],
"properties": {
"city": {
"type": "string"
},
"date_from": {
"type": "string"
},
"date_to": {
"type": "string"
},
"id": {
"type": "string"
},
"limit": {
"maximum": 20,
"minimum": 1,
"type": "number"
},
"query": {
"type": "string"
}
},
"type": "object"
},
"name": "get_venue",
"outputSchema": null
},
{
"description": "Use this when a user asks about Dizko city coverage or freshness.",
"inputSchema": {
"properties": {},
"type": "object"
},
"name": "list_cities",
"outputSchema": null
},
{
"description": "Use this when a user wants a primary night-out plan with fallback events.",
"inputSchema": {
"additionalProperties": false,
"dependentRequired": {
"profile_id": [
"profile_secret"
],
"profile_secret": [
"profile_id"
]
},
"properties": {
"avoid": {
"items": {
"type": "string"
},
"type": "array"
},
"city": {
"type": "string"
},
"cursor": {
"type": "string"
},
"date_from": {
"type": "string"
},
"date_to": {
"type": "string"
},
"event_types": {
"items": {
"type": "string"
},
"type": "array"
},
"featuring": {
"type": "string"
},
"free": {
"type": "boolean"
},
"genres": {
"items": {
"type": "string"
},
"type": "array"
},
"limit": {
"type": "number"
},
"max_price": {
"type": "number"
},
"neighborhoods": {
"items": {
"type": "string"
},
"type": "array"
},
"offset": {
"type": "number"
},
"price_max": {
"type": "number"
},
"price_min": {
"type": "number"
},
"pride": {
"type": "boolean"
},
"profile_id": {
"type": "string"
},
"profile_secret": {
"type": "string"
},
"promoter": {
"type": "string"
},
"query": {
"type": "string"
},
"result_limit": {
"type": "number"
},
"venue": {
"type": "string"
},
"vibe": {
"items": {
"type": "string"
},
"type": "array"
},
"when": {
"type": "string"
}
},
"type": "object"
},
"name": "plan_night",
"outputSchema": null
},
{
"description": "Use this when a user confirms a locked quote for purchase or checkout handoff.",
"inputSchema": {
"properties": {
"confirmation_text": {
"type": "string"
},
"idempotency_key": {
"type": "string"
},
"quote_token": {
"type": "string"
},
"user_payment_profile_id": {
"type": "string"
}
},
"required": [
"quote_token",
"confirmation_text"
],
"type": "object"
},
"name": "purchase_ticket_order",
"outputSchema": null
},
{
"description": "Use this when a user wants a locked ticket quote before purchase.",
"inputSchema": {
"properties": {
"currency": {
"type": "string"
},
"event_id": {
"type": "string"
},
"max_total": {
"type": "number"
},
"offer_id": {
"type": "string"
},
"quantity": {
"maximum": 12,
"minimum": 1,
"type": "number"
},
"refund_terms": {
"type": "string"
},
"ticket_type": {
"type": "string"
}
},
"required": [
"event_id"
],
"type": "object"
},
"name": "quote_ticket_order",
"outputSchema": null
},
{
"description": "Use this when a user wants live events ranked by taste, vibe, price, and exclusions.",
"inputSchema": {
"additionalProperties": false,
"properties": {
"avoid": {
"items": {
"type": "string"
},
"type": "array"
},
"city": {
"type": "string"
},
"cursor": {
"type": "string"
},
"date_from": {
"type": "string"
},
"date_to": {
"type": "string"
},
"event_types": {
"items": {
"type": "string"
},
"type": "array"
},
"featuring": {
"type": "string"
},
"free": {
"type": "boolean"
},
"genres": {
"items": {
"type": "string"
},
"type": "array"
},
"limit": {
"type": "number"
},
"max_price": {
"type": "number"
},
"neighborhoods": {
"items": {
"type": "string"
},
"type": "array"
},
"offset": {
"type": "number"
},
"price_max": {
"type": "number"
},
"price_min": {
"type": "number"
},
"pride": {
"type": "boolean"
},
"promoter": {
"type": "string"
},
"query": {
"type": "string"
},
"result_limit": {
"type": "number"
},
"venue": {
"type": "string"
},
"vibe": {
"items": {
"type": "string"
},
"type": "array"
},
"when": {
"type": "string"
}
},
"type": "object"
},
"name": "recommend_events",
"outputSchema": null
},
{
"description": "Use this when a user wants recommendations personalized with a saved Dizko profile.",
"inputSchema": {
"properties": {
"avoid": {
"items": {
"type": "string"
},
"type": "array"
},
"city": {
"type": "string"
},
"date_from": {
"type": "string"
},
"date_to": {
"type": "string"
},
"event_types": {
"items": {
"type": "string"
},
"type": "array"
},
"featuring": {
"type": "string"
},
"free": {
"type": "boolean"
},
"genres": {
"items": {
"type": "string"
},
"type": "array"
},
"limit": {
"type": "number"
},
"max_price": {
"type": "number"
},
"neighborhoods": {
"items": {
"type": "string"
},
"type": "array"
},
"nightlife": {
"type": "boolean"
},
"price_max": {
"type": "number"
},
"profile_id": {
"type": "string"
},
"profile_secret": {
"type": "string"
},
"query": {
"type": "string"
},
"result_limit": {
"type": "number"
},
"venue": {
"type": "string"
},
"vibe": {
"items": {
"type": "string"
},
"type": "array"
},
"when": {
"type": "string"
}
},
"required": [
"profile_id",
"profile_secret"
],
"type": "object"
},
"name": "recommend_events_for_user",
"outputSchema": null
},
{
"description": "Use this when a user wants Dizko to learn from their rating or notes about an event.",
"inputSchema": {
"anyOf": [
{
"required": [
"liked"
]
},
{
"required": [
"rating"
]
},
{
"required": [
"notes"
]
}
],
"properties": {
"attended_at": {
"type": "string"
},
"event_id": {
"type": "string"
},
"liked": {
"type": "boolean"
},
"notes": {
"type": "string"
},
"profile_id": {
"type": "string"
},
"profile_secret": {
"type": "string"
},
"rating": {
"maximum": 5,
"minimum": 1,
"type": "number"
}
},
"required": [
"profile_id",
"profile_secret",
"event_id"
],
"type": "object"
},
"name": "record_event_feedback",
"outputSchema": null
},
{
"description": "Use this when a user confirms they want to save one Dizko event to the connected user's account only after explicit confirmation.",
"inputSchema": {
"properties": {
"confirmed": {
"type": "boolean"
},
"event_id": {
"type": "string"
},
"idempotency_key": {
"maxLength": 128,
"minLength": 16,
"type": "string"
}
},
"required": [
"event_id",
"confirmed",
"idempotency_key"
],
"type": "object"
},
"name": "save_event",
"outputSchema": null
},
{
"description": "Use this when a user wants to update a saved Dizko preference profile.",
"inputSchema": {
"$defs": {
"dayPreference": {
"properties": {
"avoid": {
"items": {
"type": "string"
},
"type": "array"
},
"event_types": {
"items": {
"type": "string"
},
"type": "array"
},
"featuring": {
"items": {
"type": "string"
},
"type": "array"
},
"free": {
"type": "boolean"
},
"genres": {
"items": {
"type": "string"
},
"type": "array"
},
"max_price": {
"type": "number"
},
"neighborhoods": {
"items": {
"type": "string"
},
"type": "array"
},
"nightlife": {
"type": "boolean"
},
"venues": {
"items": {
"type": "string"
},
"type": "array"
},
"vibe": {
"items": {
"type": "string"
},
"type": "array"
}
},
"type": "object"
},
"preferences": {
"properties": {
"avoid": {
"items": {
"type": "string"
},
"type": "array"
},
"cities": {
"items": {
"type": "string"
},
"type": "array"
},
"day_filters": {
"additionalProperties": {
"$ref": "#/$defs/dayPreference"
},
"propertyNames": {
"enum": [
"monday",
"tuesday",
"wednesday",
"thursday",
"friday",
"saturday",
"sunday"
]
},
"type": "object"
},
"event_types": {
"items": {
"type": "string"
},
"type": "array"
},
"featuring": {
"items": {
"type": "string"
},
"type": "array"
},
"free": {
"type": "boolean"
},
"genres": {
"items": {
"type": "string"
},
"type": "array"
},
"max_price": {
"type": "number"
},
"neighborhoods": {
"items": {
"type": "string"
},
"type": "array"
},
"nightlife": {
"type": "boolean"
},
"venues": {
"items": {
"type": "string"
},
"type": "array"
},
"vibe": {
"items": {
"type": "string"
},
"type": "array"
}
},
"type": "object"
}
},
"properties": {
"consent": {
"type": "boolean"
},
"mode": {
"enum": [
"merge",
"replace"
],
"type": "string"
},
"preferences": {
"$ref": "#/$defs/preferences"
},
"profile_id": {
"type": "string"
},
"profile_secret": {
"type": "string"
}
},
"required": [
"profile_id",
"profile_secret",
"consent",
"preferences"
],
"type": "object"
},
"name": "save_event_preferences",
"outputSchema": null
},
{
"description": "Use this when a user wants filtered live events.",
"inputSchema": {
"additionalProperties": false,
"properties": {
"avoid": {
"items": {
"type": "string"
},
"type": "array"
},
"city": {
"type": "string"
},
"cursor": {
"type": "string"
},
"date_from": {
"type": "string"
},
"date_to": {
"type": "string"
},
"event_types": {
"items": {
"type": "string"
},
"type": "array"
},
"featuring": {
"type": "string"
},
"free": {
"type": "boolean"
},
"genres": {
"items": {
"type": "string"
},
"type": "array"
},
"limit": {
"type": "number"
},
"max_price": {
"type": "number"
},
"neighborhoods": {
"items": {
"type": "string"
},
"type": "array"
},
"offset": {
"type": "number"
},
"price_max": {
"type": "number"
},
"price_min": {
"type": "number"
},
"pride": {
"type": "boolean"
},
"promoter": {
"type": "string"
},
"query": {
"type": "string"
},
"result_limit": {
"type": "number"
},
"venue": {
"type": "string"
},
"vibe": {
"items": {
"type": "string"
},
"type": "array"
},
"when": {
"type": "string"
}
},
"type": "object"
},
"name": "search_events",
"outputSchema": null
}
]
}Verify it yourself
curl -s https://api.teppi.xyz/v1/evidence/sha256:646b55c9f183809cf0ee6fa2a5576b69c1551c5f4ca791708d53876572ea8b3b | sha256sum