Skip to main content
Glama

Server Details

Private airport rides from Montego Bay (MBJ) to Jamaican hotels and villas, plus tours

If you are the author of this connector, you can claim ownership by verifying the domain or GitHub account it belongs to. Claimed connector authors can inspect health checks, view analytics, and manage their listing.
Status
Healthy
Uptime
99.9% over 36 days
Last Tested
Transport
Streamable HTTP · MCP 2025-11-25
URL
ChatGPT
–
Claude
–

TDQS

A4.2/5.0

Scored across 9 tools

Disambiguation4/5

Tools are mostly distinct by resource and booking stage: destination lookup, quote, timing check, terms, tour details, and booking/payment actions. The main overlap is between start_transfer_booking and book_and_pay_transfer, which both book transfers but differ in payment path; descriptions clarify the difference, though an agent could still misselect.

Naming Consistency4/5

Most names follow a predictable snake_case verb_noun pattern: find_transfer_destination, get_transfer_quote, check_transfer_timing, start_tour_booking, etc. Minor deviations are book_and_pay_transfer (two verbs) and the start_*_booking suffix, but the convention remains readable and consistent overall.

Tool Count5/5

Nine tools is well-scoped for a tours-and-transfers booking server. Each tool covers a distinct stage of discovery, pricing, terms, timing, booking, or payment without obvious bloat.

Completeness4/5

The surface covers discovery, pricing, terms, timing, booking links, and direct transfer payment well. Gaps include no booking retrieval or cancellation tool and no direct tour payment option, though the booking-link and email/contact paths make these workable.

Available Tools

9 tools
book_and_pay_transferBook and pay for a rideAInspect

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.

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

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.

check_transfer_timingCheck pickup timingA
Read-onlyIdempotent
Inspect

Check whether a pickup can be booked online. Bookings need 12 hours' notice in Jamaica time. Give arrival_at (flight lands at MBJ) and, for the flight home, departure_at (hotel pickup) or departure_flight_at (flight departs; the pickup is worked out from it), each as "YYYY-MM-DDTHH:MM" Jamaica local time with no timezone suffix. Returns whether each leg is bookable and the earliest bookable time. Read-only.

NameRequiredDescriptionDefault
arrival_atNoFlight arrival at MBJ, "YYYY-MM-DDTHH:MM" Jamaica time
departure_atNoHotel pickup for the flight home, "YYYY-MM-DDTHH:MM" Jamaica time
departure_flight_atNoFlight home departs MBJ, "YYYY-MM-DDTHH:MM" Jamaica time; the hotel pickup is 3 hours 30 minutes earlier

TDQS

A4.4/5.0
Behavior4/5

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

Annotations already declare readOnlyHint/idempotentHint, so safety is covered, but the description adds the non-obvious 12-hour notice business rule, the Jamaica-time constraint, and a summary of what is returned (bookability per leg plus earliest bookable time). The trailing 'Read-only' restates the annotation but the rest adds real behavioral context.

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 purpose, then prerequisites, then parameter guidance, then the return summary — a logical order with no filler. It is dense in a single paragraph, but each clause carries actionable information.

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?

With no output schema, the description compensates by summarizing the return (per-leg bookability and earliest bookable time), and it specifies the exact input format and timezone for all three optional parameters. An agent has everything needed to call it correctly and interpret the result.

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 baseline is 3, but the description adds meaning beyond the schema by disambiguating departure_at (hotel pickup) from departure_flight_at (flight departure, pickup derived from it) and presenting them as alternatives for the return leg. That relational framing is not in the individual property descriptions.

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 — checking whether a pickup can be booked online — with the scope of both legs (arrival and flight home). It is clearly distinguishable from the sibling booking tools (book_and_pay_transfer, start_transfer_booking) because it only checks eligibility rather than transacting.

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 a clear precondition (12 hours' notice in Jamaica time) and explains which parameters apply to which leg, which tells the agent when the tool is applicable. It stops short of naming alternatives or stating exclusions (e.g. 'use book_and_pay_transfer to actually book'), so it is strong context but not a full when/when-not guide.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

find_transfer_destinationFind a hotel or villaA
Read-onlyIdempotent
Inspect

Find hotels and villas MAPL Tours Jamaica drives to from Sangster International Airport (MBJ), Montego Bay, Jamaica. Returns up to 8 matches with the id to use in get_transfer_quote, or the "Other hotel or villa" id for each area when nothing matches. Covers 199 properties from Montego Bay to Negril, Ocho Rios, Falmouth and Lucea. Kingston, Port Antonio and Mandeville are quoted by email instead.

NameRequiredDescriptionDefault
queryYesHotel, villa, resort or town name, e.g. "Sandals Negril" or "Ocho Rios"

TDQS

A4.5/5.0
Behavior5/5

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

Annotations already cover safety (readOnly, idempotent, non-destructive, closed-world), and the description adds real behavior beyond them: capped at 8 matches, a per-area "Other hotel or villa" fallback id when nothing matches, and 199 properties across named regions. It also discloses the out-of-scope regions handled by email instead, which prevents a dead-end call.

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?

Four sentences, each carrying distinct load: what is searched, what comes back, coverage extent, and where the tool does not apply. The return-shape and fallback id lead before the regional caveat, so the most decision-relevant facts are front-loaded.

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?

No output schema exists, and the description compensates by stating result count, return id semantics, and the no-match fallback. For a one-parameter read with full annotation coverage, nothing an agent needs in order to call it correctly or interpret the response is missing.

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 coverage is 100% and the single query parameter is fully described there, so the schema does the heavy lifting. The description adds only indirect signal about input tolerance (town names as well as property names, implied by the area/fallback behavior), which is a marginal gain over the existing example-bearing 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 and resource ("Find hotels and villas"), scopes it geographically to properties served from MBJ, and ties the output to a sibling ("the id to use in get_transfer_quote"). An agent can distinguish this lookup step from booking/quote/pricing siblings 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 Guidelines4/5

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

Explicitly routes the agent: use this to obtain the id consumed by get_transfer_quote, and use email quoting for Kingston, Port Antonio and Mandeville. It gives a clear when-to-use context and a regional exclusion, but never names the other siblings (check_transfer_timing, get_booking_terms) or says those should be called after this one.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_booking_termsBooking termsA
Read-onlyIdempotent
Inspect

What a MAPL Tours Jamaica booking includes and the rules that apply: all-in pricing, notice needed, flight tracking, cancellation and refunds, payment methods and contact. Tell the traveller the cancellation terms before they book. Read-only.

NameRequiredDescriptionDefault

No parameters

TDQS

A3.9/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true, idempotentHint=true, destructiveHint=false and openWorldHint=false, so the safety profile is fully covered; "Read-only" in the description merely repeats this. The description adds the useful behavioral fact that this is static policy content to be surfaced to the traveller before booking, but says nothing about freshness, scope of applicability, or failure modes.

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 the scope and content inventory; every clause carries information about what the tool returns. Minor waste in the trailing "Read-only," which duplicates the annotation.

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?

With no parameters and no output schema, the description carries the full burden of telling the agent what comes back, and it does so by enumerating the policy topics covered. An agent has enough to decide to call it and to relay the content to a traveller.

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?

The tool takes zero parameters, which is the baseline-4 case: there is nothing for the description to disambiguate beyond what the empty schema already conveys.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description names a specific resource (MAPL Tours Jamaica booking terms) and enumerates the content it returns: pricing, notice, flight tracking, cancellation/refunds, payment methods, contact. This clearly separates it from the action-oriented siblings (start_tour_booking, get_transfer_quote), though it never names an alternative explicitly.

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?

"Tell the traveller the cancellation terms before they book" gives a concrete when-to-use trigger tied to the booking flow. It is clear context but stops short of naming alternatives or stating when this tool is NOT the right one (e.g., for a specific tour's terms).

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_tourTour details and priceA
Read-onlyIdempotent
Inspect

Details for one tour: what it includes, ages, fitness, what to bring, how long the outing takes from hotels in Montego Bay, Ocho Rios and Negril (fromHotelAndBack; duration is the time at the activity, or Full day / Half day), the exact total for a party size, and the earliest bookable date. Read-only.

NameRequiredDescriptionDefault
tourYesTour title or slug from list_tours
guestsNoParty size to price, default 2

TDQS

A4.2/5.0
Behavior4/5

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

Annotations already declare readOnly/idempotent/non-destructive, so the trailing 'Read-only.' is redundant. What earns credit is the substantive disclosure about the response itself: the duration vs fromHotelAndBack distinction, the Full day/Half day convention, that price is an exact total for a party size, and that the earliest bookable date is included.

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?

A single dense sentence leads with the core purpose and enumerates the return contents, followed by a short clarifying clause. It is front-loaded and mostly waste-free, though the trailing 'Read-only.' adds nothing given the annotations.

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?

With no output schema, the description carries the burden of describing the returned data and does so field by field, while the annotations cover the safety profile. Nothing essential for correct invocation appears 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 100%, but the description adds real meaning: it clarifies that pricing depends on party size ('the exact total for a party size') and explains the vehicle/time semantics surrounding fromHotelAndBack and duration, which the two schema fields alone do not convey.

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 ('Details for one tour') and enumerates exactly what is returned: inclusions, ages, fitness, what to bring, duration, price total, and earliest bookable date. This clearly separates it from list_tours (enumeration) and start_tour_booking (mutation).

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

Usage Guidelines3/5

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

Usage is implied — an agent can infer this is the detail/price lookup for a single tour, and the schema points back to list_tours for the identifier. However, the description never explicitly says when to use it versus alternatives (e.g., list_tours, start_tour_booking) or states any prerequisite.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_transfer_quotePrice an airport rideA
Read-onlyIdempotent
Inspect

Exact all-in price in USD for a private airport transfer between Sangster International Airport (MBJ) and a hotel or villa, per vehicle for up to 4 passengers (5 to 7 priced per person; 8 or more are quoted by email at contact@mapltours.com). Round trip or one way, either direction. Also says how long before the flight home the hotel pickup should be. Use before start_transfer_booking. Read-only.

NameRequiredDescriptionDefault
directionNoOne-way only. Default airport_to_hotel
trip_typeNoDefault round_trip (airport to hotel and back)
passengersNoNumber of passengers, 1 to 7. Default 2
destinationYesHotel or villa name, or an id from find_transfer_destination

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, idempotentHint=true and destructiveHint=false, so the closing 'Read-only' is redundant. Beyond the annotations, the description discloses the pricing model (per vehicle up to 4, per person for 5-7), the email escalation path for 8+, and that a timing recommendation is returned — genuinely useful behavioral context an agent cannot get from structured fields.

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 core purpose and price scope, then degraded gracefully into the edge-case parenthetical and the sequencing hint. The nested parenthetical about 5-7/8+ passengers is dense but each clause carries information; only the trailing 'Read-only' duplicates the annotations.

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?

With no output schema, the description carries the return-value burden and does name the two key outputs (all-in price, recommended pre-flight pickup time). Combined with full schema coverage and complete read-only annotations, an agent has what it needs, though the exact response shape and currency/multi-vehicle handling remain implicit.

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 baseline is 3; the description still earns an increment by explaining the capacity-to-pricing relationship tied to the 'passengers' parameter and confirming that round trip / one way applies in either direction, which the schema's enums alone don't convey.

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 exact all-in USD price for a private airport transfer between MBJ and a hotel/villa), plus the scope constraints around vehicle capacity and party size. It also names the sibling it precedes (start_transfer_booking), so an agent can distinguish it from start_transfer_booking or get_tour 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 Guidelines4/5

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

Gives a clear sequencing rule ('Use before start_transfer_booking') and a routing rule for out-of-scope requests (8+ passengers must email). It does not address the overlap with check_transfer_timing, even though the description claims this tool returns pickup-timing guidance that the sibling presumably also covers.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

list_toursList toursA
Read-onlyIdempotent
Inspect

List the 20 private tours and day packages MAPL Tours Jamaica runs in Jamaica (Dunn's River, Blue Hole, bamboo rafting, Rick's Cafe, zipline, ATV, horseback and more). fromPriceUsd is the price for the smallest party; priceUnit says whether it covers a party of up to N people or one person. Use get_tour with guests for the exact total. Hotel pickup included. Optional keyword or area filter; returns up to 12 rows. Read-only. duration is time at the activity; get_tour adds hotel-and-back times.

NameRequiredDescriptionDefault
areaNoTown or area, e.g. "Ocho Rios", "Negril", "Montego Bay"
queryNoKeyword, e.g. "waterfall", "rafting", "sunset"

TDQS

A4.3/5.0
Behavior4/5

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

Annotations already declare readOnly/idempotent/openWorld=false, so safety is covered. The description adds real context: fromPriceUsd covers the smallest party, priceUnit disambiguates per-person vs per-party, up to 12 rows returned, hotel pickup included, and duration excludes transfer time – all disclosed caveats that prevent misreading the data.

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-loads scope and offering examples, then bundles the pricing and duration caveats efficiently. Dense but nearly every clause conveys a usable fact; the parenthetical tour list is the only slightly expendable part.

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?

With no output schema, the description carries the burden of explaining return fields (fromPriceUsd, priceUnit, duration) and does so adequately. Minor gap: it doesn't describe the shape of returned rows beyond pricing and duration, though for a list tool this is close to complete.

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 coverage is 100% with both 'area' and 'query' already documented with examples, so the baseline is 3. The description only says 'Optional keyword or area filter' without adding syntax, matching behavior, or precedence beyond what the schema provides.

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 (list), resource (private tours and day packages), operator and geography, plus concrete example offerings. It clearly separates itself from get_tour by scoping this as the browse/list entry point rather than the detail lookup.

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?

Explicitly routes the agent: 'Use get_tour with guests for the exact total' for precise pricing, while this tool returns fromPriceUsd. It also states the filters are optional and the row cap, so an agent knows what to expect without trial-and-error.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

start_tour_bookingGet a booking link for a tourA
Read-onlyIdempotent
Inspect

Make a mapltours.com booking link for a tour or day package on a date for a party size. The traveller opens it and lands on checkout with the tour, date and guests filled in; they add contact details, accept the activity waiver and pay there. Books and charges nothing by itself. Needs 12 hours' notice; get_tour gives the earliest date and the exact price. Confirm tour, date, guests and price with the traveller first.

NameRequiredDescriptionDefault
dateYesTour date "YYYY-MM-DD" (Jamaica); needs 12 hours' notice, get_tour gives the earliest date
tourYesTour title or slug from list_tours
guestsYes
pickup_hotelNoWhere the traveller is staying, for the hotel pickup

TDQS

A4.9/5.0
Behavior5/5

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

Goes well beyond the annotations by disclosing that the tool reserves and charges nothing itself, that the traveller completes checkout elsewhere (contact details, waiver, payment), and that a 12-hour lead time applies. This is exactly the workflow context annotations cannot convey, and it is consistent with readOnlyHint/destructiveHint=false.

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-loaded with the core action, then the downstream flow, the non-charging guarantee, and prerequisites in a tight sequence. 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 link-generating tool with no output schema, the description fully specifies the effect (a checkout link pre-filled with tour, date and guests), the prerequisites, and the required traveller confirmation. An agent has everything needed to call it 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 75%, so the schema already documents date, tour and pickup_hotel. The description reinforces meaning by framing date against the 12-hour notice rule and guests as 'party size', and adds the confirmation step, though it does not explain the guests 1-12 bound or pickup_hotel's role.

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 ('Make a mapltours.com booking link for a tour or day package'), plus the scoping inputs (date, party size). It clearly contrasts with the transfer siblings (start_transfer_booking, book_and_pay_transfer) by naming the tour/product domain and its non-charging nature.

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 concrete when-to-use conditions: needs 12 hours' notice, consult get_tour for earliest date and price, and confirm tour/date/guests/price with the traveller first. Prerequisites and the informational alternative are explicit, leaving nothing to inference.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

start_transfer_bookingGet a booking link for a rideA
Read-onlyIdempotent
Inspect

Make a mapltours.com booking link for an airport transfer. The traveller opens it and lands on checkout with the hotel, trip type, passengers, flights and times filled in; they add name, email and phone and pay there (card, Apple Pay, Google Pay or Link). Books and charges nothing by itself. A one-way needs direction: airport_to_hotel takes arrival_at and arrival_flight; hotel_to_airport takes departure_at (or departure_flight_at) and departure_flight. Confirm the details and the price from get_transfer_quote with the traveller first.

NameRequiredDescriptionDefault
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
departure_flight_atNoFlight home departs MBJ, "YYYY-MM-DDTHH:MM" Jamaica time; pickup is set 3 hours 30 minutes earlier

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, destructiveHint=false and idempotentHint=true, so the safety profile is covered. The description adds genuinely new behavioral context: the link lands the traveller on checkout with fields pre-filled, payment is handled by the traveller (card/Apple Pay/Google Pay/Link), and the tool itself books and charges nothing.

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?

The definition is front-loaded with the core action and outcome, and every sentence carries information. The direction/flight-field sentence is dense and semicolon-packed, but it earns its space by encoding conditional requirements.

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 a link-generation tool with no output schema and 78% parameter coverage, the description covers what the tool produces, what the end user must supply, the prerequisite quote step, and per-direction input rules. Only the absence of explicit failure/edge-case behavior keeps it from being fully complete.

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 78%, so the baseline would be 3, but the description adds conditional semantics the schema does not encode: airport_to_hotel pairs with arrival_at and arrival_flight, while hotel_to_airport uses departure_at (or departure_flight_at) plus departure_flight. That dependency mapping is real value beyond the field-level descriptions.

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 — 'Make a mapltours.com booking link for an airport transfer' — and immediately clarifies the scope by saying it 'Books and charges nothing by itself.' This clearly separates it from siblings like get_transfer_quote (pricing) and start_tour_booking (a different product).

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 gives a concrete prerequisite — 'Confirm the details and the price from get_transfer_quote with the traveller first' — and spells out which inputs each trip direction requires. It stops short of stating when not to use the tool, so it is strong but not exhaustive.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

  1. 1 tool update
    • Changedstart_tour_booking1 field changed
      • changedInput schema / properties / date / description
        Previous value: -"Tour date \"YYYY-MM-DD\" (Jamaica); needs 24 hours' notice, get_tour gives the earliest date"New value: +"Tour date \"YYYY-MM-DD\" (Jamaica); needs 12 hours' notice, get_tour gives the earliest date"
  2. 1 tool update
    • Addedbook_and_pay_transfer
  3. 8 tool updates
    • First observedcheck_transfer_timing
    • First observedfind_transfer_destination
    • First observedget_booking_terms
    • First observedget_tour
    • First observedget_transfer_quote
    • First observedlist_tours
    • First observedstart_tour_booking
    • First observedstart_transfer_booking

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    D
    maintenance
    Fixed London chauffeur prices for AI agents: Heathrow/Gatwick/Stansted/Luton and cruise-port transfers, hourly and full-day hire, private day trips, Heathrow VIP meet & greet, plus pre-filled booking links. Public remote endpoint, no API key.
    MIT
  • A
    license
    Not graded
    quality
    D
    maintenance
    Enables AI agents to get fixed-price quotes and book London airport transfers, with flight validation and inter-agent communication via A2A protocol.
    MIT
Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources