MAPL Tours Jamaica
Server Details
Private airport rides from Montego Bay (MBJ) to Jamaican hotels and villas, plus tours
- Status
- Healthy
- Last Tested
- Transport
- Streamable HTTP · MCP 2025-11-25
- URL
TDQS
Scored across 8 tools
Each tool has a distinct role: finding destinations, checking timing, getting quotes, retrieving terms, listing tours, getting tour details, and creating booking links for tours or transfers. The split between check_transfer_timing and get_transfer_quote is clear because one verifies 24-hour bookability while the other provides exact pricing and pickup timing. No two tools appear to do the same thing.
All tool names follow a consistent snake_case verb_noun pattern: check_..., find_..., get_..., list_..., start_.... The verbs are descriptive and predictable, with no mixed conventions or vague names.
Eight tools is well-scoped for a booking service covering tours and airport transfers; each tool maps to a distinct step in the search-to-booking workflow. No tool feels redundant or missing from the core count.
The surface covers tour discovery, transfer destination lookup, timing checks, quotes, booking terms, and booking-link generation for both tours and transfers. Minor gaps exist for edge cases like group transfers (8+ passengers) and off-area transfers (Kingston, Port Antonio), which are handled by email rather than a tool, but the core booking lifecycle is complete.
Available Tools
8 toolscheck_transfer_timingCheck pickup timingARead-onlyIdempotentInspect
Check whether a pickup can be booked online. Bookings need 24 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.
| Name | Required | Description | Default |
|---|---|---|---|
| arrival_at | No | Flight arrival at MBJ, "YYYY-MM-DDTHH:MM" Jamaica time | |
| departure_at | No | Hotel pickup for the flight home, "YYYY-MM-DDTHH:MM" Jamaica time | |
| departure_flight_at | No | Flight home departs MBJ, "YYYY-MM-DDTHH:MM" Jamaica time; the hotel pickup is 3 hours 30 minutes earlier |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and idempotentHint=true, so safety is covered and the trailing 'Read-only' adds little. The description does add real behavioral context, however: the 24-hour booking rule, the Jamaica-time requirement, and the fact that both leg results and earliest bookable times are returned.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Front-loads the purpose, then the business rule, then parameter guidance, then return value. Dense but every sentence carries information; the closing 'Read-only' is the only element that duplicates the annotations.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description usefully explains the return (bookable per leg plus earliest bookable time) and covers all three parameters, including their either/or relationship. The only minor gap is behavior when zero arguments are supplied, since required parameters are 0.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is already 100%, so the baseline is 3, but the description adds genuine meaning: departure_at and departure_flight_at are presented as alternatives for the return leg, and it explains that the pickup is derived when departure_flight_at is supplied. That mutual-exclusion logic is not in the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource ('Check whether a pickup can be booked online'), which clearly separates it from siblings like start_transfer_booking and get_transfer_quote. It does not name those siblings explicitly, but the pre-booking validation intent is unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The 24-hour notice rule and the destination-based (Jamaica time) framing imply this is a pre-booking eligibility check, but the description never explicitly says when to call it versus start_transfer_booking or get_transfer_quote. Usage is inferred rather than stated.
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 villaARead-onlyIdempotentInspect
Find hotels and villas MAPL Tours 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.
| Name | Required | Description | Default |
|---|---|---|---|
| query | Yes | Hotel, villa, resort or town name, e.g. "Sandals Negril" or "Ocho Rios" |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly, idempotent, non-destructive and closed-world, and the description adds substantial behavior beyond them: a cap of 8 matches, a synthetic 'Other hotel or villa' id as the no-match fallback, full regional coverage, and an email-based alternative for uncovered regions. That is exactly the kind of fallback and limitation detail an agent cannot infer from the readOnly sidecar.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three tight sentences: purpose and scope first, return shape and downstream id second, coverage and exclusions last. No sentence is filler and the most load-bearing facts (what it finds, what it returns) are front-loaded.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
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 so: up to 8 results, the id field to consume, and the synthetic fallback id. Coverage boundaries and the out-of-scope regions are also spelled out, leaving nothing an agent needs before calling.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
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 already documented with examples ('Sandals Negril', 'Ocho Rios'). The description adds no new meaning about the query string beyond what the schema states, so the baseline 3 for a fully documented parameter is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb and resource ('Find hotels and villas') and scopes it precisely to properties MAPL Tours drives to from Sangster International Airport (MBJ), including a coverage count (199 properties) and named regions. An agent can immediately distinguish this destination-lookup tool from get_transfer_quote or the tour siblings.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It routes the agent explicitly, saying the returned id is what to pass to get_transfer_quote, and it gives a genuine when-not case (Kingston, Port Antonio and Mandeville are quoted by email instead). It stops short of stating that this lookup must precede quoting, but the workflow context is otherwise clear.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_booking_termsBooking termsARead-onlyIdempotentInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
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.
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.
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.
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.
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.
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 priceARead-onlyIdempotentInspect
Details for one tour: what it includes, ages, fitness, what to bring, the exact total for a party size, and the earliest bookable date. Read-only.
| Name | Required | Description | Default |
|---|---|---|---|
| tour | Yes | Tour title or slug from list_tours | |
| guests | No | Party size to price, default 2 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, and non-destructive, and the description's 'Read-only' merely restates them. It does add that the response is scoped to a single tour and includes a computed party price and earliest availability, but omits error behavior for invalid slugs or unavailable tours.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
One tight sentence that front-loads the subject ('Details for one tour') and then lists the returned fields. Every clause carries information, though the trailing 'Read-only' is redundant against the annotations.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description usefully enumerates the returned fields, which is exactly the context an agent needs to decide whether to call it. It stops short of mentioning failure cases or how the slug relates to list_tours output, but is otherwise sufficient for a two-parameter read tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so both parameters are fully documented in the schema itself, including the guests default of 2. The phrase 'the exact total for a party size' reinforces the pricing role of guests but adds no syntax or meaning beyond what the schema already supplies, so the baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
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 the payload it returns: inclusions, ages, fitness, gear, party pricing, and earliest bookable date. It is clearly not a list or booking tool, but it never names its siblings (list_tours, start_tour_booking) to draw the boundary explicitly, so it falls short of a 5.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The listed contents (ages, fitness, what to bring, exact price, earliest date) imply a pre-booking research use case, but the description never says when to call this versus list_tours or start_tour_booking, nor does it state prerequisites such as resolving the slug first. Usage is inferable only.
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 rideARead-onlyIdempotentInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| direction | No | One-way only. Default airport_to_hotel | |
| trip_type | No | Default round_trip (airport to hotel and back) | |
| passengers | No | Number of passengers, 1 to 7. Default 2 | |
| destination | Yes | Hotel or villa name, or an id from find_transfer_destination |
TDQS
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.
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.
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.
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.
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.
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 toursARead-onlyIdempotentInspect
List the 20 private tours and day packages MAPL Tours 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.
| Name | Required | Description | Default |
|---|---|---|---|
| area | No | Town or area, e.g. "Ocho Rios", "Negril", "Montego Bay" | |
| query | No | Keyword, e.g. "waterfall", "rafting", "sunset" |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly/idempotent/non-destructive, so the description's job is to add beyond that, and it does: 'returns up to 12 rows' discloses truncation against a catalog of 20 tours, and it clarifies hotel pickup inclusion and the price-unit semantics. Minor gap: it does not explain how to retrieve the remaining rows beyond the 12 cap.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Content is front-loaded with the catalog summary before the pricing caveat and filter details, and it is reasonably compact. It drifts slightly into return-field semantics (fromPriceUsd, priceUnit) that read more like output documentation than tool selection guidance.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
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 returns, and it does cover the price fields, party-size semantics, row cap, and pickup inclusion. It is nearly complete, leaving only the behavior above the 12-row cap unexplained.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the two parameters (area, query) are already fully documented with examples, making 3 the baseline. The description confirms they are optional filters but adds no syntax or matching behavior beyond the schema. Note the price-field explanation in the description refers to response fields, not parameters.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a specific verb (list) and resource (the 20 private tours and day packages) with concrete scope (Jamaica, named attractions). It also implicitly contrasts with get_tour by noting that the list is the catalog overview while get_tour computes an exact total. An agent can distinguish it from siblings like get_tour and start_tour_booking without opening a schema.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It routes clearly: use get_tour with guests for the exact total, implying this tool is for browsing/comparison rather than pricing a specific booking. It states the optional filters and the returned row cap. It stops short of an explicit 'when not to use' beyond the get_tour pointer, 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.
start_tour_bookingGet a booking link for a tourARead-onlyIdempotentInspect
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 24 hours' notice; get_tour gives the earliest date and the exact price. Confirm tour, date, guests and price with the traveller first.
| Name | Required | Description | Default |
|---|---|---|---|
| date | Yes | Tour date "YYYY-MM-DD" (Jamaica); needs 24 hours' notice, get_tour gives the earliest date | |
| tour | Yes | Tour title or slug from list_tours | |
| guests | Yes | ||
| pickup_hotel | No | Where the traveller is staying, for the hotel pickup |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations declare readOnlyHint=true and destructiveHint=false, but the description carries real weight by resolving the apparent tension in a 'booking' tool: 'Books and charges nothing by itself', then narrating exactly what the traveller does downstream (contact details, waiver, payment). It adds the 24-hour notice rule and the no-charge guarantee, which no annotation conveys.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Four sentences, leading with the core action and link behaviour before preconditions and the confirmation requirement. Slightly dense in the middle sentence describing the checkout flow, but every sentence carries operational information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description explains what is produced (a link the traveller opens), what happens after, and where to source valid dates and pricing. An agent has everything needed to call this correctly and set traveller expectations, despite the mutation-sounding name.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 75% (guests has only min/max bounds), and the description compensates by framing guests as 'party size' and describing how tour, date and guests populate the checkout. It adds the price/date-validity context via get_tour, though it never echoes the 12-guest ceiling or pickup_hotel semantics beyond what the schema states.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
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') and immediately distinguishes itself from start_transfer_booking by scoping to tours/day packages rather than transfers. An agent can route between the two booking tools without inspecting schemas.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly names the prerequisite workflow: get_tour supplies the earliest date and exact price, and the agent must confirm tour, date, guests and price with the traveller first. The 24-hour notice constraint is stated up front, so both when-to-use and when-not-to-call conditions are covered.
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 rideARead-onlyIdempotentInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| direction | No | Required for a one-way | |
| trip_type | Yes | ||
| arrival_at | No | Flight arrival at MBJ, "YYYY-MM-DDTHH:MM" Jamaica time | |
| passengers | Yes | ||
| destination | Yes | Hotel or villa name, or id from find_transfer_destination | |
| departure_at | No | Hotel pickup for the flight home, "YYYY-MM-DDTHH:MM" Jamaica time. If you only know the flight time, pass departure_flight_at instead | |
| arrival_flight | No | Arrival flight number, e.g. AA1234 | |
| departure_flight | No | Departure flight number | |
| departure_flight_at | No | Flight home departs MBJ, "YYYY-MM-DDTHH:MM" Jamaica time; pickup is set 3 hours 30 minutes earlier |
TDQS
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.
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.
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.
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.
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.
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.
8 tool updates
- First observed
check_transfer_timing - First observed
find_transfer_destination - First observed
get_booking_terms - First observed
get_tour - First observed
get_transfer_quote - First observed
list_tours - First observed
start_tour_booking - First observed
start_transfer_booking
Related MCP Connectors
Fixed-price GC & Brisbane airport and cruise transfers. Live quotes, human-confirmed bookings.
Fixed-price airport transfers and long rides from Upper Austria, Salzburg, Passau
Book London airport & cruise port transfers to any UK address. Fixed prices, free cancellation.
Discover transfers, private drivers, and Fiji rentals with non-persisted quote previews.
Related MCP Servers
- AlicenseNot gradedqualityDmaintenanceFixed 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
- AlicenseAqualityDmaintenanceEnables booking premium private chauffeur transfers in Paris and across Europe directly from AI agents. Provides tools to list vehicles, get quotes, book rides, and retrieve service information.4MIT
- FlicenseNot gradedqualityDmaintenanceEnables AI agents to get fixed-price quotes and book London airport transfers, with flight validation and inter-agent communication via A2A protocol.-
- FlicenseAqualityCmaintenanceFirst dedicated Hawaii tourism MCP server. Search 2,583 tours, 579 events, Groupon deals across Oahu, Maui, Big Island, and Kauai. Every result includes affiliate booking links. Powered by aloha.fyi.42-
Glama MCP Gateway
Add one secure layer between your agents and this server.