Skip to main content
Glama

Book and pay for a ride

book_and_pay_transfer

Book an airport transfer and pay for it now with a Stripe shared payment token (spt_...) the traveller approved, for example from their Link wallet. CHARGES the traveller. Before calling: get the exact price with get_transfer_quote, tell the traveller the price and the cancellation terms (get_booking_terms), and get their explicit yes; pass that price as approved_total_usd. Needs every flight number and time the ride has, and the traveller's name, email and phone. An identical ride that is already paid is reported, never charged twice. Returns the booking reference; the confirmation email follows.

Input Schema

NameRequiredDescriptionDefault
guestYesThe traveller the booking is for
directionNoRequired for a one-way
trip_typeYes
arrival_atNoFlight arrival at MBJ, "YYYY-MM-DDTHH:MM" Jamaica time
passengersYes
destinationYesHotel or villa name, or id from find_transfer_destination
departure_atNoHotel pickup for the flight home, "YYYY-MM-DDTHH:MM" Jamaica time. If you only know the flight time, pass departure_flight_at instead
arrival_flightNoArrival flight number, e.g. AA1234
departure_flightNoDeparture flight number
special_requestsNoOptional note for the driver, e.g. a car seat
approved_total_usdYesThe total in USD the traveller approved; must equal the price from get_transfer_quote
departure_flight_atNoFlight home departs MBJ, "YYYY-MM-DDTHH:MM" Jamaica time; pickup is set 3 hours 30 minutes earlier
shared_payment_tokenYesStripe shared payment token (spt_...) granted to MAPL Tours Jamaica for at least this amount in USD

Schema Changelog

Changes observed during successful MCP inspections.

  1. Added

TDQS

A4.6/5.0
Behavior5/5

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

With annotations only stating readOnlyHint=false, idempotentHint=false and destructiveHint=false, the description supplies the critical facts the agent actually needs: it CHARGES the traveller, an already-paid identical ride is reported and never charged twice, and the token must have been traveller-approved. That is meaningful behavior beyond the structured hints.

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?

Front-loaded with the action and the charge warning, then the prerequisite checklist, then the dedup and return-value guarantees. Dense but every sentence carries information; only the multi-prerequisite sentence is slightly overloaded.

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 13-parameter, nested-object, payment-taking tool with no output schema, the description covers the charge, the prerequisite sequence, required traveller data, duplicate handling and the return value (booking reference, email follows). Nothing needed to invoke 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 already 85%, so the baseline is 3; the description goes further by tying approved_total_usd to the quote, specifying the guest fields needed (name, email, phone) and requiring every flight number/time. It doesn't explain direction/trip_type interplay, but adds real value over the schema.

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 pair (book and pay) plus the resource (airport transfer) and the payment mechanism (Stripe spt token), which clearly separates it from sibling quote/terms/start tools. An agent reading only the first sentence knows exactly what this does.

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 an explicit precondition chain ('Before calling: get the exact price with get_transfer_quote, tell the traveller the price and the cancellation terms (get_booking_terms), and get their explicit yes'), naming the sibling tools to call first. It does not, however, explain when to use this versus the unmentioned start_transfer_booking sibling, leaving one routing ambiguity.

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