Skip to main content
Glama

XP Tickets

Buy Listing at the Ask

buy_listing_now
Destructive

From XP's connected resale + primary order book. Use when an authenticated buyer wants a fan listing outright at the seller's published asking price, rather than negotiating -- 'buy it now', 'take it at the ask', 'just buy me those tickets to the game'. Only listings that carry an asking price can be bought this way; for one without an ask, use make_offer_on_listing. Two-phase: confirm=false previews the total so it can be read back to the user, confirm=true buys. A confirm here completes the sale immediately -- the money leaves the caller's XP USDC balance and the seller is committed. Pays from the caller's XP USDC balance; the x402 rail does not apply to fan listings, only to buy_tickets. Requires auth.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
railNoHow to pay. 'usdc' spends the caller's XP USDC balance.usdc
confirmNoFalse (default) previews. True buys at the seller's ask as it stands at confirm time.
identifierYesListing identifier from list_open_listings or get_open_listing.

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault

No arguments

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4.9/5.0
Behavior5/5

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

Far exceeds the annotations: it discloses the two-phase confirm=false preview vs confirm=true purchase, that a confirm completes the sale immediately, debits the caller's XP USDC balance, and commits the seller, plus that auth is required. This meaningfully enriches the destructiveHint=true annotation with concrete consequences.

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 source ('connected resale + primary order book'), then usage, constraints, the two-phase mechanic, and payment/auth. Dense but every sentence earns its place 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?

Covers origin, eligibility (ask required), the preview/purchase flow, payment source, auth requirement, and sibling alternatives. With an output schema present, no return-value detail is needed; nothing an agent requires to call it safely is missing.

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 confirm, rail, and identifier. The description still adds value by clarifying that an ask must exist to use this flow, that confirm acts 'at the ask as it stands at confirm time', and that the rail is USDC-only for fan listings.

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 (buy a fan listing at the seller's published asking price) and explicitly scopes it against siblings: negotiating (make_offer_on_listing) and the x402 rail used by buy_tickets. An agent can distinguish this from offer-based acquisition 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 when-to-use ('buyer wants a listing outright at the ask, rather than negotiating'), a when-not/alternative ('for one without an ask, use make_offer_on_listing'), and names the sibling buy_tickets for the other payment rail. Routing 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