Skip to main content
Glama

Search Events

search_events
Read-onlyIdempotent

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.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
cityNoCity name or slug, for example berlin, 'new york', NYC, LA, 'São Paulo'. Required unless query, venue, featuring or promoter is given.
freeNoOnly free-entry events.
rankNorelevance (default) keeps the API order; taste ranks the page by the genres, vibe, avoid and budget in this request.
vibeNoHard filter, for example underground, intimate, high-energy, queer-friendly, outdoors, free-entry.
whenNoTimeframe preset resolved in the city's local timezone: today, tonight, tomorrow, weekend, next weekend, week, next week, month, monday, tuesday, wednesday, thursday, friday, saturday, sunday, any, or an exact date as YYYY-MM-DD. Use date_from/date_to instead for a custom range.
avoidNoRanking penalties, for example mainstream, huge crowds, expensive tickets, or any word to avoid in titles and tags.
limitNoEvents to return per page (1-200, default 12; rank: taste returns at most 50). count is the total available; page with next_cursor.
prideNoOnly Pride / LGBTQ+ flagged events.
queryNoFree-text search, hybrid-ranked by the live API (exact > substring > fuzzy > semantic). Pass soft intent directly, for example 'dark queer warehouse rave' or 'ambient listening bar', or an artist or event name.
venueNoHard filter on venue name (text match), for example Berghain.
cursorNoOpaque next_cursor returned by a prior search_events call. Takes precedence over offset.
fieldsNoExtra per-event fields: description (long form), coordinates, socials, promoters (full objects). Images and source are always included. Omit for the compact default.
genresNoHard filter, for example techno, house, jazz, hip hop, ambient.
offsetNoLegacy pagination offset; prefer cursor. Pass back next_offset from the previous page, never a number you computed. Applies to relevance ranking only; taste ranking scores one window and ignores it.
date_toNoInclusive end date, YYYY-MM-DD (city-local).
sort_byNosoonest (chronological), popular (default for multi-day ranges), cost, event_type, or distance (needs origin_lat/origin_lng). Single-day requests default to soonest.
promoterNoHard filter on promoter slug or display name.
date_fromNoInclusive start date, YYYY-MM-DD (city-local). Overrides `when`.
featuringNoHard filter on an artist or performer on the lineup.
max_priceNoSoft budget used for ranking (over-budget events drop, they are not hidden). Use price_max for a hard cap.
price_maxNoHard filter: maximum ticket price. Events without a listed price are excluded when set.
price_minNoHard filter: minimum ticket price.
origin_latNoLatitude for sort_by=distance ('near me'). Only pass coordinates the user gave you.
origin_lngNoLongitude for sort_by=distance.
profile_idNoOptional Dizko preference profile id; pass with profile_secret to rank by saved and learned taste as well. rank then defaults to taste.
event_typesNoHard filter. Vocabulary: party, live music, concert, art, museum, comedy, theatre, talk, meetup, food, festival, wellness, sports.
neighborhoodsNoHard filter on neighborhood names, for example kreuzberg, bushwick.
profile_secretNoPrivate profile secret returned when the profile was created.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed57 schema fields changed
    • removedInput schema / additionalProperties
      Removed value: -false
    • addedInput schema / dependentRequired
      Added value: +{
      +  "profile_id": [
      +    "profile_secret"
      +  ],
      +  "profile_secret": [
      +    "profile_id"
      +  ]
      +}
    • addedInput schema / properties / avoid / description
      Added value: +"Ranking penalties, for example mainstream, huge crowds, expensive tickets, or any word to avoid in titles and tags."
    • addedInput schema / properties / avoid / items / maxLength
      Added value: +200
    • addedInput schema / properties / avoid / maxItems
      Added value: +40
    • addedInput schema / properties / city / description
      Added value: +"City name or slug, for example berlin, 'new york', NYC, LA, 'São Paulo'. Required unless query, venue, featuring or promoter is given."
    • addedInput schema / properties / city / maxLength
      Added value: +200
    • addedInput schema / properties / cursor / description
      Added value: +"Opaque next_cursor returned by a prior search_events call. Takes precedence over offset."
    • addedInput schema / properties / cursor / maxLength
      Added value: +200
    • addedInput schema / properties / date_from / description
      Added value: +"Inclusive start date, YYYY-MM-DD (city-local). Overrides `when`."
    • addedInput schema / properties / date_from / maxLength
      Added value: +200
    • addedInput schema / properties / date_to / description
      Added value: +"Inclusive end date, YYYY-MM-DD (city-local)."
    • addedInput schema / properties / date_to / maxLength
      Added value: +200
    • addedInput schema / properties / event_types / description
      Added value: +"Hard filter. Vocabulary: party, live music, concert, art, museum, comedy, theatre, talk, meetup, food, festival, wellness, sports."
    • addedInput schema / properties / event_types / items / maxLength
      Added value: +200
    • addedInput schema / properties / event_types / maxItems
      Added value: +50
    • addedInput schema / properties / featuring / description
      Added value: +"Hard filter on an artist or performer on the lineup."
    • addedInput schema / properties / featuring / maxLength
      Added value: +200
    • addedInput schema / properties / fields
      Added value: +{
      +  "description": "Extra per-event fields: description (long form), coordinates, socials, promoters (full objects). Images and source are always included. Omit for the compact default.",
      +  "items": {
      +    "enum": [
      +      "description",
      +      "images",
      +      "coordinates",
      +      "socials",
      +      "promoters",
      +      "source"
      +    ],
      +    "type": "string"
      +  },
      +  "maxItems": 12,
      +  "type": "array"
      +}
    • addedInput schema / properties / free / description
      Added value: +"Only free-entry events."
    • addedInput schema / properties / genres / description
      Added value: +"Hard filter, for example techno, house, jazz, hip hop, ambient."
    • addedInput schema / properties / genres / items / maxLength
      Added value: +200
    • addedInput schema / properties / genres / maxItems
      Added value: +50
    • addedInput schema / properties / limit / default
      Added value: +12
    • addedInput schema / properties / limit / description
      Added value: +"Events to return per page (1-200, default 12; rank: taste returns at most 50). count is the total available; page with next_cursor."
    • addedInput schema / properties / limit / maximum
      Added value: +200
    • addedInput schema / properties / limit / minimum
      Added value: +1
    • changedInput schema / properties / limit / type
      Previous value: -"number"New value: +"integer"
    • addedInput schema / properties / max_price / description
      Added value: +"Soft budget used for ranking (over-budget events drop, they are not hidden). Use price_max for a hard cap."
    • addedInput schema / properties / neighborhoods / description
      Added value: +"Hard filter on neighborhood names, for example kreuzberg, bushwick."
    • addedInput schema / properties / neighborhoods / items / maxLength
      Added value: +200
    • addedInput schema / properties / neighborhoods / maxItems
      Added value: +50
    • addedInput schema / properties / offset / default
      Added value: +0
    • addedInput schema / properties / offset / description
      Added value: +"Legacy pagination offset; prefer cursor. Pass back next_offset from the previous page, never a number you computed. Applies to relevance ranking only; taste ranking scores one window and ignores it."
    • addedInput schema / properties / offset / minimum
      Added value: +0
    • changedInput schema / properties / offset / type
      Previous value: -"number"New value: +"integer"
    • addedInput schema / properties / origin_lat
      Added value: +{
      +  "description": "Latitude for sort_by=distance ('near me'). Only pass coordinates the user gave you.",
      +  "type": "number"
      +}
    • addedInput schema / properties / origin_lng
      Added value: +{
      +  "description": "Longitude for sort_by=distance.",
      +  "type": "number"
      +}
    • addedInput schema / properties / price_max / description
      Added value: +"Hard filter: maximum ticket price. Events without a listed price are excluded when set."
    • addedInput schema / properties / price_min / description
      Added value: +"Hard filter: minimum ticket price."
    • addedInput schema / properties / pride / description
      Added value: +"Only Pride / LGBTQ+ flagged events."
    • addedInput schema / properties / profile_id
      Added value: +{
      +  "description": "Optional Dizko preference profile id; pass with profile_secret to rank by saved and learned taste as well. rank then defaults to taste.",
      +  "maxLength": 200,
      +  "type": "string"
      +}
    • addedInput schema / properties / profile_secret
      Added value: +{
      +  "description": "Private profile secret returned when the profile was created.",
      +  "maxLength": 200,
      +  "type": "string"
      +}
    • addedInput schema / properties / promoter / description
      Added value: +"Hard filter on promoter slug or display name."
    • addedInput schema / properties / promoter / maxLength
      Added value: +200
    • addedInput schema / properties / query / description
      Added value: +"Free-text search, hybrid-ranked by the live API (exact > substring > fuzzy > semantic). Pass soft intent directly, for example 'dark queer warehouse rave' or 'ambient listening bar', or an artist or event name."
    • addedInput schema / properties / query / maxLength
      Added value: +200
    • addedInput schema / properties / rank
      Added value: +{
      +  "description": "relevance (default) keeps the API order; taste ranks the page by the genres, vibe, avoid and budget in this request.",
      +  "enum": [
      +    "relevance",
      +    "taste"
      +  ],
      +  "type": "string"
      +}
    • removedInput schema / properties / result_limit
      Removed value: -{
      -  "type": "number"
      -}
    • addedInput schema / properties / sort_by
      Added value: +{
      +  "description": "soonest (chronological), popular (default for multi-day ranges), cost, event_type, or distance (needs origin_lat/origin_lng). Single-day requests default to soonest.",
      +  "enum": [
      +    "soonest",
      +    "popular",
      +    "distance",
      +    "cost",
      +    "event_type"
      +  ],
      +  "type": "string"
      +}
    • addedInput schema / properties / venue / description
      Added value: +"Hard filter on venue name (text match), for example Berghain."
    • addedInput schema / properties / venue / maxLength
      Added value: +200
    • addedInput schema / properties / vibe / description
      Added value: +"Hard filter, for example underground, intimate, high-energy, queer-friendly, outdoors, free-entry."
    • addedInput schema / properties / vibe / items / maxLength
      Added value: +200
    • addedInput schema / properties / vibe / maxItems
      Added value: +50
    • addedInput schema / properties / when / description
      Added value: +"Timeframe preset resolved in the city's local timezone: today, tonight, tomorrow, weekend, next weekend, week, next week, month, monday, tuesday, wednesday, thursday, friday, saturday, sunday, any, or an exact date as YYYY-MM-DD. Use date_from/date_to instead for a custom range."
    • addedInput schema / properties / when / maxLength
      Added value: +200
  2. Changed2 schema fields changed
    • addedInput schema / additionalProperties
      Added value: +false
    • addedInput schema / properties / cursor
      Added value: +{
      +  "type": "string"
      +}
  3. Changed14 schema fields changed
    • removedInput schema / properties / avoid / description
      Removed value: -"Terms to penalize in recommendations."
    • removedInput schema / properties / city / description
      Removed value: -"City name, for example berlin or new york."
    • removedInput schema / properties / date_from / description
      Removed value: -"Inclusive start date in YYYY-MM-DD format."
    • removedInput schema / properties / date_to / description
      Removed value: -"Inclusive end date in YYYY-MM-DD format."
    • removedInput schema / properties / featuring / description
      Removed value: -"Artist or performer name."
    • removedInput schema / properties / limit / default
      Removed value: -12
    • removedInput schema / properties / limit / description
      Removed value: -"Results per page (default 12). The response's count field is the TOTAL matching events. Raise limit or use offset to page through more."
    • removedInput schema / properties / max_price / description
      Removed value: -"Preference hint used by recommend_events and plan_night."
    • removedInput schema / properties / offset / default
      Removed value: -0
    • addedInput schema / properties / promoter
      Added value: +{
      +  "type": "string"
      +}
    • removedInput schema / properties / query / description
      Removed value: -"Free-text search, hybrid-ranked by the live API: exact prefix > substring > fuzzy > semantic similarity over event embeddings. Handles soft natural-language intent ('dark queer warehouse rave', 'ambient listening bar') as well as literal names, and recognizes date phrases."
    • removedInput schema / properties / result_limit / default
      Removed value: -10
    • removedInput schema / properties / when / description
      Removed value: -"Date preset: today, tonight, tomorrow, weekend, week, this week, any, or YYYY-MM-DD."
    • changedOutput schema / (root)
      Previous value: -{
      -  "anyOf": [
      -    {
      -      "properties": {
      -        "app_download_url": {
      -          "description": "Dizko iPhone app landing page.",
      -          "type": "string"
      -        },
      -        "assistant_instruction": {
      -          "type": "string"
      -        },
      -        "count": {
      -          "type": "number"
      -        },
      -        "events": {
      -          "items": {
      -            "properties": {
      -              "attendance_count": {
      -                "type": [
      -                  "number",
      -                  "null"
      -                ]
      -              },
      -              "calendar_url": {
      -                "description": "Prefilled Google Calendar link. Offer as 'Add to calendar'.",
      -                "type": [
      -                  "string",
      -                  "null"
      -                ]
      -              },
      -              "city": {
      -                "type": [
      -                  "string",
      -                  "null"
      -                ]
      -              },
      -              "description": {
      -                "description": "Short one-line event description for display.",
      -                "type": [
      -                  "string",
      -                  "null"
      -                ]
      -              },
      -              "directions_url": {
      -                "description": "Google Maps directions link. Offer as 'Get directions'.",
      -                "type": [
      -                  "string",
      -                  "null"
      -                ]
      -              },
      -              "ends_at": {
      -                "type": [
      -                  "string",
      -                  "null"
      -                ]
      -              },
      -              "event_types": {
      -                "items": {
      -                  "type": "string"
      -                },
      -                "type": "array"
      -              },
      -              "event_url": {
      -                "type": "string"
      -              },
      -              "genres": {
      -                "items": {
      -                  "type": "string"
      -                },
      -                "type": "array"
      -              },
      -              "id": {
      -                "type": "string"
      -              },
      -              "lineup": {
      -                "items": {
      -                  "type": "string"
      -                },
      -                "type": "array"
      -              },
      -              "price": {
      -                "type": [
      -                  "string",
      -                  "null"
      -                ]
      -              },
      -              "source": {
      -                "type": [
      -                  "string",
      -                  "null"
      -                ]
      -              },
      -              "starts_at": {
      -                "type": [
      -                  "string",
      -                  "null"
      -                ]
      -              },
      -              "ticket_url": {
      -                "type": [
      -                  "string",
      -                  "null"
      -                ]
      -              },
      -              "title": {
      -                "type": "string"
      -              },
      -              "venue": {
      -                "type": [
      -                  "string",
      -                  "null"
      -                ]
      -              },
      -              "vibe": {
      -                "items": {
      -                  "type": "string"
      -                },
      -                "type": "array"
      -              }
      -            },
      -            "required": [
      -              "id",
      -              "title",
      -              "event_url"
      -            ],
      -            "type": "object"
      -          },
      -          "type": "array"
      -        }
      -      },
      -      "required": [
      -        "count",
      -        "events"
      -      ],
      -      "type": "object"
      -    },
      -    {
      -      "properties": {
      -        "assistant_instruction": {
      -          "type": "string"
      -        },
      -        "cause": {
      -          "type": [
      -            "string",
      -            "null"
      -          ]
      -        },
      -        "classification": {
      -          "type": [
      -            "string",
      -            "null"
      -          ]
      -        },
      -        "code": {
      -          "type": [
      -            "string",
      -            "null"
      -          ]
      -        },
      -        "error": {
      -          "type": "string"
      -        },
      -        "hostname": {
      -          "type": [
      -            "string",
      -            "null"
      -          ]
      -        },
      -        "retryable": {
      -          "type": "boolean"
      -        },
      -        "status": {
      -          "type": [
      -            "number",
      -            "null"
      -          ]
      -        },
      -        "type": {
      -          "type": "string"
      -        },
      -        "url": {
      -          "type": [
      -            "string",
      -            "null"
      -          ]
      -        }
      -      },
      -      "required": [
      -        "error"
      -      ],
      -      "type": "object"
      -    }
      -  ],
      -  "type": "object"
      -}New value: +null
  4. Changed14 schema fields changed
    • addedInput schema / properties / avoid / description
      Added value: +"Terms to penalize in recommendations."
    • addedInput schema / properties / city / description
      Added value: +"City name, for example berlin or new york."
    • addedInput schema / properties / date_from / description
      Added value: +"Inclusive start date in YYYY-MM-DD format."
    • addedInput schema / properties / date_to / description
      Added value: +"Inclusive end date in YYYY-MM-DD format."
    • addedInput schema / properties / featuring / description
      Added value: +"Artist or performer name."
    • addedInput schema / properties / limit / default
      Added value: +12
    • addedInput schema / properties / limit / description
      Added value: +"Results per page (default 12). The response's count field is the TOTAL matching events. Raise limit or use offset to page through more."
    • addedInput schema / properties / max_price / description
      Added value: +"Preference hint used by recommend_events and plan_night."
    • addedInput schema / properties / offset / default
      Added value: +0
    • removedInput schema / properties / promoter
      Removed value: -{
      -  "type": "string"
      -}
    • addedInput schema / properties / query / description
      Added value: +"Free-text search, hybrid-ranked by the live API: exact prefix > substring > fuzzy > semantic similarity over event embeddings. Handles soft natural-language intent ('dark queer warehouse rave', 'ambient listening bar') as well as literal names, and recognizes date phrases."
    • addedInput schema / properties / result_limit / default
      Added value: +10
    • addedInput schema / properties / when / description
      Added value: +"Date preset: today, tonight, tomorrow, weekend, week, this week, any, or YYYY-MM-DD."
    • changedOutput schema / (root)
      Previous value: -nullNew value: +{
      +  "anyOf": [
      +    {
      +      "properties": {
      +        "app_download_url": {
      +          "description": "Dizko iPhone app landing page.",
      +          "type": "string"
      +        },
      +        "assistant_instruction": {
      +          "type": "string"
      +        },
      +        "count": {
      +          "type": "number"
      +        },
      +        "events": {
      +          "items": {
      +            "properties": {
      +              "attendance_count": {
      +                "type": [
      +                  "number",
      +                  "null"
      +                ]
      +              },
      +              "calendar_url": {
      +                "description": "Prefilled Google Calendar link. Offer as 'Add to calendar'.",
      +                "type": [
      +                  "string",
      +                  "null"
      +                ]
      +              },
      +              "city": {
      +                "type": [
      +                  "string",
      +                  "null"
      +                ]
      +              },
      +              "description": {
      +                "description": "Short one-line event description for display.",
      +                "type": [
      +                  "string",
      +                  "null"
      +                ]
      +              },
      +              "directions_url": {
      +                "description": "Google Maps directions link. Offer as 'Get directions'.",
      +                "type": [
      +                  "string",
      +                  "null"
      +                ]
      +              },
      +              "ends_at": {
      +                "type": [
      +                  "string",
      +                  "null"
      +                ]
      +              },
      +              "event_types": {
      +                "items": {
      +                  "type": "string"
      +                },
      +                "type": "array"
      +              },
      +              "event_url": {
      +                "type": "string"
      +              },
      +              "genres": {
      +                "items": {
      +                  "type": "string"
      +                },
      +                "type": "array"
      +              },
      +              "id": {
      +                "type": "string"
      +              },
      +              "lineup": {
      +                "items": {
      +                  "type": "string"
      +                },
      +                "type": "array"
      +              },
      +              "price": {
      +                "type": [
      +                  "string",
      +                  "null"
      +                ]
      +              },
      +              "source": {
      +                "type": [
      +                  "string",
      +                  "null"
      +                ]
      +              },
      +              "starts_at": {
      +                "type": [
      +                  "string",
      +                  "null"
      +                ]
      +              },
      +              "ticket_url": {
      +                "type": [
      +                  "string",
      +                  "null"
      +                ]
      +              },
      +              "title": {
      +                "type": "string"
      +              },
      +              "venue": {
      +                "type": [
      +                  "string",
      +                  "null"
      +                ]
      +              },
      +              "vibe": {
      +                "items": {
      +                  "type": "string"
      +                },
      +                "type": "array"
      +              }
      +            },
      +            "required": [
      +              "id",
      +              "title",
      +              "event_url"
      +            ],
      +            "type": "object"
      +          },
      +          "type": "array"
      +        }
      +      },
      +      "required": [
      +        "count",
      +        "events"
      +      ],
      +      "type": "object"
      +    },
      +    {
      +      "properties": {
      +        "assistant_instruction": {
      +          "type": "string"
      +        },
      +        "cause": {
      +          "type": [
      +            "string",
      +            "null"
      +          ]
      +        },
      +        "classification": {
      +          "type": [
      +            "string",
      +            "null"
      +          ]
      +        },
      +        "code": {
      +          "type": [
      +            "string",
      +            "null"
      +          ]
      +        },
      +        "error": {
      +          "type": "string"
      +        },
      +        "hostname": {
      +          "type": [
      +            "string",
      +            "null"
      +          ]
      +        },
      +        "retryable": {
      +          "type": "boolean"
      +        },
      +        "status": {
      +          "type": [
      +            "number",
      +            "null"
      +          ]
      +        },
      +        "type": {
      +          "type": "string"
      +        },
      +        "url": {
      +          "type": [
      +            "string",
      +            "null"
      +          ]
      +        }
      +      },
      +      "required": [
      +        "error"
      +      ],
      +      "type": "object"
      +    }
      +  ],
      +  "type": "object"
      +}
  5. Changed1 schema field changed
    • addedInput schema / properties / promoter
      Added value: +{
      +  "type": "string"
      +}
  6. Changed13 schema fields changed
    • removedInput schema / properties / avoid / description
      Removed value: -"Terms to penalize in recommendations."
    • removedInput schema / properties / city / description
      Removed value: -"City name, for example berlin or new york."
    • removedInput schema / properties / date_from / description
      Removed value: -"Inclusive start date in YYYY-MM-DD format."
    • removedInput schema / properties / date_to / description
      Removed value: -"Inclusive end date in YYYY-MM-DD format."
    • removedInput schema / properties / featuring / description
      Removed value: -"Artist or performer name."
    • removedInput schema / properties / limit / default
      Removed value: -12
    • removedInput schema / properties / limit / description
      Removed value: -"Results per page (default 12). The response's count field is the TOTAL matching events. Raise limit or use offset to page through more."
    • removedInput schema / properties / max_price / description
      Removed value: -"Preference hint used by recommend_events and plan_night."
    • removedInput schema / properties / offset / default
      Removed value: -0
    • removedInput schema / properties / query / description
      Removed value: -"Free-text search, hybrid-ranked by the live API: exact prefix > substring > fuzzy > semantic similarity over event embeddings. Handles soft natural-language intent ('dark queer warehouse rave', 'ambient listening bar') as well as literal names, and recognizes date phrases."
    • removedInput schema / properties / result_limit / default
      Removed value: -10
    • removedInput schema / properties / when / description
      Removed value: -"Date preset: today, tonight, tomorrow, weekend, week, this week, any, or YYYY-MM-DD."
    • changedOutput schema / (root)
      Previous value: -{
      -  "anyOf": [
      -    {
      -      "properties": {
      -        "app_download_url": {
      -          "description": "Dizko iPhone app landing page.",
      -          "type": "string"
      -        },
      -        "assistant_instruction": {
      -          "type": "string"
      -        },
      -        "count": {
      -          "type": "number"
      -        },
      -        "events": {
      -          "items": {
      -            "properties": {
      -              "attendance_count": {
      -                "type": [
      -                  "number",
      -                  "null"
      -                ]
      -              },
      -              "calendar_url": {
      -                "description": "Prefilled Google Calendar link. Offer as 'Add to calendar'.",
      -                "type": [
      -                  "string",
      -                  "null"
      -                ]
      -              },
      -              "city": {
      -                "type": [
      -                  "string",
      -                  "null"
      -                ]
      -              },
      -              "description": {
      -                "description": "Short one-line event description for display.",
      -                "type": [
      -                  "string",
      -                  "null"
      -                ]
      -              },
      -              "directions_url": {
      -                "description": "Google Maps directions link. Offer as 'Get directions'.",
      -                "type": [
      -                  "string",
      -                  "null"
      -                ]
      -              },
      -              "ends_at": {
      -                "type": [
      -                  "string",
      -                  "null"
      -                ]
      -              },
      -              "event_types": {
      -                "items": {
      -                  "type": "string"
      -                },
      -                "type": "array"
      -              },
      -              "event_url": {
      -                "type": "string"
      -              },
      -              "genres": {
      -                "items": {
      -                  "type": "string"
      -                },
      -                "type": "array"
      -              },
      -              "id": {
      -                "type": "string"
      -              },
      -              "lineup": {
      -                "items": {
      -                  "type": "string"
      -                },
      -                "type": "array"
      -              },
      -              "price": {
      -                "type": [
      -                  "string",
      -                  "null"
      -                ]
      -              },
      -              "source": {
      -                "type": [
      -                  "string",
      -                  "null"
      -                ]
      -              },
      -              "starts_at": {
      -                "type": [
      -                  "string",
      -                  "null"
      -                ]
      -              },
      -              "ticket_url": {
      -                "type": [
      -                  "string",
      -                  "null"
      -                ]
      -              },
      -              "title": {
      -                "type": "string"
      -              },
      -              "venue": {
      -                "type": [
      -                  "string",
      -                  "null"
      -                ]
      -              },
      -              "vibe": {
      -                "items": {
      -                  "type": "string"
      -                },
      -                "type": "array"
      -              }
      -            },
      -            "required": [
      -              "id",
      -              "title",
      -              "event_url"
      -            ],
      -            "type": "object"
      -          },
      -          "type": "array"
      -        }
      -      },
      -      "required": [
      -        "count",
      -        "events"
      -      ],
      -      "type": "object"
      -    },
      -    {
      -      "properties": {
      -        "assistant_instruction": {
      -          "type": "string"
      -        },
      -        "cause": {
      -          "type": [
      -            "string",
      -            "null"
      -          ]
      -        },
      -        "classification": {
      -          "type": [
      -            "string",
      -            "null"
      -          ]
      -        },
      -        "code": {
      -          "type": [
      -            "string",
      -            "null"
      -          ]
      -        },
      -        "error": {
      -          "type": "string"
      -        },
      -        "hostname": {
      -          "type": [
      -            "string",
      -            "null"
      -          ]
      -        },
      -        "retryable": {
      -          "type": "boolean"
      -        },
      -        "status": {
      -          "type": [
      -            "number",
      -            "null"
      -          ]
      -        },
      -        "type": {
      -          "type": "string"
      -        },
      -        "url": {
      -          "type": [
      -            "string",
      -            "null"
      -          ]
      -        }
      -      },
      -      "required": [
      -        "error"
      -      ],
      -      "type": "object"
      -    }
      -  ],
      -  "type": "object"
      -}New value: +null
  7. First observed

TDQS

A4.4/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already cover readOnly/idempotent/non-destructive, and the description adds real substance: taste from profile_id ranks but never filters, hard vs soft filters, and a no_results payload with ordered suggested_relaxations that can be retried. That is genuine behavioral context beyond the annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

A single dense paragraph, front-loaded with the usage trigger, then return shape, then filter semantics, then the no-results path. Every sentence carries information that affects an invocation; nothing is filler.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With 28 parameters and no output schema, the description helpfully characterizes the returned fields, count semantics, and empty-result behavior. It leaves some structured behavior (pagination via next_cursor, fields selection) to the schema, but nothing essential is missing for correct invocation.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so baseline is 3, but the description adds the crucial distinction that genres/vibe/event_types/price_max/venue/featuring are hard filters while avoid/max_price are ranking hints, and clarifies the profile_id+profile_secret pairing. This meaningfully supplements the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource (search live events) plus the trigger condition (user asks what's on and names a city, venue, artist, or timeframe), and enumerates the return payload. This is distinct from siblings like recommend_events, get_event, and get_artist_events.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Gives a clear when-to-use trigger and explains the hard-filter vs ranking-hint split, which governs how to pick parameters. It does not explicitly name alternative tools (e.g. recommend_events) or state when this tool should not be used, so it stops short of a 5.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources