Skip to main content
Glama

Attach the buyer

set_contact
Idempotent

Attaches the buyer to a held booking and returns the payment_url. Give that URL to the human buyer: payment (card or Bancontact) happens in their browser, never through this API. The tickets will be emailed to the address given here.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
zipNo
emailYesThe buyer's email; the tickets are sent there.
countryNoTwo-letter ISO code, e.g. BE.
lastnameYes
firstnameYes
promo_codeNo
booking_uuidYes
terms_acceptedYesMust be true, and only after the buyer explicitly accepted the terms of sale.
newsletter_opt_inNoOnly true if the buyer explicitly asked to subscribe.

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
resultYes

TDQS

A4.1/5.0
Behavior4/5

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

The annotations already signal a non-read-only, non-destructive, idempotent operation. The description adds valuable behavioral context beyond that: the tool returns a payment_url, payment must be completed externally by the buyer, and tickets are emailed to the supplied address. This helps the agent avoid attempting payment through the API.

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?

Three short, purposeful sentences. The core action and output are front-loaded, followed by the critical external-payment instruction and the ticket-delivery side effect. No filler or repetition.

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?

The description covers the essential end-to-end flow: attach buyer to held booking, get payment_url, direct buyer to pay externally, expect tickets by email. With an output schema present and annotations covering safety, this is sufficiently complete for an agent to invoke the tool correctly, though it could have more explicitly noted the requirement to have a held booking first.

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

Parameters2/5

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

Schema description coverage is only 44%, so the description needed to compensate for undocumented parameters like booking_uuid, zip, country, firstname, lastname, and promo_code. It does not. The only parameter-related mention is email receiving the tickets, which duplicates the schema's own description rather than adding meaning.

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?

The description states a specific verb and resource: 'Attaches the buyer to a held booking' and names the key output, the payment_url. This clearly distinguishes set_contact from siblings like hold_tickets, release_booking, or wait_for_payment.

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?

It is clear that the tool is used when a booking is held and the buyer needs to be attached. It also gives important operational guidance: give the payment_url to the human buyer because payment happens in their browser, never through this API. It does not explicitly name alternatives or sequence it after hold_tickets, but the context is strong.

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.

TDQS

A4.1/5.0
Disambiguation4/5

Most tools target distinct steps in the booking lifecycle, but get_booking_status and wait_for_payment serve nearly the same purpose, and get_event/list_events/get_availability all surface availability. Descriptions are strong enough to prevent frequent misselection.

Naming Consistency5/5

All tools use a consistent verb_noun snake_case pattern (get_*, hold_tickets, redeem_*, release_booking, set_contact, wait_for_payment). There are no style or naming convention breaks.

Tool Count5/5

Twelve tools map cleanly to the ticket-buying workflow: discovery, venue info, availability, hold, contact, payment, redemption, release, status, and recovery. Each tool earns its place without redundant bulk.

Completeness4/5

The lifecycle is well covered: hold, contact, payment, redemption, release, and post-sale recovery are all present. The only notable gap is lack of any cancellation/refund path for paid bookings, though this may be intentional venue policy.

Resources