Skip to main content
Glama

XP Tickets

List Tickets for Sale

create_listing

Use when the user wants to sell tickets they hold on the XP marketplace -- 'sell my two seats for Friday', 'list section 104 row C', 'put my tickets up'. Creates the listing that buyers (other fans on XP) then make an offer on; the seller answers those with accept_offer and reject_offer. Tickets are not transferred now -- transfer happens after an offer is accepted. Two-phase: confirm=false previews so the section, row and seats can be read back to the user, confirm=true creates it. A new listing is REVIEWED before it goes live. The result carries listing_state -- live, in_review or not_accepted -- and only live means buyers can see it. Do not tell the user their tickets are for sale unless it says live. Requires auth.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
gaNoTrue for general admission with no seat numbers.
rowNoRow, e.g. C. Omit for general admission.
is_adaNoTrue for accessible seating.
is_sroNoTrue for standing room only.
confirmNoFalse (default) previews. True creates the listing.
sectionNoSection name exactly as the venue prints it, e.g. 104.
event_idYesEvent identifier from search_market or search_events.
quantityYesHow many tickets are being listed together.
last_seatNoLast seat number, if seated.
first_seatNoFirst seat number, if seated.
ask_per_ticket_usdNoOptional asking price per ticket in dollars. Omit to invite offers with no anchor.
is_obstructed_viewNoTrue if the view is obstructed.

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault

No arguments

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4.7/5.0
Behavior5/5

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

Adds substantial behavior beyond the annotations: the two-phase confirm=false preview vs confirm=true create, the fact that a new listing is REVIEWED before going live, the listing_state values (live/in_review/not_accepted) with the critical warning that only 'live' means buyers see it, that tickets transfer only after an offer is accepted, and that auth is required. This is exactly the kind of context annotations cannot convey.

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?

Front-loads the usage trigger, then layers the flow, state semantics, and the important 'live' caveat. Dense but every sentence carries actionable information with no filler.

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

Completeness5/5

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

For a mutation tool with an output schema already present, the description covers the safety profile (auth required), the two-phase confirmation, the review lifecycle, and the result's listing_state semantics. An agent has everything needed to call it and interpret the response correctly.

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 the schema already documents all 12 parameters (baseline 3). The description adds real value by explaining the confirm preview/create interplay and the seat-detail read-back purpose, clarifying how section/row/seat inputs are meant to be surfaced to the user.

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 (creates a ticket listing on the XP marketplace) and anchors it with user-utterance examples ('sell my two seats', 'list section 104 row C'). It clearly distinguishes itself from the offer-handling siblings by naming accept_offer and reject_offer as the downstream step.

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 clear trigger conditions ('use when the user wants to sell tickets they hold') plus concrete example phrasings, and explains the seller's position in the flow. It does not explicitly exclude near-neighbor siblings like list_my_listings or cancel_my_listing, but the sell-side context is unambiguous.

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