TicketSea
Server Details
Find live events, ticket price trends and each seller's tickets. Some links are affiliate links.
- Status
- Healthy
- Uptime
- 99.8% over 22 days
- Last Tested
- Transport
- Streamable HTTP · MCP 2025-11-25
- URL
TDQS
Scored across 7 tools
Most tools are cleanly separated by resource and verb: get_event (details), get_ticket_prices (price movement), get_ticket_links (seller links), get_service_status (data freshness). The main friction is search_catalog vs search_events, which both return events and could be confused, and prepare_event_visit, which partially re-aggregates get_event + get_ticket_links rather than offering a wholly unique result.
All seven tools use a consistent snake_case verb_noun pattern (get_*, search_*, prepare_*), with clear, predictable verb choice (get for single-resource fetch, search for discovery). No mixed camelCase or vague standalone verbs.
Seven tools is well within the ideal 3-15 range and each maps to a distinct user intent (search, event detail, prices, links, planning, status). Nothing feels redundant or padded, and no intent is split across multiple near-identical tools.
The surface covers the core discovery lifecycle: name search, event search, event detail, pricing, seller links, and trip planning, plus a data-freshness probe. Minor gaps exist (e.g. no standalone venue or artist detail retrieval, no explicit category/browse endpoint), but agents can work around these via search_catalog.
Available Tools
7 toolsget_eventGet event detailsARead-onlyIdempotentInspect
Use this when you have an event's slug from a search result and need that event's current details: date, local time, venue, sale state, cancellation and any published price range. Returns the newest available snapshot; older details are returned explicitly marked stale.
| Name | Required | Description | Default |
|---|---|---|---|
| slug | Yes | Exact event slug from a search result; not an artist or venue slug. |
Output Schema
| Name | Required | Description |
|---|---|---|
| url | Yes | |
| city | Yes | |
| date | Yes | |
| name | Yes | |
| slug | Yes | |
| stale | Yes | |
| venue | Yes | |
| notice | Yes | |
| onSale | Yes | |
| region | Yes | |
| status | Yes | |
| country | Yes | |
| pricing | No | |
| tickets | No | |
| dateTime | Yes | |
| timezone | Yes | |
| localTime | Yes | |
| publicSaleState | Yes | |
| listingUpdatedAt | Yes | |
| inventoryVerified | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover the safety profile (readOnly, idempotent, non-destructive), so the description earns credit for adding freshness semantics not present in structured data: it returns the newest snapshot and flags older details as stale. That staleness signal is genuinely useful for an agent deciding whether to trust the data. Return field details are somewhat redundant with the output schema.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, front-loaded with the trigger condition, then the payload and the freshness caveat. Every clause contributes something: usage condition, returned fields, staleness behavior.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so the description doesn't need to specify return structure — and it correctly stops at naming the key fields. Combined with the freshness/staleness note and the slug provenance, an agent has everything needed to call this correctly and interpret the result.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% and the slug parameter already documents format and the 'not artist/venue' restriction. The description only restates that the slug comes from a search result, adding a small amount of provenance context rather than new syntax or format meaning. Baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource ('get that event's current details') and enumerates the returned facets (date, local time, venue, sale state, cancellation, price range). This clearly distinguishes it from sibling lookups like get_ticket_prices, get_ticket_links, and search_events.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Gives a clear triggering condition: 'when you have an event's slug from a search result.' That implicitly routes the agent to run search_events first when no slug exists, and the schema reinforces 'not an artist or venue slug.' However, no sibling is named explicitly and no when-not-to-use case is stated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_service_statusCheck listing freshnessARead-onlyIdempotentInspect
Use this when a search fails or returns nothing unexpectedly and you need to know whether TicketSea's listings are current. Returns the latest snapshot time for each country. This is not a seller uptime or booking success measurement.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
| mode | Yes | |
| notice | Yes | |
| service | Yes | |
| bookingSupported | Yes | |
| countrySnapshots | Yes | |
| paymentSupported | Yes | |
| hasRecentSnapshot | Yes | |
| latestListingUpdatedAt | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, openWorldHint=false and destructiveHint=false, so the safety profile is fully covered and the description only needs to add interpretive context. It does add one useful clarification (that returned times measure listing freshness, not seller uptime or booking success), which prevents misread results, but adds nothing about latency, caching, or per-country coverage limits beyond that single caveat.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three short sentences: trigger first, return value second, disambiguation last. Every sentence carries a distinct piece of information and none repeats the title or annotations.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a zero-parameter, read-only diagnostic with an output schema and rich annotations, the description covers what it returns, when to reach for it, and what it must not be mistaken for. Nothing needed to call it correctly is absent.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool takes zero parameters, so there is nothing for the description to disambiguate and the baseline is 4. The description adds nothing misleading about invocation.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a specific resource and output: "Returns the latest snapshot time for each country." It implicitly separates itself from search_* siblings via the "when a search fails" framing and the explicit disclaimer that it is not uptime or booking-success data, though no sibling tool is ever named.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The trigger condition is explicit and actionable: "Use this when a search fails or returns nothing unexpectedly." It also excludes a plausible misreading ("not a seller uptime or booking success measurement"), but it never names a concrete alternative tool to call instead, so the routing to siblings remains implicit.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_ticket_linksGet ticket links for an eventARead-onlyIdempotentInspect
Use this when the user wants to buy or compare tickets for one specific event. Returns the exact-event seller links from a fresh, upcoming snapshot (links), each labeled primary or resale, official and affiliate, and the other sellers the event's TicketSea page offers (otherSellers), such as resale marketplaces, each with a description of what the link is; some are a search for the event rather than its own page. Does not check stock or reserve tickets. Canceled, past and stale events return no links.
| Name | Required | Description | Default |
|---|---|---|---|
| slug | Yes | Exact event slug from a search result; not an artist or venue slug. |
Output Schema
| Name | Required | Description |
|---|---|---|
| url | Yes | |
| city | Yes | |
| date | Yes | |
| name | Yes | |
| slug | Yes | |
| links | Yes | |
| stale | Yes | |
| venue | Yes | |
| notice | Yes | |
| onSale | Yes | |
| region | Yes | |
| status | Yes | |
| country | Yes | |
| pricing | No | |
| tickets | No | |
| dateTime | Yes | |
| timezone | Yes | |
| localTime | Yes | |
| otherSellers | No | |
| publicSaleState | Yes | |
| handoffAvailable | Yes | |
| listingUpdatedAt | Yes | |
| inventoryVerified | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Beyond the readOnly/idempotent annotations, it discloses the snapshot is fresh and upcoming-only, that dead events return empty, that it performs no stock check or reservation, and that some otherSellers entries are event searches rather than the event's own page — exactly the caveats an agent needs before presenting links.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Front-loaded with the selection trigger, then the return shape, then the exclusions. Dense but the middle sentence is long and packs several qualifiers, slightly taxing to parse, though no sentence is expendable.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With annotations covering safety and an output schema covering the return structure, the description only needs to cover selection and edge behavior — and it does, including empty-result conditions and the nature of otherSellers entries.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% and the slug property already states 'Exact event slug from a search result; not an artist or venue slug', including a pattern. The description adds no further slug format or sourcing detail, so the baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb+resource (returns ticket seller links for one exact event) and enumerates the payload shape: links vs otherSellers, primary/resale, official/affiliate. It does not name the closest sibling (get_ticket_prices), so the agent must infer the boundary from 'Does not check stock or reserve tickets' rather than an explicit contrast.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
'Use this when the user wants to buy or compare tickets for one specific event' is a clear positive trigger, and 'Does not check stock or reserve tickets' plus 'canceled, past and stale events return no links' rules out the purchase-flow and dead-event cases. No alternative tool is named, so routing to get_ticket_prices or get_event is left to inference.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_ticket_pricesGet ticket price trendsARead-onlyIdempotentInspect
Use this when the user asks whether tickets are getting cheaper or pricier, what it costs to get in, which events dropped or rose in price this week, or how an event's price has moved. Returns TicketSea's daily ticket price figures from TickPick's lowest listed all-in prices: the median get-in price (overall or for one category such as nfl or concerts) against a week earlier, the week's biggest drops and rises and the priciest events, each with its TicketSea page. With slug, one event's lowest price by day since TicketSea began tracking it. Mostly US events; one marketplace, one listing per day, not live inventory. Credit the figures as "TicketSea analysis of TickPick listings" with a link to the page.
| Name | Required | Description | Default |
|---|---|---|---|
| slug | No | An event slug from a search result, for that event's lowest price by day. | |
| category | No | Only this category's figures: nfl, nba, nhl, mlb, wnba, concerts, theatre, family or sports. Omit for every event. |
Output Schema
| Name | Required | Description |
|---|---|---|
| url | No | |
| asOf | No | |
| name | No | |
| page | No | |
| about | No | |
| daily | No | |
| event | No | |
| index | No | |
| credit | Yes | |
| lowest | No | |
| notice | No | |
| source | No | |
| highest | No | |
| license | No | |
| message | No | |
| weekAgo | No | |
| currency | No | |
| available | Yes | |
| categories | No | |
| catalogTime | No | |
| methodology | No | |
| biggestDrops | No | |
| biggestRises | No | |
| changePercent | No | |
| lowestPriceNow | No | |
| priciestNext30Days | No | |
| cheapestNextTwoWeeks | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Goes well beyond the readOnly/idempotent annotations: it discloses the data lineage (TicketSea analysis of TickPick lowest listed all-in prices), sampling constraints (one marketplace, one listing per day, not live inventory), geographic scope (mostly US events), and an attribution obligation. These are the caveats an agent needs to avoid overclaiming the numbers.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Front-loaded with the usage trigger, then behavior, then the attribution caveat — a sensible order. It is dense and runs long in the middle sentence, but every clause (lineage, cadence, scope, attribution) carries information an agent cannot get from the schema.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a two-optional-param read tool with an output schema, annotations, and full schema coverage, nothing needed to call it correctly is missing. The description supplies the interpretive context (non-live data, single-source sampling, required attribution) that structured fields cannot express.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the baseline is 3; the description adds real value by explaining what each mode returns — with slug, one event's lowest price by day since tracking began; with category, that category's figures. It doesn't state that the two parameters combine or that category is ignored when slug is set, which would have taken it to 5.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource (returns daily ticket price figures, median get-in price, weekly drops/rises) and names the underlying data source. It is clearly distinguishable from siblings like get_event, get_ticket_links, and search_events, which do retrieval/listing rather than price-trend analysis.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Opens with an explicit 'Use this when the user asks whether tickets are getting cheaper or pricier...' trigger list that covers the realistic intent space. It does not name an alternative tool or state when-not to use it, so it stops short of a full routing rule.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
prepare_event_visitPlan a visit to an eventARead-onlyIdempotentInspect
Use this when the user is planning a trip to one specific event and wants tickets together with a place to stay, parking or directions. One call returns the latest event details, every seller link for the event, the venue address, suggested stay dates and search links for hotels, parking, directions and things to do. Planning only; nothing is booked or saved. Stale or inactive events have no planning links.
| Name | Required | Description | Default |
|---|---|---|---|
| slug | Yes | Exact event slug from a search result; not an artist or venue slug. |
Output Schema
| Name | Required | Description |
|---|---|---|
| url | Yes | |
| city | Yes | |
| date | Yes | |
| name | Yes | |
| slug | Yes | |
| links | Yes | |
| stale | Yes | |
| venue | Yes | |
| visit | Yes | |
| notice | Yes | |
| onSale | Yes | |
| region | Yes | |
| status | Yes | |
| country | Yes | |
| pricing | No | |
| tickets | No | |
| dateTime | Yes | |
| timezone | Yes | |
| localTime | Yes | |
| otherSellers | No | |
| publicSaleState | Yes | |
| handoffAvailable | Yes | |
| listingUpdatedAt | Yes | |
| inventoryVerified | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly, idempotent, non-destructive and closed-world, so the safety burden is light. The description still adds real context beyond them: what one call aggregates, 'nothing is booked or saved', and the edge case that 'stale or inactive events have no planning links' — the last is genuinely useful pre-call knowledge.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three tight sentences: trigger first, then return contents, then constraints. Every sentence carries information an agent needs and nothing is redundant.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so the description is free to summarize rather than explain returns, and it does. Combined with annotation coverage and the stale-event caveat, an agent has everything needed to decide and invoke correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
There is a single required parameter and schema description coverage is 100%: the schema itself says 'Exact event slug from a search result; not an artist or venue slug.' The description adds nothing about the slug, so baseline 3 applies since the schema carries the full load.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource ('planning a trip to one specific event') and enumerates the bundled artifacts returned (tickets, stay, parking, directions). This clearly separates it from single-purpose siblings like get_event, get_ticket_links and get_ticket_prices.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Opens with an explicit trigger condition ('Use this when the user is planning a trip to one specific event...'), which gives an agent a clear selection rule. It stops short of naming alternatives or when-not-to-use cases (e.g., browsing multiple events, which would push toward search_events), so it is strong but not fully routing-complete.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_catalogSearch artists, teams, venues and eventsARead-onlyIdempotentInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| to | No | ||
| city | No | City the user asked about: a TicketSea city ID or an exact City, Region, Country label. Required for a distance radius. | |
| from | No | ||
| mode | No | suggest is a bounded autocomplete preview without pagination; short prefixes match names and aliases. Use results for full context matching and pagination. | results |
| sale | No | soon 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. | |
| type | No | Limit results to one record type. | |
| limit | No | ||
| query | No | Artist, team, venue or event name, or the start of one. | |
| offset | No | ||
| radius | No | Miles around city for event results. | anywhere |
Output Schema
| Name | Required | Description |
|---|---|---|
| query | Yes | |
| groups | Yes | |
| notice | Yes | |
| radius | No | |
| location | No | |
| indexStale | Yes | |
| correctedQuery | No | |
| indexUpdatedAt | Yes |
TDQS
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.
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.
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.
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.
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.
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.
search_eventsFind upcoming eventsARead-onlyIdempotentInspect
Use this when the user wants upcoming concerts, sports, theatre or other live events by performer or event name, city, country, category or dates. Returns cached provider listings in date order. Each upcoming event has its TicketSea page (url) and a tickets link: the seller's page for that exact event, else another seller's (detail says what it is), else the TicketSea page. Not live inventory, and nothing is purchased. Use nextOffset to page, and narrow the filters when scanLimited is true.
| Name | Required | Description | Default |
|---|---|---|---|
| to | No | ||
| city | No | City the user asked about, such as Seattle, or a postal code (98101). For "near me", pass "near me": ChatGPT's approximate location places it; elsewhere use the user's city if you know it, else ask. | |
| from | No | ||
| kind | No | ||
| limit | No | ||
| query | No | Artist, team, event or venue text. | |
| offset | No | ||
| country | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| events | Yes | |
| notice | Yes | |
| hasMore | Yes | |
| sources | Yes | |
| coverage | Yes | |
| nextStep | No | |
| nextOffset | Yes | |
| scanLimited | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The annotations already declare read-only, idempotent and non-destructive, but the description adds substantial context beyond them: results are cached provider listings in date order, not live inventory, and nothing is purchased. It also specifies the URL resolution rule — seller's page for the exact event, else another seller's page, else the TicketSea page — plus pagination behaviour and what scanLimited means for controlling result completeness.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Four densely packed sentences, front-loaded with the trigger condition and followed by return behaviour, caveats, and paging. Almost every clause carries new information; the tickets-link fallback chain is the longest part but is genuinely non-obvious and worth the space.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return values are largely covered elsewhere, yet the description still explains the detail field and the tickets link fallback, which makes the response interpretable. The remaining gap is the undocumented offset/limit semantics and what an empty result set looks like.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is only 25% (city and query only), so the description needs to carry weight. It partially does by mapping the filter dimensions to the intent (performer/name to query, city, country, category to kind, dates to from/to), but that mapping is implicit. Worse, "Use nextOffset to page" names a field that does not exist in the input schema, which exposes an offset versus nextOffset ambiguity the agent has to resolve.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a clear verb and resource — find upcoming live events — and enumerates the ways to narrow them (performer, name, city, country, category, dates), which is concrete and far from a restatement of the name. It does not explicitly name any of the siblings (get_event, search_catalog, get_ticket_prices), so an agent must infer the boundary from context rather than being told.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
"Use this when the user wants upcoming concerts, sports, theatre or other live events..." is an explicit trigger condition tied to user intent, which is exactly what routing needs. It stops short of 5 because there are no exclusions or named alternatives — nothing says when to prefer get_event or get_ticket_prices instead.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
1 tool update
- Changed
search_events1 field changed- changed
Input schema / properties / city / descriptionPrevious value: -"City the user asked about, as an exact city name (case-insensitive), such as Seattle. Location is never inferred."New value: +"City the user asked about, such as Seattle, or a postal code (98101). For \"near me\", pass \"near me\": ChatGPT's approximate location places it; elsewhere use the user's city if you know it, else ask."
1 tool update
- Changed
search_events1 field changed- added
Output schema / properties / nextStepAdded value: +{ + "type": "string" +}
7 tool updates
- Changed
get_event15 fields changed- removed
Output schema / properties / date / descriptionRemoved value: -"Venue-local date; may be blank if unknown." - removed
Output schema / properties / dateTime / descriptionRemoved value: -"Provider absolute start timestamp when supplied." - removed
Output schema / properties / listingUpdatedAt / descriptionRemoved value: -"Original listing retrieval timestamp; not a stock check." - removed
Output schema / properties / localTime / descriptionRemoved value: -"Venue-local time; may be blank if unknown." - removed
Output schema / properties / pricing / descriptionRemoved value: -"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." - removed
Output schema / properties / pricing / properties / inventoryVerified / constRemoved value: -false - removed
Output schema / properties / pricing / properties / ranges / items / propertiesRemoved value: -{ - "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" - } -} - removed
Output schema / properties / pricing / properties / ranges / items / requiredRemoved value: -[ - "provider", - "sourceType", - "currency", - "minMinor", - "maxMinor", - "minorUnit", - "checkedAt", - "validUntil", - "label", - "feeInclusion" -] - removed
Output schema / properties / publicSaleState / descriptionRemoved value: -"Schedule state, not inventory. registration means restricted registration access, not an open general sale." - removed
Output schema / properties / tickets / descriptionRemoved value: -"The first exact-event seller link for this performance, present only for a fresh, upcoming listing with a known seller page. The link opens the seller's page for this event through ticketsea.com/go/. It is not an availability check, and the event can have other sellers." - removed
Output schema / properties / tickets / properties / affiliate / descriptionRemoved value: -"TicketSea may earn a commission from this seller." - removed
Output schema / properties / tickets / properties / type / descriptionRemoved value: -"primary or resale." - removed
Output schema / properties / tickets / properties / url / formatRemoved value: -"uri" - removed
Output schema / properties / timezone / descriptionRemoved value: -"Provider timezone; may be blank if unknown. Do not invent one." - removed
Output schema / properties / url / formatRemoved value: -"uri"
- Changed
get_service_status2 fields changed- removed
Output schema / properties / countrySnapshots / items / propertiesRemoved value: -{ - "country": { - "type": "string" - }, - "listingUpdatedAt": { - "type": "string" - }, - "stale": { - "type": "boolean" - } -} - removed
Output schema / properties / countrySnapshots / items / requiredRemoved value: -[ - "country", - "listingUpdatedAt", - "stale" -]
- Changed
get_ticket_links21 fields changed- removed
Output schema / properties / date / descriptionRemoved value: -"Venue-local date; may be blank if unknown." - removed
Output schema / properties / dateTime / descriptionRemoved value: -"Provider absolute start timestamp when supplied." - removed
Output schema / properties / handoffAvailable / descriptionRemoved value: -"At least one exact-event seller link exists; this does not mean tickets remain." - removed
Output schema / properties / links / items / propertiesRemoved value: -{ - "affiliate": { - "type": "boolean" - }, - "destination": { - "description": "REST only: the seller page the link leads to, for display; may be blank. Link people to url.", - "type": "string" - }, - "inventoryVerified": { - "const": false, - "type": "boolean" - }, - "official": { - "type": "boolean" - }, - "purpose": { - "const": "external_event_checkout", - "type": "string" - }, - "seller": { - "type": "string" - }, - "type": { - "type": "string" - }, - "url": { - "description": "Link to show the person: opens the seller's page for this event through ticketsea.com/go/.", - "format": "uri", - "type": "string" - } -} - removed
Output schema / properties / links / items / requiredRemoved value: -[ - "url", - "seller", - "type", - "official", - "affiliate", - "purpose", - "inventoryVerified" -] - removed
Output schema / properties / listingUpdatedAt / descriptionRemoved value: -"Original listing retrieval timestamp; not a stock check." - removed
Output schema / properties / localTime / descriptionRemoved value: -"Venue-local time; may be blank if unknown." - removed
Output schema / properties / otherSellers / descriptionRemoved value: -"Other sellers the event's TicketSea page offers, such as resale marketplaces and box offices, in page order. detail is the page's own description of the link; some are a search for the event rather than a page for this exact performance. Empty for stale, canceled and past events." - removed
Output schema / properties / otherSellers / items / propertiesRemoved value: -{ - "affiliate": { - "type": "boolean" - }, - "detail": { - "type": "string" - }, - "inventoryVerified": { - "const": false, - "type": "boolean" - }, - "seller": { - "type": "string" - }, - "url": { - "format": "uri", - "type": "string" - } -} - removed
Output schema / properties / otherSellers / items / requiredRemoved value: -[ - "url", - "seller", - "detail", - "affiliate", - "inventoryVerified" -] - removed
Output schema / properties / pricing / descriptionRemoved value: -"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." - removed
Output schema / properties / pricing / properties / inventoryVerified / constRemoved value: -false - removed
Output schema / properties / pricing / properties / ranges / items / propertiesRemoved value: -{ - "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" - } -} - removed
Output schema / properties / pricing / properties / ranges / items / requiredRemoved value: -[ - "provider", - "sourceType", - "currency", - "minMinor", - "maxMinor", - "minorUnit", - "checkedAt", - "validUntil", - "label", - "feeInclusion" -] - removed
Output schema / properties / publicSaleState / descriptionRemoved value: -"Schedule state, not inventory. registration means restricted registration access, not an open general sale." - removed
Output schema / properties / tickets / descriptionRemoved value: -"The first exact-event seller link for this performance, present only for a fresh, upcoming listing with a known seller page. The link opens the seller's page for this event through ticketsea.com/go/. It is not an availability check, and the event can have other sellers." - removed
Output schema / properties / tickets / properties / affiliate / descriptionRemoved value: -"TicketSea may earn a commission from this seller." - removed
Output schema / properties / tickets / properties / type / descriptionRemoved value: -"primary or resale." - removed
Output schema / properties / tickets / properties / url / formatRemoved value: -"uri" - removed
Output schema / properties / timezone / descriptionRemoved value: -"Provider timezone; may be blank if unknown. Do not invent one." - removed
Output schema / properties / url / formatRemoved value: -"uri"
- Changed
get_ticket_prices1 field changed- removed
Output schema / properties / daily / items / propertiesRemoved value: -{ - "date": { - "type": "string" - }, - "lowestPrice": { - "type": "number" - } -}
- Changed
prepare_event_visit29 fields changed- removed
Output schema / properties / date / descriptionRemoved value: -"Venue-local date; may be blank if unknown." - removed
Output schema / properties / dateTime / descriptionRemoved value: -"Provider absolute start timestamp when supplied." - removed
Output schema / properties / handoffAvailable / descriptionRemoved value: -"At least one exact-event seller link exists; this does not mean tickets remain." - removed
Output schema / properties / links / items / propertiesRemoved value: -{ - "affiliate": { - "type": "boolean" - }, - "destination": { - "description": "REST only: the seller page the link leads to, for display; may be blank. Link people to url.", - "type": "string" - }, - "inventoryVerified": { - "const": false, - "type": "boolean" - }, - "official": { - "type": "boolean" - }, - "purpose": { - "const": "external_event_checkout", - "type": "string" - }, - "seller": { - "type": "string" - }, - "type": { - "type": "string" - }, - "url": { - "description": "Link to show the person: opens the seller's page for this event through ticketsea.com/go/.", - "format": "uri", - "type": "string" - } -} - removed
Output schema / properties / links / items / requiredRemoved value: -[ - "url", - "seller", - "type", - "official", - "affiliate", - "purpose", - "inventoryVerified" -] - removed
Output schema / properties / listingUpdatedAt / descriptionRemoved value: -"Original listing retrieval timestamp; not a stock check." - removed
Output schema / properties / localTime / descriptionRemoved value: -"Venue-local time; may be blank if unknown." - removed
Output schema / properties / otherSellers / descriptionRemoved value: -"Other sellers the event's TicketSea page offers, such as resale marketplaces and box offices, in page order. detail is the page's own description of the link; some are a search for the event rather than a page for this exact performance. Empty for stale, canceled and past events." - removed
Output schema / properties / otherSellers / items / propertiesRemoved value: -{ - "affiliate": { - "type": "boolean" - }, - "detail": { - "type": "string" - }, - "inventoryVerified": { - "const": false, - "type": "boolean" - }, - "seller": { - "type": "string" - }, - "url": { - "format": "uri", - "type": "string" - } -} - removed
Output schema / properties / otherSellers / items / requiredRemoved value: -[ - "url", - "seller", - "detail", - "affiliate", - "inventoryVerified" -] - removed
Output schema / properties / pricing / descriptionRemoved value: -"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." - removed
Output schema / properties / pricing / properties / inventoryVerified / constRemoved value: -false - removed
Output schema / properties / pricing / properties / ranges / items / propertiesRemoved value: -{ - "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" - } -} - removed
Output schema / properties / pricing / properties / ranges / items / requiredRemoved value: -[ - "provider", - "sourceType", - "currency", - "minMinor", - "maxMinor", - "minorUnit", - "checkedAt", - "validUntil", - "label", - "feeInclusion" -] - removed
Output schema / properties / publicSaleState / descriptionRemoved value: -"Schedule state, not inventory. registration means restricted registration access, not an open general sale." - removed
Output schema / properties / tickets / descriptionRemoved value: -"The first exact-event seller link for this performance, present only for a fresh, upcoming listing with a known seller page. The link opens the seller's page for this event through ticketsea.com/go/. It is not an availability check, and the event can have other sellers." - removed
Output schema / properties / tickets / properties / affiliate / descriptionRemoved value: -"TicketSea may earn a commission from this seller." - removed
Output schema / properties / tickets / properties / type / descriptionRemoved value: -"primary or resale." - removed
Output schema / properties / tickets / properties / url / formatRemoved value: -"uri" - removed
Output schema / properties / timezone / descriptionRemoved value: -"Provider timezone; may be blank if unknown. Do not invent one." - removed
Output schema / properties / url / formatRemoved value: -"uri" - removed
Output schema / properties / visit / properties / bookingCreated / constRemoved value: -false - removed
Output schema / properties / visit / properties / planningAvailable / descriptionRemoved value: -"The event snapshot is fresh and upcoming; this does not confirm availability." - removed
Output schema / properties / visit / properties / suggestedStay / propertiesRemoved value: -{ - "checkIn": { - "format": "date", - "type": "string" - }, - "checkOut": { - "format": "date", - "type": "string" - } -} - removed
Output schema / properties / visit / properties / suggestedStay / requiredRemoved value: -[ - "checkIn", - "checkOut" -] - removed
Output schema / properties / visit / properties / travelLinks / items / propertiesRemoved value: -{ - "affiliate": { - "type": "boolean" - }, - "detail": { - "type": "string" - }, - "title": { - "type": "string" - }, - "url": { - "format": "uri", - "type": "string" - } -} - removed
Output schema / properties / visit / properties / travelLinks / items / requiredRemoved value: -[ - "title", - "detail", - "url", - "affiliate" -] - removed
Output schema / properties / visit / properties / venueAddress / propertiesRemoved value: -{ - "city": { - "type": "string" - }, - "country": { - "type": "string" - }, - "name": { - "type": "string" - }, - "postalCode": { - "type": "string" - }, - "region": { - "type": "string" - }, - "street": { - "type": "string" - } -} - removed
Output schema / properties / visit / properties / venueAddress / requiredRemoved value: -[ - "name", - "street", - "city", - "region", - "postalCode", - "country" -]
- Changed
search_catalog2 fields changed- removed
Output schema / properties / groups / items / propertiesRemoved 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" - } -} - removed
Output schema / properties / groups / items / requiredRemoved value: -[ - "type", - "label", - "items", - "hasMore", - "scanLimited" -]
- Changed
search_events4 fields changed- removed
Output schema / properties / events / items / propertiesRemoved value: -{ - "city": { - "type": "string" - }, - "country": { - "type": "string" - }, - "date": { - "description": "Venue-local date; may be blank if unknown.", - "type": "string" - }, - "dateTime": { - "description": "Provider absolute start timestamp when supplied.", - "type": [ - "string", - "null" - ] - }, - "inventoryVerified": { - "const": false, - "type": "boolean" - }, - "listingUpdatedAt": { - "description": "Original listing retrieval timestamp; not a stock check.", - "type": "string" - }, - "localTime": { - "description": "Venue-local time; may be blank if unknown.", - "type": "string" - }, - "name": { - "type": "string" - }, - "onSale": { - "properties": { - "endAt": { - "type": [ - "string", - "null" - ] - }, - "startAt": { - "type": [ - "string", - "null" - ] - }, - "tbd": { - "type": "boolean" - } - }, - "required": [ - "startAt", - "endAt", - "tbd" - ], - "type": "object" - }, - "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" - }, - "publicSaleState": { - "description": "Schedule state, not inventory. registration means restricted registration access, not an open general sale.", - "type": "string" - }, - "region": { - "type": "string" - }, - "slug": { - "pattern": "^[a-z0-9-]{1,240}$", - "type": "string" - }, - "stale": { - "type": "boolean" - }, - "status": { - "type": "string" - }, - "tickets": { - "description": "The first exact-event seller link for this performance, present only for a fresh, upcoming listing with a known seller page. The link opens the seller's page for this event through ticketsea.com/go/. It is not an availability check, and the event can have other sellers.", - "properties": { - "affiliate": { - "description": "TicketSea may earn a commission from this seller.", - "type": "boolean" - }, - "official": { - "type": "boolean" - }, - "seller": { - "type": "string" - }, - "type": { - "description": "primary or resale.", - "type": "string" - }, - "url": { - "format": "uri", - "type": "string" - } - }, - "required": [ - "url", - "seller", - "type", - "official", - "affiliate" - ], - "type": "object" - }, - "timezone": { - "description": "Provider timezone; may be blank if unknown. Do not invent one.", - "type": "string" - }, - "url": { - "format": "uri", - "type": "string" - }, - "venue": { - "type": "string" - } -} - removed
Output schema / properties / events / items / requiredRemoved value: -[ - "slug", - "url", - "name", - "date", - "dateTime", - "localTime", - "timezone", - "venue", - "city", - "region", - "country", - "status", - "publicSaleState", - "onSale", - "listingUpdatedAt", - "stale", - "inventoryVerified" -] - removed
Output schema / properties / sources / items / propertiesRemoved value: -{ - "available": { - "type": "boolean" - }, - "countrySnapshots": { - "items": { - "properties": { - "country": { - "type": "string" - }, - "listingUpdatedAt": { - "type": "string" - }, - "stale": { - "type": "boolean" - } - }, - "required": [ - "country", - "listingUpdatedAt", - "stale" - ], - "type": "object" - }, - "type": "array" - }, - "error": { - "type": "string" - }, - "source": { - "type": "string" - } -} - removed
Output schema / properties / sources / items / requiredRemoved value: -[ - "source", - "available" -]
1 tool update
- Added
get_ticket_prices
4 tool updates
- Changed
get_event2 fields changed- changed
Input schema / properties / slug / descriptionPrevious value: -"Exact event slug returned by search_events; not an artist or venue slug."New value: +"Exact event slug from a search result; not an artist or venue slug." - changed
Output schema / properties / tickets / descriptionPrevious value: -"The first exact-event seller link for this performance, present only for a fresh, upcoming listing with a known seller page. The link opens the seller's page for this event through ticketsea.com/go/. It is not an availability check; get_ticket_links lists every seller."New value: +"The first exact-event seller link for this performance, present only for a fresh, upcoming listing with a known seller page. The link opens the seller's page for this event through ticketsea.com/go/. It is not an availability check, and the event can have other sellers."
- Changed
get_ticket_links2 fields changed- changed
Input schema / properties / slug / descriptionPrevious value: -"Exact event slug returned by search_events; not an artist or venue slug."New value: +"Exact event slug from a search result; not an artist or venue slug." - changed
Output schema / properties / tickets / descriptionPrevious value: -"The first exact-event seller link for this performance, present only for a fresh, upcoming listing with a known seller page. The link opens the seller's page for this event through ticketsea.com/go/. It is not an availability check; get_ticket_links lists every seller."New value: +"The first exact-event seller link for this performance, present only for a fresh, upcoming listing with a known seller page. The link opens the seller's page for this event through ticketsea.com/go/. It is not an availability check, and the event can have other sellers."
- Changed
prepare_event_visit2 fields changed- changed
Input schema / properties / slug / descriptionPrevious value: -"Exact event slug returned by search_events; not an artist or venue slug."New value: +"Exact event slug from a search result; not an artist or venue slug." - changed
Output schema / properties / tickets / descriptionPrevious value: -"The first exact-event seller link for this performance, present only for a fresh, upcoming listing with a known seller page. The link opens the seller's page for this event through ticketsea.com/go/. It is not an availability check; get_ticket_links lists every seller."New value: +"The first exact-event seller link for this performance, present only for a fresh, upcoming listing with a known seller page. The link opens the seller's page for this event through ticketsea.com/go/. It is not an availability check, and the event can have other sellers."
- Changed
search_events1 field changed- changed
Output schema / properties / events / items / properties / tickets / descriptionPrevious value: -"The first exact-event seller link for this performance, present only for a fresh, upcoming listing with a known seller page. The link opens the seller's page for this event through ticketsea.com/go/. It is not an availability check; get_ticket_links lists every seller."New value: +"The first exact-event seller link for this performance, present only for a fresh, upcoming listing with a known seller page. The link opens the seller's page for this event through ticketsea.com/go/. It is not an availability check, and the event can have other sellers."
6 tool updates
- First observed
get_event - First observed
get_service_status - First observed
get_ticket_links - First observed
prepare_event_visit - First observed
search_catalog - First observed
search_events
Related MCP Connectors
All-in ticket prices across ticket sites, seat views and venue guides for US events.
Real-time ticket listings, prices and fees across major ticket marketplaces.
Live ticket prices, listings and seat maps for AI agents.
Live ticket market data for your AI: prices, listings, sales and seat maps for concerts and sports.
Related MCP Servers
AlicenseAqualityCmaintenanceEnables agents to find upcoming events, pull every listing on a marketplace page with all-in prices, rank listings across marketplaces by price, and retrieve section and seat maps with the cheapest price per section. All tools are read-only, so they can browse and compare but never buy, hold, or list tickets.5370 npmMIT- AlicenseNot gradedqualityCmaintenanceThe live-events agent: it finds the event, watches the price, buys only inside your mandate, and receipts everything.MIT
- AlicenseAqualityAmaintenanceProvides music events, concerts, music festivals, nightclubs and other events information.172MIT
- AlicenseAqualityDmaintenanceEnables users to search for events, performers, and venues through the SeatGeek API. Provides event recommendations, detailed venue seating information, and performer discovery capabilities for ticketed entertainment events.4397 npm3MIT
Glama MCP Gateway
Add one secure layer between your agents and this server.