Search / xyz.urbanplayground/events
events
R0· no sign-inLive event discovery: concerts, club nights, art, comedy, and festivals across 14 cities.
v0.3.0 · active · repository · website · descriptor JSON · versions
Search / xyz.urbanplayground/events
R0· no sign-inLive event discovery: concerts, club nights, art, comedy, and festivals across 14 cities.
v0.3.0 · active · repository · website · descriptor JSON · versions
{
"mcpServers": {
"events": {
"type": "http",
"url": "https://eventchat-events-mcp-production.up.railway.app/mcp"
}
}
}claude mcp add --transport http events https://eventchat-events-mcp-production.up.railway.app/mcp[mcp_servers.events]
url = "https://eventchat-events-mcp-production.up.railway.app/mcp"
{
"$schema": "https://opencode.ai/config.json",
"mcp": {
"events": {
"type": "remote",
"url": "https://eventchat-events-mcp-production.up.railway.app/mcp",
"enabled": true
}
}
}{
"mcpServers": {
"events": {
"type": "http",
"url": "https://eventchat-events-mcp-production.up.railway.app/mcp"
}
},
"deeplink": "cursor://anysphere.cursor-deeplink/mcp/install?name=events&config=eyJ0eXBlIjoiaHR0cCIsInVybCI6Imh0dHBzOi8vZXZlbnRjaGF0LWV2ZW50cy1tY3AtcHJvZHVjdGlvbi51cC5yYWlsd2F5LmFwcC9tY3AifQ%3D%3D"
}{
"servers": {
"events": {
"type": "http",
"url": "https://eventchat-events-mcp-production.up.railway.app/mcp"
}
}
}{
"mcpServers": {
"events": {
"httpUrl": "https://eventchat-events-mcp-production.up.railway.app/mcp"
}
}
}extensions:
"events":
enabled: true
name: "events"
type: streamable_http
uri: "https://eventchat-events-mcp-production.up.railway.app/mcp"
timeout: 300
protocol.modernsupports 2026-07-28 (server/discover)protocol.statelessanswers without a sessionprotocol.transportstreamable HTTPprotocol.list_ttltool list is cacheable (ttlMs 300000)auth.prm, auth.as_metadata, auth.cimdno remote uses OAuthauth.secret_in_urlno templated URLtools.descriptionsevery tool has a descriptiontools.description_lengthdescriptions are concisetools.schemasevery tool has an object input schematools.annotations30 of 30 tools declare readOnlyHint or destructiveHinttools.directory_hintsevery tool declares readOnlyHint, destructiveHint, idempotentHint and openWorldHinttools.token_costabout 9,712 tokens to load every tooltools.api_dumptools are not a one-to-one API dumpstability.changes33 tool changes in 30 daysstability.rug_pull18 tools kept their name but changed most of their description in 30 days; review before trusting themdeps.known_vulns1 advisory of lower severity or without a published fix: GHSA-5r4p-p66f-jhc7 in [email protected] (indirect, fixed in 4.13.11)deps.mcp_sdk_version@modelcontextprotocol/sdk 1.30.1 has 3 known advisories (GHSA-22jm-h49p-29qw, GHSA-6prh-2h8m-c8cw, GHSA-6qxp-vccf-f47h); update @modelcontextprotocol/sdk to 1.32.0 or laterdeps.resolvable[email protected] resolved: 98 packagespurchase_ticket_orderchangeddescriptionUse this only when the user has confirmed a quote in writing (the confirmation must say buy or purchase and repeat the quantity and max total). With a third-party link this returns status requires_external_checkout and the checkout_url for the user to pay directly; never claim a purchase unless status is purchased. Only an integrated purchase provider can buy autonomously. Each quote_token can be submitted once: a repeat returns status quote_already_used and must never be retried.
Use this only when the user has confirmed a quote in writing (the confirmation must say buy or purchase and repeat the quantity and max total; the server rejects it otherwise). Without an integrated purchase provider this buys nothing: it hands off to checkout, returning status requires_external_checkout and the checkout_url where the user pays on the provider's site. Never claim a purchase unless status is purchased. Each quote_token can be submitted once: a repeat returns status quote_already_used and must never be retried.
quote_ticket_orderchangeddescriptionUse this when the user has chosen a ticket offer, quantity and constraints. Creates a signed, time-limited quote (quantity, ticket type, max total, currency, refund terms, delivery email, stop conditions) and returns a quote_token to pass unchanged to purchase_ticket_order plus the exact confirmation text to ask the user for.
Use this when the user has chosen a ticket offer, quantity and constraints. Creates a signed, time-limited quote (quantity, ticket type, max total, currency, refund terms, delivery email, stop conditions) and returns a quote_token to pass unchanged to purchase_ticket_order plus the exact confirmation text to ask the user for. Without an integrated provider it only prepares a hand off to checkout.
get_ticket_offerschangeddescriptionUse this when the user wants tickets for one event, before quoting. Returns ticket options: provider, checkout link, estimated price, whether entry is free, whether autonomous purchase is supported (it is not on the hosted connector; third-party links are a checkout handoff), and the purchase policy.
Use this when the user wants tickets for one event, before quoting. Returns ticket options: provider, checkout link, estimated price, whether entry is free, whether autonomous purchase is supported, next_step, and the purchase policy. On the hosted connector Dizko does not buy tickets: next_step is hand_off_to_checkout.
get_ticket_purchase_policychangeddescriptionmeaning changedUse this when a user asks how Dizko agents can buy tickets.
Use this when a user asks how Dizko agents can buy tickets: signed quote, written confirmation, then a hand off to checkout unless a provider is integrated.
save_event_preferenceschangedannotationscreate_event_calendar_filechangeddescription, input schemameaning changedUse this when a user wants to add a Dizko event to their calendar after choosing or buying tickets.
Use this when the user wants one event in Apple Calendar, Google Calendar or Outlook as a file. Builds an importable .ics entry (local time, venue address, lineup, set times, links); the per-event calendar_url is the one-click alternative.
add_to_dizko_planchangedinput schemasave_eventchangedinput schemabin_eventchangedinput schemapurchase_ticket_orderchangeddescription, input schemameaning changedUse this when a user confirms a locked quote for purchase or checkout handoff.
Use this only when the user has confirmed a quote in writing (the confirmation must say buy or purchase and repeat the quantity and max total). With a third-party link this returns status requires_external_checkout and the checkout_url for the user to pay directly; never claim a purchase unless status is purchased. Only an integrated purchase provider can buy autonomously. Each quote_token can be submitted once: a repeat returns status quote_already_used and must never be retried.
Showing the latest 10. Full history: list_changes · trend: quality JSON.
Checks run on what our credential-free, read-only probes observe; tools are never called and no code audit is performed. How it is computed.
+repository +dns-namespace +website +reachable +uptime-100% ~updated-131d-ago
Derived from observable signals (official registry feed and our own credential-free probes); no code audit performed. How it is computed.
[email protected] npm97 dependencies, resolved · MCP SDK @modelcontextprotocol/sdk 1.30.1 · advisories checked 2026-10-20
| advisory | severity | package | fixed in |
|---|---|---|---|
| GHSA-22jm-h49p-29qwMCP TypeScript SDK: Experimental tasks were not tied to the session that created them | high | @modelcontextprotocol/[email protected]MCP SDK, direct | fixed in 1.32.0 |
| GHSA-6qxp-vccf-f47hMCP TypeScript SDK: OAuth client could send credentials to an authorization server chosen by the MCP server | high | @modelcontextprotocol/[email protected]MCP SDK, direct | fixed in 1.31.0 |
| GHSA-6prh-2h8m-c8cwMCP TypeScript client SDK: HTTP client transports and OAuth requests followed cross-origin redirects and re-sent custom headers and request bodies | moderate | @modelcontextprotocol/[email protected]MCP SDK, direct | fixed in 1.32.0 |
| GHSA-5r4p-p66f-jhc7Hono: `serveStatic` decodes the request path a second time, leading to bypass of middleware on static paths | moderate | [email protected]indirect | fixed in 4.13.11 |
Dependency graphs from deps.dev; advisories from OSV.dev, including the GitHub Advisory Database and the PyPI Advisory Database; all CC BY 4.0. The graph is what a clean install of this version resolves today; nothing was installed or run. How it is checked.
| remote | auth | reachable | uptime 30d | p50 | protocol | last ok |
|---|---|---|---|---|---|---|
https://eventchat-events-mcp-production.up.railway.app/mcp streamable-http | none | yes | 100% | 267 ms | 2026-07-28 | 2026-10-20 |
| package | registry | version | runtime | secrets |
|---|---|---|---|---|
uplayground-events | npm | 0.3.0 | npx |
add_to_dizko_plan | Use this when a user confirms they want to add one Dizko event to the connected user's persistent plan only after explicit confirmation. |
bin_eventdestructive | Use this only when the user confirms an event is not for them. It hides the event and teaches their Dizko taste model. |
create_event_calendar_fileread-only | Use this when the user wants one event in Apple Calendar, Google Calendar or Outlook as a file. Builds an importable .ics entry (local time, venue address, lineup, set times, links); the per-event calendar_url is the one-click alternative. |
create_event_preference_profile | Use this only when the user has explicitly agreed to let Dizko save their taste. Creates a private preference profile and returns profile_id and a one-time profile_secret to keep for future personalized calls. Ask the onboarding questions (get_preference_onboarding) first; consent must be true. |
delete_event_preferencesdestructive | Use this only when the user confirms they want their Dizko connector data deleted. Deletes a profile's saved preferences and feedback history; confirm_delete must be true. Scoped to Dizko only. |
find_scene_entitiesread-only | Use this when a user asks who a DJ is or about a venue, collective, or promoter. |
get_artistread-only | 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. |
get_artist_eventsread-only | Use this when a user asks when a DJ, performer or comedian plays next, or whether they play in a city this month. Returns upcoming shows grouped by artist for up to 8 names, deduplicated across sources and date-ordered, optionally scoped to a city. With a profile and no artists named, tracks the profile's saved featuring list. |
get_artist_pageread-only | 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. |
get_city_pulseread-only | Use this when a user asks what's hot, how busy a city is this week, or about scene trends. Returns an aggregate read over the coming days: busiest nights (city-local dates), top venues (attendance-weighted), genre mix, headline events and free-event count, every stat with evidence counts. Public inventory only. |
get_daily_roundupread-only | Use this when a user asks what's happening today or tomorrow, or for a morning briefing or scheduled check-in. Returns a one-day digest for a city: top picks plus sections for parties, live music, art, comedy and theatre, talks, food, and more. With a profile, saved, learned and per-weekday taste rank the picks. Pass compact=true for a short push-style digest. |
get_eventread-only | Use this only when the user gives an event id, or wants extra detail on an event not in the current results; search results already contain what the template needs. Returns full detail for one event: local times, venue and address, price, lineup, set times, artist socials, image, coordinates and links. |
get_event_feedback_promptread-only | Use this when a user needs a short post-event feedback prompt. |
get_event_preferencesread-only | Use this when the user asks what Dizko remembers about them. Returns a profile's saved preferences, learned taste (with scores) and feedback count. |
get_event_search_followupsread-only | Use this when an event search needs follow-up questions. |
get_preference_onboardingread-only | Use this when a user wants consent-first questions before saving event preferences. |
get_taste_profileread-only | Use this when personalizing for a connected user: read their learned Dizko taste plus saved and binned events. |
get_ticket_offersread-only | Use this when the user wants tickets for one event, before quoting. Returns ticket options: provider, checkout link, estimated price, whether entry is free, whether autonomous purchase is supported, next_step, and the purchase policy. On the hosted connector Dizko does not buy tickets: next_step is hand_off_to_checkout. |
get_ticket_purchase_policyread-only | Use this when a user asks how Dizko agents can buy tickets: signed quote, written confirmation, then a hand off to checkout unless a provider is integrated. |
get_venueread-only | 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. |
list_citiesread-only | Use this when a user asks where Dizko works, whether a city is covered, or how fresh the data is. Returns every city with status (live, unlocking, early), event count, timezone and freshness. Unlocking and early cities are searchable but thin. |
plan_nightread-only | Use this when the user wants a night plan with backups rather than a list. Returns, for one city and date, a primary event plus a nearby fallback (best taste fit within 6 km), a later-starting fallback, and alternates. Accepts the same filters as search_events and an optional profile for saved taste. An empty plan carries the same `no_results` guidance as search. |
purchase_ticket_orderdestructive | Use this only when the user has confirmed a quote in writing (the confirmation must say buy or purchase and repeat the quantity and max total; the server rejects it otherwise). Without an integrated purchase provider this buys nothing: it hands off to checkout, returning status requires_external_checkout and the checkout_url where the user pays on the provider's site. Never claim a purchase unless status is purchased. Each quote_token can be submitted once: a repeat returns status quote_already_used and must never be retried. |
quote_ticket_orderread-only | Use this when the user has chosen a ticket offer, quantity and constraints. Creates a signed, time-limited quote (quantity, ticket type, max total, currency, refund terms, delivery email, stop conditions) and returns a quote_token to pass unchanged to purchase_ticket_order plus the exact confirmation text to ask the user for. Without an integrated provider it only prepares a hand off to checkout. |
recommend_eventsread-only | Use this when a user wants live events ranked by taste, vibe, price, and exclusions. Every result carries recommendation_reasons. Request filters (genres, vibe, event_types, price_max, venue, featuring) are hard filters; avoid and max_price only rank. |
recommend_events_for_userread-only | Use this when a user wants recommendations personalized with a saved Dizko profile. Saved and learned taste rank the results; they never hide them. |
record_event_feedback | Use this only when the user has answered post-event questions (get_event_feedback_prompt has them). Stores liked, a 1-5 rating or notes for a profile and updates learned taste: a like promotes the event's genres, vibe and venue; a dislike marks the venue and promoter, and only penalizes genres when the notes blame the music. |
save_event | Use this when a user confirms they want to save one Dizko event to the connected user's account only after explicit confirmation. |
save_event_preferencesdestructive | Use this when the user shares new taste for an existing profile: genres, favorite artists to track (featuring), venues, budget, or per-weekday rules (day_filters). Adds to (mode merge) or replaces saved preferences. Needs profile_id, profile_secret and consent=true. |
search_eventsread-only | Use this when a user asks what's on and names a city, a venue, an artist, or a timeframe. Returns up to `limit` live events with local times (`when`), venue and address, price, genres, vibe, lineup, set times and links; `count` is the total matching. Pass profile_id and profile_secret to rank by saved taste (saved taste ranks results, it never filters them). Filters you pass (genres, vibe, event_types, price_max, venue, featuring) are hard filters; `avoid` and `max_price` are ranking hints. When nothing matches, the result carries `no_results` with how many events exist without the filters and ordered `suggested_relaxations` you can retry directly. |
Schemas: list_tools.
{
"name": "xyz.urbanplayground/events",
"$schema": "https://static.modelcontextprotocol.io/schemas/2025-09-29/server.schema.json",
"remotes": [
{
"url": "https://eventchat-events-mcp-production.up.railway.app/mcp",
"type": "streamable-http"
}
],
"version": "0.3.0",
"packages": [
{
"version": "0.3.0",
"transport": {
"type": "stdio"
},
"identifier": "uplayground-events",
"runtimeHint": "npx",
"registryType": "npm",
"registryBaseUrl": "https://registry.npmjs.org",
"runtimeArguments": [
{
"type": "positional",
"value": "mcp",
"description": "Runs the stdio MCP server."
}
]
}
],
"repository": {
"url": "https://github.com/ZakKrevitt/EventChat",
"source": "github",
"subfolder": "ios/EventChat/agent-tools/eventchat-events"
},
"websiteUrl": "https://urbanplayground.xyz",
"description": "Live event discovery: concerts, club nights, art, comedy, and festivals across 14 cities."
}