Endpoints: 28,729MCP servers: 18,413Payout addresses: 2,071Paid calls: 1,533Letters: 13Defects: 1,322counted just now
teppi

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 yourselfcurl -s https://api.teppi.xyz/v1/evidence/sha256:646b55c9f183809cf0ee6fa2a5576b69c1551c5f4ca791708d53876572ea8b3b | sha256sum