Skip to main content
Glama

Search artists, teams, venues and events

search_catalog
Read-onlyIdempotent

Use this when the user names an artist, team, venue or event and you need the matching TicketSea records. Ranked search with prefixes, aliases and labeled one-edit corrections. Artist and venue matches are worldwide; an event radius needs a city ID or a full City, Region, Country label. Events, artists, teams and venues come with a tickets link (detail says what it is). Results are cached listings, not live inventory, and this is a search by name, not a dated list of events.

Input Schema

NameRequiredDescriptionDefault
toNo
cityNoCity the user asked about: a TicketSea city ID or an exact City, Region, Country label. Required for a distance radius.
fromNo
modeNosuggest is a bounded autocomplete preview without pagination; short prefixes match names and aliases. Use results for full context matching and pagination.results
saleNosoon selects events whose public on-sale has not started yet. Give a specific query (an artist or a city name) with it; use radius 200 for local on-sales.
typeNoLimit results to one record type.
limitNo
queryNoArtist, team, venue or event name, or the start of one.
offsetNo
radiusNoMiles around city for event results.anywhere

Output Schema

NameRequiredDescriptionDefault
queryYes
groupsYes
noticeYes
radiusNo
locationNo
indexStaleYes
correctedQueryNo
indexUpdatedAtYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed2 schema fields changed
    • removedOutput schema / properties / groups / items / properties
      Removed value: -{
      -  "hasMore": {
      -    "type": "boolean"
      -  },
      -  "items": {
      -    "items": {
      -      "properties": {
      -        "checked": {
      -          "description": "Original event retrieval Unix timestamp, not an inventory check",
      -          "type": "integer"
      -        },
      -        "date": {
      -          "type": "string"
      -        },
      -        "detail": {
      -          "type": "string"
      -        },
      -        "image": {
      -          "type": "string"
      -        },
      -        "kind": {
      -          "type": "string"
      -        },
      -        "name": {
      -          "type": "string"
      -        },
      -        "pricing": {
      -          "description": "Informational published ranges, not current available offers. Prices may change moment to moment and are not guaranteed. Fees and taxes may be additional. When ranges is empty, omit the price line. Never combine primary/resale sellers or currencies.",
      -          "properties": {
      -            "inventoryVerified": {
      -              "const": false,
      -              "type": "boolean"
      -            },
      -            "label": {
      -              "type": "string"
      -            },
      -            "notice": {
      -              "type": "string"
      -            },
      -            "ranges": {
      -              "items": {
      -                "properties": {
      -                  "checkedAt": {
      -                    "type": "string"
      -                  },
      -                  "currency": {
      -                    "type": "string"
      -                  },
      -                  "feeInclusion": {
      -                    "const": "unknown",
      -                    "type": "string"
      -                  },
      -                  "label": {
      -                    "type": "string"
      -                  },
      -                  "maxMinor": {
      -                    "minimum": 1,
      -                    "type": "integer"
      -                  },
      -                  "minMinor": {
      -                    "minimum": 1,
      -                    "type": "integer"
      -                  },
      -                  "minorUnit": {
      -                    "maximum": 3,
      -                    "minimum": 0,
      -                    "type": "integer"
      -                  },
      -                  "provider": {
      -                    "type": "string"
      -                  },
      -                  "sourceType": {
      -                    "type": "string"
      -                  },
      -                  "validUntil": {
      -                    "description": "Expiry in Unix milliseconds. Discard at this time even if cached.",
      -                    "type": "integer"
      -                  }
      -                },
      -                "required": [
      -                  "provider",
      -                  "sourceType",
      -                  "currency",
      -                  "minMinor",
      -                  "maxMinor",
      -                  "minorUnit",
      -                  "checkedAt",
      -                  "validUntil",
      -                  "label",
      -                  "feeInclusion"
      -                ],
      -                "type": "object"
      -              },
      -              "type": "array"
      -            }
      -          },
      -          "required": [
      -            "label",
      -            "ranges",
      -            "notice",
      -            "inventoryVerified"
      -          ],
      -          "type": "object"
      -        },
      -        "slug": {
      -          "type": "string"
      -        },
      -        "url": {
      -          "description": "Relative canonical TicketSea URL",
      -          "type": "string"
      -        }
      -      },
      -      "required": [
      -        "kind",
      -        "slug",
      -        "name",
      -        "url",
      -        "detail"
      -      ],
      -      "type": "object"
      -    },
      -    "type": "array"
      -  },
      -  "label": {
      -    "type": "string"
      -  },
      -  "nextOffset": {
      -    "type": [
      -      "integer",
      -      "null"
      -    ]
      -  },
      -  "scanLimited": {
      -    "type": "boolean"
      -  },
      -  "type": {
      -    "type": "string"
      -  }
      -}
    • removedOutput schema / properties / groups / items / required
      Removed value: -[
      -  "type",
      -  "label",
      -  "items",
      -  "hasMore",
      -  "scanLimited"
      -]
  2. First observed

TDQS

A4.5/5.0
Behavior5/5

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

Annotations only cover the safety profile (readOnly, idempotent, non-destructive, closed-world); the description adds substantive behavior: ranking with prefixes, aliases and one-edit corrections, worldwide artist/venue scope versus city-bound event radius, a tickets link per result, and the crucial caveat that results are cached listings, not live inventory.

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

Conciseness4/5

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

Compact and front-loaded: the usage trigger comes first, then ranking semantics, then geographic constraints, then the cache caveat. A few clauses are dense ('detail says what it is'), but every sentence carries information.

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 an output schema present, return-value explanation is unnecessary, and the description covers the tricky bits: radius/city dependency, cached-not-live data, and name-vs-date search. The date parameters (from/to) and pagination interaction with offset are left entirely to the schema.

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 60%, and the description compensates for part of the gap by stating that an event radius needs a city ID or an exact City, Region, Country label and by characterizing the matching behavior behind query/mode. It adds little about from/to dates or the sale filter, which remain schema-only.

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 concrete verb and resource ('search artists, teams, venues and events' / matching TicketSea records) and explicitly delimits scope: 'this is a search by name, not a dated list of events', which separates it from search_events. An agent can pick between the two without opening a schema.

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?

'Use this when the user names an artist, team, venue or event and you need the matching TicketSea records' gives a clear trigger, and the closing clause rules out dated-list use. It stops short of naming the sibling (search_events/search_catalog alternatives) directly, so the exclusion is implied rather than routed.

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