Skip to main content
Glama

Ticker: Live Event Ticket Market

Get Individual Seats

get_event_seats
Read-only

Returns individual reserved seats at one event from the primary market's seat data: the seats open now or at a past moment, seats that just came on or off sale, one seat's history, or seats once for sale that are not now. Use it when the person asks about a specific seat or row, or the exact seats open in a section. For open-seat counts per section use get_event_sections_live; for section prices and resale listings use get_event_sections.

Tool call template

Replace each placeholder with a value matching the input schema. Only required parameters are included; add optional parameters as needed.

{
  "id": 1,
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "arguments": {
      "event_id": "<event_id>"
    },
    "name": "get_event_seats"
  }
}

Input Schema

NameRequiredDescriptionDefault
atNoRead the open seats as they stood at this instant, ISO 8601. Omit for now.
rowNoRow, e.g. "6".
daysNoHow far back to read, in days. With since too, the later of the two. Omit to read back to the first change.
rowsNoscope section or event: each seat's changes, up to 25 seats a page in seat order, instead of the summary. A seat with more than 50 rows is truncated and carries its own next_cursor for scope seat.
seatNoSeat number, e.g. "2".
viewNolive (default): every seat open now, or at a past moment with at, as place indexes with prices and each seat's section, row and seat beside it; read count, not the list length, and next says when more seats are open than the answer lists. recent: seats that came on or off sale in the last minutes; republish marks a price change, not a sale. history: one seat's history, named by section, row and seat or by place_index; with scope section or event, every seat that changed, as a summary per section or, with rows true, each seat's history a page at a time. closed: the seats once for sale and not now. released: how many seats each opened sale window (each presale and the public on sale) released, a seat counted once in the window it first went on sale, by section, with the price range at release, and the event total. source mlb reads a club's primary market one frame at a time (list them with get_event_sections_live view frames).
frameNosource mlb only, and required for its seat reads: one of the event's frames, as get_event_sections_live view frames lists them.
limitNoRows returned. live and closed: seats, default 200, at most 5000. recent: seats, default 50. history: changes per page, default 50, at most 200.
scopeNoseat (default): one seat. section: every seat of `section` that changed since `since`. event: every seat of the event that changed. A section or event read answers a summary per section unless `rows` is true. source tm only.
sinceNoOldest change to include, ISO 8601. Omit to reach the seat's first change.
all_inNoAdds each open seat's price after fees (aip_prices) and whether it is an estimate (aip_estimated), same position as `open`. On by default; false returns the prices before fees alone. Not served with `at`.
cursorNonext_cursor from the previous page: one seat's older changes, or the next seats of a section or event read.
sourceNotm (the default) or mlb, a club's primary market. mlb reads one frame at a time: list them with get_event_sections_live view frames and source mlb.
minutesNoHow far back to look.
sectionNoSection code, e.g. "104". live and recent: only this section. history: the seat's section, with row and seat.
currencyNousd or venue. venue answers an event in a Canadian or UK venue with every price in the venue's currency (CAD or GBP) at the event's Bank of Canada rate; one rate converts every market, so the cheapest market and any order stay the same. Omit for USD. A view with no price ignores it. An answer in the venue's currency says currency, venue_currency, fx_rate (USD per one unit of venue_currency) and fx_rate_date; quote the currency with every price and the rate date when it is CAD or GBP. A US event is always USD. mlb_* prices keep mlb_currency.
event_idYesThe event to read.
place_indexNoThe seat's place index, instead of section, row and seat.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed1 schema field changed
    • changedInput schema / properties / view / description
      Previous value: -"live (default): every seat open now, or at a past moment with at, as place indexes with prices and each seat's section, row and seat beside it; read count, not the list length, and next says when more seats are open than the answer lists. recent: seats that came on or off sale in the last minutes; republish marks a price change, not a sale. history: one seat's history, named by section, row and seat or by place_index; with scope section or event, every seat that changed, as a summary per section or, with rows true, each seat's history a page at a time. closed: the seats once for sale and not now. released: how many seats each opened sale window (each presale and the public on sale) released, a seat counted once in the window it first went on sale, and the event total. source mlb reads a club's primary market one frame at a time (list them with get_event_sections_live view frames)."New value: +"live (default): every seat open now, or at a past moment with at, as place indexes with prices and each seat's section, row and seat beside it; read count, not the list length, and next says when more seats are open than the answer lists. recent: seats that came on or off sale in the last minutes; republish marks a price change, not a sale. history: one seat's history, named by section, row and seat or by place_index; with scope section or event, every seat that changed, as a summary per section or, with rows true, each seat's history a page at a time. closed: the seats once for sale and not now. released: how many seats each opened sale window (each presale and the public on sale) released, a seat counted once in the window it first went on sale, by section, with the price range at release, and the event total. source mlb reads a club's primary market one frame at a time (list them with get_event_sections_live view frames)."
  2. Changed1 schema field changed
    • changedInput schema / properties / currency / description
      Previous value: -"usd or venue. venue answers an event in a Canadian venue with every price in CAD at the event's Bank of Canada rate; one rate converts every market, so the cheapest market and any order stay the same. Omit for USD. A view with no price ignores it. An answer about an event in a Canadian venue says currency, venue_currency, fx_rate (USD per one unit of venue_currency) and fx_rate_date; quote the currency with every price and the rate date when it is CAD. A US event is always USD. mlb_* prices keep mlb_currency."New value: +"usd or venue. venue answers an event in a Canadian or UK venue with every price in the venue's currency (CAD or GBP) at the event's Bank of Canada rate; one rate converts every market, so the cheapest market and any order stay the same. Omit for USD. A view with no price ignores it. An answer in the venue's currency says currency, venue_currency, fx_rate (USD per one unit of venue_currency) and fx_rate_date; quote the currency with every price and the rate date when it is CAD or GBP. A US event is always USD. mlb_* prices keep mlb_currency."
  3. Changed1 schema field changed
    • changedInput schema / properties / currency / description
      Previous value: -"usd or venue. venue answers an event in a Canadian venue with every price in CAD at the event's Bank of Canada rate; one rate converts every market, so the cheapest market and any order stay the same. Omit for the account's saved choice (USD unless the person chose venue in Settings). An answer about an event in a Canadian venue says currency, venue_currency, fx_rate (USD per one unit of venue_currency) and fx_rate_date; quote the currency with every price and the rate date when it is CAD. A US event is always USD. mlb_* prices keep mlb_currency."New value: +"usd or venue. venue answers an event in a Canadian venue with every price in CAD at the event's Bank of Canada rate; one rate converts every market, so the cheapest market and any order stay the same. Omit for USD. A view with no price ignores it. An answer about an event in a Canadian venue says currency, venue_currency, fx_rate (USD per one unit of venue_currency) and fx_rate_date; quote the currency with every price and the rate date when it is CAD. A US event is always USD. mlb_* prices keep mlb_currency."
  4. Changed2 schema fields changed
    • changedInput schema / properties / view / description
      Previous value: -"live (default): every seat open now, or at a past moment with at, as place indexes with prices and each seat's section, row and seat beside it; read count, not the list length, and next says when more seats are open than the answer lists. recent: seats that came on or off sale in the last minutes; republish marks a price change, not a sale. history: one seat's history, named by section, row and seat or by place_index; with scope section or event, every seat that changed, as a summary per section or, with rows true, each seat's history a page at a time. closed: the seats once for sale and not now. source mlb reads a club's primary market one frame at a time (list them with get_event_sections_live view frames)."New value: +"live (default): every seat open now, or at a past moment with at, as place indexes with prices and each seat's section, row and seat beside it; read count, not the list length, and next says when more seats are open than the answer lists. recent: seats that came on or off sale in the last minutes; republish marks a price change, not a sale. history: one seat's history, named by section, row and seat or by place_index; with scope section or event, every seat that changed, as a summary per section or, with rows true, each seat's history a page at a time. closed: the seats once for sale and not now. released: how many seats each opened sale window (each presale and the public on sale) released, a seat counted once in the window it first went on sale, and the event total. source mlb reads a club's primary market one frame at a time (list them with get_event_sections_live view frames)."
    • changedInput schema / properties / view / enum
      Previous value: -[
      -  "live",
      -  "recent",
      -  "history",
      -  "closed"
      -]New value: +[
      +  "live",
      +  "recent",
      +  "history",
      +  "closed",
      +  "released"
      +]
  5. Changed5 schema fields changed
    • addedInput schema / properties / days
      Added value: +{
      +  "description": "How far back to read, in days. With since too, the later of the two. Omit to read back to the first change.",
      +  "minimum": 1,
      +  "type": "integer"
      +}
    • changedInput schema / properties / limit / description
      Previous value: -"Rows returned. live: seats, default 200, at most 5000. recent: seats, default 50. history: changes per page, default 50, at most 200."New value: +"Rows returned. live and closed: seats, default 200, at most 5000. recent: seats, default 50. history: changes per page, default 50, at most 200."
    • changedInput schema / properties / section / description
      Previous value: -"Section code, e.g. \"104\". recent: only this section. history: the seat's section, with row and seat."New value: +"Section code, e.g. \"104\". live and recent: only this section. history: the seat's section, with row and seat."
    • changedInput schema / properties / view / description
      Previous value: -"live (default): open seats. recent: what just moved. history: one seat over time."New value: +"live (default): every seat open now, or at a past moment with at, as place indexes with prices and each seat's section, row and seat beside it; read count, not the list length, and next says when more seats are open than the answer lists. recent: seats that came on or off sale in the last minutes; republish marks a price change, not a sale. history: one seat's history, named by section, row and seat or by place_index; with scope section or event, every seat that changed, as a summary per section or, with rows true, each seat's history a page at a time. closed: the seats once for sale and not now. source mlb reads a club's primary market one frame at a time (list them with get_event_sections_live view frames)."
    • changedInput schema / properties / view / enum
      Previous value: -[
      -  "live",
      -  "recent",
      -  "history"
      -]New value: +[
      +  "live",
      +  "recent",
      +  "history",
      +  "closed"
      +]
  6. Changed1 schema field changed
    • changedInput schema / properties / source / description
      Previous value: -"tm (the default) or mlb, a club box office. mlb reads one frame at a time: list them with get_event_sections_live view frames and source mlb."New value: +"tm (the default) or mlb, a club's primary market. mlb reads one frame at a time: list them with get_event_sections_live view frames and source mlb."
  7. Changed5 schema fields changed
    • changedInput schema / properties / all_in / description
      Previous value: -"Adds each open seat's price after fees and whether it is an estimate, same position as `open`. On by default; false returns the prices before fees alone. Not served with `at`."New value: +"Adds each open seat's price after fees (aip_prices) and whether it is an estimate (aip_estimated), same position as `open`. On by default; false returns the prices before fees alone. Not served with `at`."
    • addedInput schema / properties / currency
      Added value: +{
      +  "description": "usd or venue. venue answers an event in a Canadian venue with every price in CAD at the event's Bank of Canada rate; one rate converts every market, so the cheapest market and any order stay the same. Omit for the account's saved choice (USD unless the person chose venue in Settings). An answer about an event in a Canadian venue says currency, venue_currency, fx_rate (USD per one unit of venue_currency) and fx_rate_date; quote the currency with every price and the rate date when it is CAD. A US event is always USD. mlb_* prices keep mlb_currency.",
      +  "enum": [
      +    "usd",
      +    "venue"
      +  ],
      +  "type": "string"
      +}
    • addedInput schema / properties / frame
      Added value: +{
      +  "description": "source mlb only, and required for its seat reads: one of the event's frames, as get_event_sections_live view frames lists them.",
      +  "pattern": "^[0-9a-f]{64}$",
      +  "type": "string"
      +}
    • changedInput schema / properties / scope / description
      Previous value: -"seat (default): one seat. section: every seat of `section` that changed since `since`. event: every seat of the event that changed. A section or event read answers a summary per section unless `rows` is true."New value: +"seat (default): one seat. section: every seat of `section` that changed since `since`. event: every seat of the event that changed. A section or event read answers a summary per section unless `rows` is true. source tm only."
    • addedInput schema / properties / source
      Added value: +{
      +  "description": "tm (the default) or mlb, a club box office. mlb reads one frame at a time: list them with get_event_sections_live view frames and source mlb.",
      +  "enum": [
      +    "tm",
      +    "mlb"
      +  ],
      +  "type": "string"
      +}
  8. Changed1 schema field changed
    • addedInput schema / properties / all_in
      Added value: +{
      +  "description": "Adds each open seat's price after fees and whether it is an estimate, same position as `open`. On by default; false returns the prices before fees alone. Not served with `at`.",
      +  "type": "boolean"
      +}
  9. Added

TDQS

A4.3/5.0
Behavior4/5

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

Annotations already declare readOnlyHint=true and destructiveHint=false, so the safety profile is covered; the description adds genuine behavioral scope by limiting results to 'individual reserved seats' from 'the primary market's seat data', telling the agent that resale listings and aggregate seats are out of scope. It also distinguishes data recency semantics (open now, past moment, just came on or off sale, once for sale but not now) that shape what an answer means. Remaining gaps — pagination, limits, the all_in default, and the mlb frame requirement — are carried only by the schema, not the description.

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?

Two sentences, front-loaded with purpose and ending with sibling routing — nothing wasted. The colon-delimited list of modes in sentence one mildly duplicates the view enum already in the schema, which keeps it just short of a 5.

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?

For an 18-parameter tool with no output schema, the description covers purpose, scope, and alternative routing well, and the schema carries the heavy mode/pagination detail. It does not describe the return shape or pagination behavior itself, which is a modest gap given no output schema exists.

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

Parameters3/5

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

Schema description coverage is 100%, so every one of the 18 parameters is already documented in the schema, including the view enum, cursor, currency and frame. The description adds no parameter-level meaning beyond that, so the baseline 3 applies.

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 ('Returns individual reserved seats at one event') plus the data domain ('from the primary market's seat data'), then enumerates the five data shapes it can return. This is clearly separable from get_event_sections_live and get_event_sections without opening any schema.

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

Usage Guidelines5/5

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

Gives an explicit trigger ('when the person asks about a specific seat or row, or the exact seats open in a section') and names two alternatives with the condition that selects each: get_event_sections_live for per-section open-seat counts, get_event_sections for section prices and resale listings. The when-to-use and when-not-to-use are both present.

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