RYC yacht charter deals
Server Details
Live discounted yacht charters in 11 destinations: search, price checks, trip cost, routes.
- Status
- Healthy
- Last Tested
- Transport
- Streamable HTTP · MCP 2025-06-18
- URL
TDQS
Scored across 15 tools
Most tools target distinct objects or actions: search/get/list/compare for boats, models, destinations and routes are clearly separated, and alert vs availability request are differentiated. The main overlap is among pricing/market tools (is_good_deal, prices_by_month, trip_cost, compare_boats), but their descriptions give enough boundaries to avoid most misselection.
Names are consistently snake_case and mostly follow verb_noun patterns such as search_deals, get_boat, list_routes and compare_boats. Minor deviations are noun-phrase names like prices_by_month and trip_cost, plus is_good_deal, but these remain readable and predictable.
Fifteen tools are well within a reasonable range for a rich charter-deal domain covering search, detail lookup, comparison, market pricing, alerts, routes, destinations, models and cost calculation. Each tool appears to earn its place rather than duplicating surface area.
The surface covers the full deal-discovery lifecycle: search and detail retrieval, market comparison, route/destination/model exploration, total trip cost, alert creation, availability requests and guide search. Booking itself is intentionally handled by site links, so there is no obvious dead end for the stated purpose.
Available Tools
15 toolscompare_boatsCompare boats side by sideARead-onlyInspect
2–5 discounted boat-weeks side by side: dates, base, whole-boat price, price per berth, discount, price with per-booking mandatory extras, verdict against the market, cabins, berths, year, length and heads, plus which one is cheapest, biggest discount, newest and largest. Pass ids or page URLs from search_deals.
| Name | Required | Description | Default |
|---|---|---|---|
| ids | No | Boat-week ids | |
| urls | No | Boat page URLs |
Output Schema
| Name | Required | Description |
|---|---|---|
| boats | Yes | |
| notes | Yes | |
| not_found | Yes | |
| highlights | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already establish that this is a read-only, closed-world operation. The description adds useful behavioral context by listing what is compared and the derived verdicts such as cheapest, biggest discount, newest, and largest, though it does not discuss error handling or limits beyond the 2–5 range.
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 action and input scope are front-loaded, followed by a dense but relevant list of comparison fields. It is appropriately sized for the amount of output context it conveys, though it is somewhat run-on.
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?
Given that an output schema exists and annotations cover safety, the description supplies enough context about inputs, valid count, source, and comparison outputs. Nothing essential for correct invocation appears to be missing.
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 parameters are already documented. The description still adds meaning by specifying that inputs come from search_deals and by stating the effective range of 2–5 items, which is not encoded as a minimum 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?
The description states a specific verb and resource: comparing 2–5 discounted boat-weeks side by side. It clearly distinguishes this from broad search by saying to pass ids or page URLs from search_deals, and it enumerates the comparison dimensions.
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 clear usage context: compare 2–5 boat-weeks and pass ids or page URLs from search_deals. It does not explicitly name when to avoid this tool versus siblings like get_boat, but the intended workflow and input source are clear.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
create_deal_alertLink to a deal alertARead-onlyInspect
A link to set up an alert on the site when nothing current fits the person's dates or budget. The answers given here are filled in; the site asks only what is missing. After the person signs in by email, the RYC agent searches charter portals and booking sites at once, repeats the search every week and sends only new discounted boats to the Messages page, by notification or email.
| Name | Required | Description | Default |
|---|---|---|---|
| lang | No | Site language for the link | en |
| month | No | Departure month, YYYY-MM; this month or later | |
| cabins | No | Guest cabins, exactly (2–5) | |
| country | No | Destination slug | |
| boat_type | No | ||
| max_price_eur | No | Budget for the whole boat per week, EUR; rounded up to the site's bands (2500, 5000, 8000, 10000; above the top band — any price) |
Output Schema
| Name | Required | Description |
|---|---|---|
| url | Yes | |
| filled | Yes | |
| next_steps | Yes | |
| still_to_answer | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The readOnlyHint is already declared, but the description earns credit by resolving the tension between the 'create_' name and read-only semantics: this tool produces a link, and the actual recurring search happens later on the site after the person signs in by email. It also discloses the delivery channels (Messages page, notification, email) and that only newly discounted boats are surfaced — non-obvious downstream behavior an agent should set expectations around. It does not say what this tool itself returns or whether the link expires, leaving a small gap.
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 sentences, front-loaded with purpose, with no filler. The final sentence is long and carries several facts at once (timing, frequency, filtering, delivery channels), which makes it denser than ideal, but each clause informs the agent or the user.
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 six-parameter tool with an output schema, the description covers the decision to use it, the prefill/optional-parameter model, and what the person can expect afterward, so the agent is not left guessing about the tool's role. The only omission is the immediate return contract, which the output schema already supplies.
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 83%, so the baseline is 3; the description adds a genuinely useful fact beyond the schema — 'The answers given here are filled in; the site asks only what is missing' — which explains why all six parameters are optional prefills rather than required inputs. That materially changes how an agent should populate them. It adds no per-parameter detail beyond what the schema already documents.
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 the resource and effect concretely: a link that sets up an alert on the site, not an alert created server-side. It implicitly distinguishes itself from the search siblings by scoping itself to the case where 'nothing current fits the person's dates or budget.' The phrasing leads with a noun phrase ('A link to...') rather than a verb, so the action is slightly less crisp than it could be, but the purpose 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 condition for use is explicit and situational: fall back to this tool when current inventory doesn't match the person's dates or budget. It does not name the alternatives it replaces (search_deals, is_good_deal) or state a when-not, so the routing is clear but not fully disambiguated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_boatFull data for one boatARead-onlyInspect
Everything known about one discounted boat-week: dates, whole-boat price, list price, discount, per-berth price, price history, specs (length, beam, draft, heads, engine, tanks, sails, charter type), equipment, mandatory and optional extras with prices, photos and the boat's other discounted weeks. Pass the id from search_deals (the number at the end of its page URL) or the page URL itself.
| Name | Required | Description | Default |
|---|---|---|---|
| id | No | Boat-week id: the number at the end of the page URL, e.g. 1131 for /en/deals/turkey/1131 | |
| url | No | Boat page URL from search_deals, e.g. https://www.rycrentals.com/en/deals/turkey/1131 |
Output Schema
| Name | Required | Description |
|---|---|---|
| id | Yes | |
| base | Yes | |
| page | Yes | |
| year | Yes | |
| model | Yes | |
| specs | Yes | |
| berths | Yes | |
| cabins | Yes | |
| extras | Yes | |
| photos | Yes | |
| return | Yes | |
| source | Yes | |
| booking | Yes | |
| country | Yes | |
| boat_type | Yes | |
| departure | Yes | |
| price_eur | Yes | |
| other_weeks | Yes | |
| cabins_total | Yes | |
| country_slug | Yes | |
| discount_pct | Yes | |
| price_cut_at | Yes | |
| first_seen_at | Yes | |
| per_berth_eur | Yes | |
| list_price_eur | Yes | |
| price_checked_at | Yes | |
| previous_price_eur | Yes | |
| mandatory_per_booking_eur | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and openWorldHint=false, so safety is covered; the description adds that the payload spans price history, mandatory/optional extras and photos, which tells the agent how heavy the response is. It omits any note on caching, rate limits, or what happens if a boat-week is no longer discounted.
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: the first front-loads the purpose and payload contents, the second handles input sourcing. The field enumeration is dense but each item answers whether the call is worth making.
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 an output schema present and full annotation coverage, the description need not explain return values, and the input story is nearly complete. The one gap is that it never states explicitly that at least one of id or url is required, which matters when required=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 100% and both fields carry examples, so the schema does the heavy lifting; the description still adds real value by clarifying that the id is the trailing number of the page URL and that the URL can be passed instead. Since required=0, the 'or' phrasing implicitly signals that one of the two must be supplied, which the schema alone does not state.
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 opens with a specific scope statement — 'Everything known about one discounted boat-week' — and enumerates the record's contents (prices, price history, specs, extras, photos, other weeks), so an agent knows exactly what it retrieves versus the list-style search_deals. It does not distinguish itself from get_yacht_model or compare_boats, which could plausibly return overlapping spec data.
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 names search_deals as the source of the id/URL, which is useful upstream context, but gives no when-to-use/when-not guidance against siblings like compare_boats or is_good_deal. Usage is implied by the scope rather than stated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_destinationWhen and where to sail in a destinationARead-onlyInspect
One destination in depth: the sailing area, bases and winds, the season month by month (peak, shoulder, off season, monsoon, hurricanes), live discounted boats and the five best deals, market prices by month, sailing routes from its bases and the site pages.
| Name | Required | Description | Default |
|---|---|---|---|
| lang | No | Language of titles, texts and stop names | en |
| country | Yes | Destination slug |
Output Schema
| Name | Required | Description |
|---|---|---|
| live | Yes | |
| name | Yes | |
| slug | Yes | |
| about | Yes | |
| pages | Yes | |
| months | Yes | |
| prices | Yes | |
| routes | Yes | |
| season | Yes | |
| top_deals | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and openWorldHint=false, so safety and locality are covered. The description adds that the payload mixes live inventory ('live discounted boats', 'five best deals') with static reference content, hinting at an aggregated, freshness-sensitive response, but says nothing about cost, latency, or how the live data behaves — and the content manifest largely duplicates what the output schema already shows.
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?
It is a single front-loaded sentence whose head phrase ('One destination in depth') frames everything that follows. The trailing comma-list is long and dense — 'the site pages' is a vague closing item — but every element conveys a real content category rather than filler.
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 an output schema, two fully documented enum parameters, and read-only annotations, the description only needs to tell the agent what class of data comes back, which the content manifest does. The remaining gap is guidance on when to prefer this aggregated call over the cheaper single-purpose siblings.
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 description coverage is 100% and both parameters carry enum values plus descriptions ('Destination slug', 'Language of titles, texts and stop names'). The description contributes nothing about the country slug format or the effect of the lang flag on returned stop names, 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?
The description enumerates exactly what 'one destination in depth' returns — sailing area, bases, winds, month-by-month season, deals, market prices, routes, site pages — which clearly separates it from list_destinations (a list) and from the narrow siblings like prices_by_month, get_route, or search_deals. It lacks an explicit verb and never names the siblings it supersedes, so it stops 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?
Usage is implied by the content manifest: an agent can infer this is the tool for a full destination profile rather than a single-fact lookup. However, there is no explicit when-to-use/when-not statement and no routing to list_destinations for discovery or to the narrower tools when only one data slice is needed.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_routeDay-by-day plan of one sailing routeBRead-onlyInspect
Full sailing route: description, day-by-day plan (leg, nautical miles, what to expect), each day's stops with latitude/longitude (decimal degrees, harbour or bay level), other marinas, town quays and mooring-buoy bays near each day's leg with coordinates, practical notes on wind, berths and formalities, total miles, the route page, up to five discounted boats departing from the route's start port and the page of all discounted boats in that destination. Pass country and slug from list_routes, or the route page URL.
| Name | Required | Description | Default |
|---|---|---|---|
| url | No | Route page URL, e.g. https://www.rycrentals.com/en/routes/turkey/marmaris-week | |
| lang | No | Language of titles, texts and stop names | en |
| slug | No | Route slug from list_routes, e.g. marmaris-week | |
| country | No | Destination slug, e.g. turkey |
Output Schema
| Name | Required | Description |
|---|---|---|
| end | Yes | |
| url | Yes | |
| days | Yes | |
| slug | Yes | |
| intro | Yes | |
| route | Yes | |
| start | Yes | |
| title | Yes | |
| country | Yes | |
| one_way | Yes | |
| updated | Yes | |
| boats_url | Yes | |
| practical | Yes | |
| boats_note | Yes | |
| description | Yes | |
| total_miles | Yes | |
| country_name | Yes | |
| overnight_stops | Yes | |
| boats_from_start | Yes | |
| coordinates_note | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already establish that this is a read-only, closed-world operation, so the description does not need to restate safety. It adds some scope detail, such as returning up to five discounted boats plus a page of all discounted boats, but does not disclose error behavior, rate limits, or other operational traits beyond the annotations.
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 description is front-loaded with the tool’s purpose, but its first sentence is an extremely long comma-separated list of returned fields. Because an output schema already exists, much of that enumeration is redundant, though the text remains organized rather than rambling.
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?
Given the read-only annotations, full schema coverage, and presence of an output schema, the description provides enough context to call the tool: it names the resource, summarizes returned content, and explains how to supply route identifiers. It stops short of describing sibling boundaries or response nuances, but no critical calling information is missing.
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 description coverage is 100%, so the schema fully documents all four parameters, including the lang enum. The description adds only that country and slug can come from list_routes or that a route page URL can be used, and does not mention lang or clarify parameter combinations.
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 clearly states that this tool returns the full details for one sailing route, including its day-by-day plan and associated stops. It references list_routes as the source of country and slug, which helps distinguish it from the listing sibling, but does not explicitly contrast with other detail-oriented siblings such as get_destination.
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 final sentence gives concrete input guidance: pass country and slug from list_routes, or use the route page URL. However, it does not explicitly state when to use this tool instead of list_routes, get_destination, or search_deals, and provides no exclusions or prerequisite conditions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_yacht_modelOne yacht modelBRead-onlyInspect
One yacht model in depth: its numbers across all discounted weeks, where it is available and from what price, the ten cheapest weeks, the five biggest discounts and similar models. Pass the model name (e.g. Lagoon 42) or its page URL.
| Name | Required | Description | Default |
|---|---|---|---|
| url | No | Model page URL, e.g. https://www.rycrentals.com/en/yachts/lagoon-42 | |
| model | No | Model name, e.g. Lagoon 42 or Bali 4.6 |
Output Schema
| Name | Required | Description |
|---|---|---|
| model | Yes | |
| best_discounts | Yes | |
| by_destination | Yes | |
| cheapest_weeks | Yes | |
| similar_models | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
readOnlyHint and openWorldHint already declare the safety/scope profile, so the description only needs to add context. It adds the breadth of data covered (all discounted weeks, availability, ten cheapest weeks, five biggest discounts, similar models), but nothing about auth, error behavior, or what happens with missing inputs — and much of the return content is already in the output schema.
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 what the tool returns and ending with the input instruction. The middle enumeration is dense but each item describes distinct returned data, so little is wasted.
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 an output schema and annotations present, the main remaining need is input business rules. Both parameters are optional (0 required), yet the description never says what happens if neither is supplied, nor how conflicts between url and model are resolved — a real gap for a 2-param lookup.
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 both parameters carry their own examples, so the schema does the heavy lifting. The description adds one useful nuance — that you may pass either a model name or a page URL — but the schema already lists both fields and the description doesn't clarify precedence or whether exactly one is expected.
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+resource and scopes it as a single-model, in-depth lookup ('One yacht model in depth'), which implicitly separates it from list_yacht_models. It does not name that sibling or get_boat explicitly, so the distinction is inferable rather than stated.
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 description implies when to use it by emphasizing depth for one model and giving example inputs, but it never says when NOT to use it or names the alternative (list_yacht_models for browsing, get_boat for a specific boat). Usage is left to inference.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
is_good_dealIs this boat a good deal?ARead-onlyInspect
Compares one boat-week's price with the market for the same destination, departure month and boat type (the agent's scans of hundreds of boats): verdict excellent / good / fair / expensive, percent above or below the median price per berth, the market quartiles, a recent price cut and cheaper weeks of the same boat. Use it before recommending a boat or when the person asks whether a price is good.
| Name | Required | Description | Default |
|---|---|---|---|
| id | No | Boat-week id: the number at the end of the page URL, e.g. 1131 for /en/deals/turkey/1131 | |
| url | No | Boat page URL from search_deals, e.g. https://www.rycrentals.com/en/deals/turkey/1131 |
Output Schema
| Name | Required | Description |
|---|---|---|
| boat | Yes | |
| market | Yes | |
| summary | Yes | |
| verdict | Yes | |
| price_drop | Yes | |
| compared_on | Yes | |
| vs_median_pct | Yes | |
| price_checked_at | Yes | |
| cheaper_weeks_of_same_boat | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and openWorldHint=false, so the safety profile is covered; the description adds real behavioral value by disclosing the comparison baseline (same destination, departure month, boat type, drawn from the agent's scans of hundreds of boats) and the shape of the verdict. It says nothing about freshness/staleness of the market data or what happens with an id that has no comparable weeks.
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 comparison and its dimensions, then the outputs, then the usage sentence — a logical order with no filler. The single dense sentence packing baseline dimensions and five output artifacts is heavy but each clause carries 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 an output schema present and annotations covering the read-only profile, the description need not restate return formats, and it is complete enough to decide when to call. The remaining gap is the id-versus-url choice, which neither description nor caller guidance resolves.
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 description coverage is 100%, including a worked URL example for id, so the schema carries the parameter burden and baseline is 3. The description adds nothing about the unusual fact that both id and url are optional and how to choose between them, which is the one genuinely ambiguous point for a caller.
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 concrete verb (compares) and a precisely scoped resource: one boat-week's price versus the market for the same destination, month and boat type, enumerating the verdicts and supporting stats it returns. The scope implicitly separates it from compare_boats and search_deals, but no sibling is named outright, so differentiation is inferred rather than stated.
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 explicit trigger conditions: 'Use it before recommending a boat or when the person asks whether a price is good.' That is a clear when-to-use, though it offers no when-not-to-use or named alternative for situations like comparing two candidate boats, which is what compare_boats appears to cover.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_destinationsDestinations with discounted yachtsARead-onlyInspect
All destinations with the number of discounted boats departing in the next three months, the biggest and median discount, the cheapest week, catamaran/monohull split and the destination page.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
| as_of | Yes | |
| price_unit | Yes | |
| destinations | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and openWorldHint=false, so safety is covered. The description adds one genuinely useful behavioral fact not in annotations: the fixed three-month forward-looking window. However, with an output schema present, the enumeration of return fields adds little, and nothing is said about result size or ordering.
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?
A single tight sentence with the resource front-loaded and the payload listed compactly. The comma-separated metric list is dense but readable, and no sentence is wasted.
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, read-only annotations, and an output schema documenting the return shape, the description only needs to convey scope and the time window — both are present. Only routing guidance against siblings is missing.
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, so the schema-level baseline of 4 applies. There is nothing for the description to clarify about inputs.
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?
Names the resource (destinations) and enumerates the aggregate data returned (discounted boat counts, max/median discount, cheapest week, hull split, page link). It is clearly distinct from the singular get_destination sibling. It lacks an explicit verb, but the list semantics are 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 'next three months' window and the discount-centric payload imply this is a discovery/overview tool, but the description never states when to use it versus get_destination, search_deals or prices_by_month. No exclusions or prerequisites are given, leaving the agent to infer routing.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_routesSailing routesARead-onlyInspect
Sailing routes from a charter base, from a few days to two weeks: title, destination, route label, number of days, total nautical miles, start port, end port (one_way: true when the boat is handed back somewhere else, otherwise the loop ends at the start), overnight stops in order, a short description and the route page. Use get_route for the day-by-day plan.
| Name | Required | Description | Default |
|---|---|---|---|
| lang | No | Language of titles, texts and stop names | en |
| country | No | Destination slug; omit for all routes |
Output Schema
| Name | Required | Description |
|---|---|---|
| count | Yes | |
| routes | Yes | |
| miles_unit | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover safety (readOnlyHint=true, openWorldHint=false), so the description's job is to add semantics — and it does, explaining that one_way: true means the boat is handed back elsewhere and otherwise the loop returns to the start port, plus that overnight stops are ordered. It does not disclose volume, pagination, or caching behavior, which keeps it off a 5.
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 resource and then a single dense sentence listing fields, ending with the sibling pointer where an agent will look for it. Every clause is informative, though the field enumeration partly duplicates the output schema and could be trimmed.
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 an output schema present, return values need no prose explanation, and annotations cover the safety profile. What remains — record semantics (one_way, loop closure, stop ordering) and the get_route branch — is exactly what an agent needs and is present.
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% with both parameters fully described (lang enum, country enum, and 'omit for all routes'), so the schema carries this dimension. The description adds only an oblique hint of base scoping ('from a charter base') and never mentions language selection. 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 resource (sailing routes from a charter base) with scope (a few days to two weeks) and enumerates the shape of each record. It explicitly separates itself from get_route, which covers the day-by-day plan, so an agent can pick between them 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?
Names the sibling alternative (get_route) and the condition that selects it. It does not state exclusions in the other direction (when list_routes is the wrong call), but the routing is clear enough for confident selection.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_yacht_modelsYacht models with discountsBRead-onlyInspect
Yacht models (Lagoon 42, Bali 4.2, Oceanis 46.1…) that have discounted weeks now: boats and weeks, destinations, lowest whole-boat and per-berth price, biggest and median discount, cabins, berths, build years and the model page. Filter by boat type, destination and minimum cabins.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | ||
| country | No | Only models with discounted boats in this destination | |
| boat_type | No | ||
| min_cabins | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| count | Yes | |
| models | Yes | |
| matching | Yes | |
| models_page | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already establish read-only and closed-world behavior. The description adds useful scope about current discounted availability and the model-level return fields, but does not cover pagination, limits, result ordering, or other behavioral traits beyond the annotations.
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?
It is a single front-loaded sentence with the key scope up front. The long list of return fields is somewhat dense, especially since an output schema exists, but it remains readable and waste is limited.
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 an output schema present, return values do not need full explanation, and the description covers the main filters. However, it omits the limit/pagination behavior and does not fully clarify how destination filtering maps to the country parameter.
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 description coverage is low (25%), and the description compensates partially by naming boat type, destination and minimum cabins as filters. It does not explain the country/destination enum semantics beyond 'destination', does not clarify boat type values, and leaves the limit parameter undocumented.
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 resource (yacht models) and scope (models that have discounted weeks now), which clearly separates it from get_yacht_model (single model) and search_deals (deals). It does not explicitly name or contrast sibling tools, keeping it just 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?
It says to filter by boat type, destination and minimum cabins, which implies usage for browsing discounted models. However, it gives no explicit when-to-use vs alternatives (e.g., search_deals or get_yacht_model) or exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
prices_by_monthYacht charter prices by monthBRead-onlyInspect
Price per berth per week (median, lower and upper quartile), median whole-boat week, share of boats 20%+ off and boats checked, by destination, month and boat type, from the agent's market scans.
| Name | Required | Description | Default |
|---|---|---|---|
| country | No | Destination slug; omit for all |
Output Schema
| Name | Required | Description |
|---|---|---|
| rows | Yes | |
| unit | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and openWorldHint=false, so safety is covered. The description adds that figures come from the agent's own market scans and includes a 'boats checked' sample-size indicator, which is useful context, but says nothing about freshness, caching, or coverage limits for destinations with few scans.
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?
It is a single dense sentence with no filler, but it front-loads a long list of metrics before establishing what the tool is for, making it harder to scan. It earns most of its words but is poorly ordered.
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 an output schema present, the description does not need to explain return values, and it covers data source, granularity and the key sample-size caveat. The main remaining gap is routing guidance relative to sibling pricing tools, which is squarely a usage-guideline issue.
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 country enum is fully documented, so the baseline is 3. The description adds that output is broken down by destination, month and boat type even though only country is filterable, which is mildly useful, but it blurs 'destination' and 'country' without clarifying that month/boat type are not filter 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 the exact metrics, granularity (destination, month, boat type) and source ('agent's market scans'), so it is clear this is a read of aggregated market pricing rather than an individual quote. It does not use a verb, and differentiation from trip_cost or is_good_deal is only implicit via 'market scans'.
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?
There is no statement of when to use this tool, when not to, or which sibling (e.g. trip_cost, is_good_deal, search_deals) to prefer for a given question. The agent must infer usage entirely from the metric list.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
request_availabilityLink to request a boatARead-onlyInspect
A link the person opens to ask an RYC manager to check and book one discounted boat-week. The link opens the boat page with the request form already open; the person signs in by email and presses Send — the assistant cannot send the request itself. The manager replies on the site's Messages page, by notification or email, within an hour from 10:00 to 20:00 Moscow time. Pass the id or page URL from search_deals or get_boat.
| Name | Required | Description | Default |
|---|---|---|---|
| id | No | Boat-week id: the number at the end of the page URL | |
| url | No | Boat page URL from search_deals or get_boat | |
| lang | No | Site language for the link | en |
Output Schema
| Name | Required | Description |
|---|---|---|
| url | Yes | |
| boat | Yes | |
| next_steps | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Beyond readOnlyHint, the description discloses the full human-in-the-loop behavior: the link opens with the form pre-filled, the person signs in by email and presses Send, and the manager replies on Messages/notification/email within an hour between 10:00 and 20:00 Moscow time. That kind of workflow and SLA detail cannot be inferred from any structured field.
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?
Purpose is front-loaded in the first sentence, followed by mechanics and then the manager-reply SLA. Four sentences for a link generator is on the long side, but each carries operational information an agent would otherwise have to guess; no filler is present.
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 tool with three optional parameters, no nested objects, and an output schema that already covers the returned link, the description supplies everything missing: who acts, what the human must do, and what response to expect and when. Nothing needed to call it correctly is absent.
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 description coverage is 100%, so id, url, and lang are already documented, including that the url comes from search_deals or get_boat. The description repeats that sourcing hint but does not clarify whether id or url is preferred when both are supplied, nor how lang affects the generated link. 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?
The description states precisely what the tool produces — a link that pre-opens the boat page with a request form for one discounted boat-week — and makes clear it is a handoff artifact rather than a booking action. Naming search_deals and get_boat as the sources of the id/URL separates it cleanly from the sibling tools an agent might otherwise pick.
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 says when to reach for it (after obtaining a boat id or page URL from search_deals or get_boat) and explicitly rules out a tempting misuse: 'the assistant cannot send the request itself.' There is no explicit when-not against other siblings such as compare_boats, but the usage context is unambiguous.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_dealsSearch discounted yachtsARead-onlyInspect
Discounted boats (one row per boat and week) filtered by destination, departure month or date window, boat type, cabins, group size (berths), minimum discount and maximum whole-boat price. Sorted by discount, whole-boat price or price per berth. With any filter beyond destination/month/type/cabins every matching boat is considered, matching says how many there are and next_offset pages through them. Without a month or date window each boat appears once (its best week). Returns dates, whole-boat price, list price, discount, per-berth price, photo, source, when the price was checked and the boat page.
| Name | Required | Description | Default |
|---|---|---|---|
| sort | No | discount — biggest first; price — cheapest whole boat; per_berth — cheapest per berth (best for a full boat) | discount |
| limit | No | ||
| month | No | Departure month, YYYY-MM (the next three months are covered) | |
| cabins | No | Guest cabins; 6 means 6 or more | |
| offset | No | Skip this many results: pass next_offset from the previous call | |
| people | No | People sleeping aboard: only boats with at least this many berths | |
| country | No | Destination slug | |
| boat_type | No | ||
| departure_to | No | Latest departure date, YYYY-MM-DD | |
| max_price_eur | No | Maximum whole-boat price for the week, EUR | |
| departure_from | No | Earliest departure date, YYYY-MM-DD (e.g. a flexible week: 2026-11-01 to 2026-11-15) | |
| min_discount_pct | No | Only boats at least this much off the list price, % |
Output Schema
| Name | Required | Description |
|---|---|---|
| more | Yes | |
| count | Yes | |
| deals | Yes | |
| filter | Yes | |
| matching | No | |
| price_unit | Yes | |
| next_offset | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already mark this as read-only and closed-world, and the description adds substantial behavioral context: one row per boat/week, best-week deduplication when no date window is given, matching count and next_offset paging, and the fields returned. This is a strong disclosure for a search tool.
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 description is dense but front-loaded, moving from core search semantics to sorting, paging, edge-case behavior, and return fields without filler. Every sentence adds useful information for an agent invoking a complex search tool.
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 12 optional parameters, paging, and date-dependent deduplication, the description gives enough behavioral context to call the tool correctly. An output schema exists, and the description still summarizes key return fields and paging mechanics, so no critical gap remains.
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 high at 83%, so the schema carries most parameter meaning. The description still adds useful semantic context by mapping filters to departure month/date window, boat type, cabins, berths/group size, discount and whole-boat price, and by explaining how sort and next_offset should be used.
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 clearly states a specific search over discounted boats, including row granularity and supported filters. It distinguishes the resource from generic boat lookup, but does not explicitly name or contrast with siblings such as compare_boats or prices_by_month.
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 description implies usage by explaining filtering, sorting, and paging behavior, including the special case where a month/date window is omitted. However, it does not explicitly say when to choose this tool over alternatives like compare_boats or is_good_deal.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_guidesSearch yacht charter answersARead-onlyInspect
Searches the site's own answers: FAQ (licences and documents, skipper, payment and deposit, what is included, cancellation, alerts), destination guides and seasons, and sailing routes. Returns the best-matching passages with their page URLs to quote. Ask in the language you pass as lang.
| Name | Required | Description | Default |
|---|---|---|---|
| lang | No | Language of titles, texts and stop names | en |
| limit | No | ||
| query | Yes | The question or keywords, e.g. «do I need a licence in Croatia» |
Output Schema
| Name | Required | Description |
|---|---|---|
| hint | Yes | |
| count | Yes | |
| query | Yes | |
| results | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and openWorldHint=false, so safety is covered; the description adds genuinely useful behavior beyond that — matching is passage-level, results come with page URLs intended for quoting, and the query language must match the lang parameter. It doesn't discuss result-count behavior or matching confidence, which keeps it from a 5.
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 short sentences, front-loaded with purpose, then output form (quotable passages plus URLs), then the language rule. No filler or restatement of the title.
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 an output schema present, return-value shape needn't be explained; between the annotations and the description, an agent knows the corpus, the read-only closed-world nature, and the language constraint. The only gap — the meaning of limit — is minor for a 3-parameter search 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?
At 67% schema coverage, the schema documents query and lang but says nothing about limit (default 5, max 10). The description adds a non-obvious constraint on lang — the question must be phrased in that language — which the schema's "Language of titles, texts and stop names" does not convey. The limit parameter remains unexplained in either place.
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?
Uses a specific verb ("searches") on a clearly bounded resource: the site's own answer corpus, itemized as FAQ topics, destination/season guides, and sailing routes. This distinguishes it from lookup siblings like get_destination, get_route, or get_boat, which return structured records rather than best-matching passages.
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?
Clear context is implied by the enumerated content scope (licences, skipper, payment/deposit, cancellation, alerts, destinations, routes), telling the agent this is the tool for prose/semantic questions. It does not explicitly say when to prefer it over get_destination or get_route, leaving that inference to the agent.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
trip_costFull cost of the weekARead-onlyInspect
What one boat-week really costs a group: boat price plus mandatory extras (charter pack, transit log, cleaning, tourist tax…) priced by their unit (per booking, per night, per person), plus a skipper and other optional extras on request; total and per person, with what is not included (deposit, fuel, marinas, food).
| Name | Required | Description | Default |
|---|---|---|---|
| id | No | Boat-week id: the number at the end of the page URL, e.g. 1131 for /en/deals/turkey/1131 | |
| url | No | Boat page URL from search_deals, e.g. https://www.rycrentals.com/en/deals/turkey/1131 | |
| extras | No | Optional extras to add, by name, e.g. ["SUP", "outboard", "bed linen"] | |
| people | No | People aboard; defaults to the boat's berths | |
| skipper | No | Add a skipper, if the source lists a price |
Output Schema
| Name | Required | Description |
|---|---|---|
| boat | Yes | |
| lines | Yes | |
| notes | Yes | |
| nights | Yes | |
| people | Yes | |
| not_found | Yes | |
| total_eur | Yes | |
| not_counted | Yes | |
| per_person_eur | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations declare readOnlyHint=true and openWorldHint=false, and the description is consistent with a pure calculation. It adds real behavioral context beyond annotations: which items are mandatory, how they are priced by unit, that the skipper/extras are only added 'if the source lists a price', and explicitly what the total excludes (deposit, fuel, marinas, food). It stops short of discussing missing-price handling or how the figures are sourced for the total.
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?
It is one front-loaded sentence that leads with the core outcome ('what one boat-week really costs') and then enumerates components. It is dense and slightly overstuffed with parenthetical lists, but every clause adds substantive scope information, so there is little waste.
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 read-only annotations, a full output schema, and 100%-documented parameters, the description's job is mostly scope framing, which it does well by naming inclusions, per-unit pricing, totals, per-person output, and exclusions. The remaining gap is the lack of any routing guidance against the cost-adjacent siblings (prices_by_month, compare_boats).
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 description coverage is 100%, including examples for id/url and extras, so the schema carries parameter meaning. The description only echoes the skipper and extras concepts ('skipper and other optional extras on request') without adding format, defaults, or interaction rules beyond what the schema already states. 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?
The description states a concrete computation (boat price + mandatory extras + optional extras, priced by unit, total and per person) for a distinctly named resource: a boat-week. It is clearly not a generic price listing like prices_by_month or a comparison like compare_boats, so the agent can distinguish it from siblings on description alone.
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?
Usage is implied: it is the tool for the 'real' cost of one boat-week, which suggests running it after finding a deal. However, it never states when to prefer it over prices_by_month, compare_boats, or is_good_deal, nor does it give prerequisites (e.g. that id or url should come from search_deals).
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.
2 tool updates
- Changed
get_route3 fields changed- added
Output schema / properties / endAdded value: +{ + "type": "string" +} - added
Output schema / properties / one_wayAdded value: +{ + "type": "boolean" +} - changed
Output schema / requiredPrevious value: -[ - "slug", - "country", - "country_name", - "title", - "route", - "days", - "total_miles", - "start", - "overnight_stops", - "description", - "url", - "intro", - "updated", - "practical", - "coordinates_note", - "boats_url", - "boats_from_start", - "boats_note" -]New value: +[ + "slug", + "country", + "country_name", + "title", + "route", + "days", + "total_miles", + "start", + "end", + "one_way", + "overnight_stops", + "description", + "url", + "intro", + "updated", + "practical", + "coordinates_note", + "boats_url", + "boats_from_start", + "boats_note" +]
- Changed
list_routes3 fields changed- added
Output schema / properties / routes / items / properties / endAdded value: +{ + "type": "string" +} - added
Output schema / properties / routes / items / properties / one_wayAdded value: +{ + "type": "boolean" +} - changed
Output schema / properties / routes / items / requiredPrevious value: -[ - "slug", - "country", - "country_name", - "title", - "route", - "days", - "total_miles", - "start", - "overnight_stops", - "description", - "url" -]New value: +[ + "slug", + "country", + "country_name", + "title", + "route", + "days", + "total_miles", + "start", + "end", + "one_way", + "overnight_stops", + "description", + "url" +]
2 tool updates
- Changed
get_route3 fields changed- changed
Input schema / properties / country / enumPrevious value: -[ - "turkey", - "greece", - "croatia", - "montenegro", - "italy", - "france", - "spain", - "canaries", - "portugal", - "seychelles", - "thailand", - "maldives", - "caribbean" -]New value: +[ + "turkey", + "greece", + "croatia", + "montenegro", + "italy", + "france", + "spain", + "canaries", + "portugal", + "seychelles", + "thailand", + "maldives", + "caribbean", + "cuba" +] - changed
Input schema / properties / slug / enumPrevious value: -[ - "marmaris-week", - "bozburun-week", - "loryma-week", - "gocek-week", - "fethiye-kekova-week", - "fethiye-bodrum-week", - "gocek-bozburun-week", - "gocek-marmaris-one-way", - "oludeniz-marmaris-one-way", - "saronic-week", - "lefkada-week", - "corfu-week", - "dodecanese-rhodes-week", - "dodecanese-patmos-week", - "aegina-thessaloniki-one-way", - "cyclades-10-days", - "kea-kythnos-week", - "lefkas-south-week", - "milos-week", - "thasos-week", - "split-week", - "pula-week", - "dubrovnik-week", - "kornati-week", - "zadar-week", - "trogir-week", - "dalmatia-two-weeks", - "krka-week", - "zadar-kvarner-two-weeks", - "boka-week", - "budva-week", - "bar-week", - "maddalena-week", - "corsica-week", - "tuscany-corsica-week", - "naples-week", - "aeolian-week", - "amalfi-week", - "aeolian-portorosa-week", - "aeolian-seven-islands-week", - "capri-4-days", - "cilento-week", - "elba-corsica-two-weeks", - "elba-giglio-week", - "ponza-week", - "venice-two-weeks", - "riviera-week", - "hyeres-week", - "ajaccio-week", - "palma-week", - "costa-brava-week", - "menorca-week", - "alicante-week", - "valencia-week", - "balearics-two-weeks", - "costa-brava-france-week", - "mallorca-week", - "tenerife-week", - "lanzarote-week", - "gran-canaria-week", - "algarve-week", - "azores-week", - "lisbon-week", - "la-digue-week", - "silhouette-week", - "praslin-week", - "phang-nga-week", - "phi-phi-week", - "similan-week", - "langkawi-one-way", - "male-ari-week", - "bvi-week", - "grenadines-week", - "antigua-week", - "st-martin-week", - "abaco-week", - "cuba-cayo-largo-week", - "cuba-cayos-week", - "cuba-juventud-11-days", - "guadeloupe-week", - "st-martin-martinique-two-weeks", - "st-martin-tortola-one-way" -]New value: +[ + "marmaris-week", + "bozburun-week", + "loryma-week", + "gocek-week", + "fethiye-kekova-week", + "fethiye-bodrum-week", + "gocek-bozburun-week", + "gocek-marmaris-one-way", + "oludeniz-marmaris-one-way", + "saronic-week", + "lefkada-week", + "corfu-week", + "dodecanese-rhodes-week", + "dodecanese-patmos-week", + "aegina-thessaloniki-one-way", + "cyclades-10-days", + "kea-kythnos-week", + "lefkas-south-week", + "milos-week", + "thasos-week", + "split-week", + "pula-week", + "dubrovnik-week", + "kornati-week", + "zadar-week", + "trogir-week", + "dalmatia-two-weeks", + "krka-week", + "zadar-kvarner-two-weeks", + "boka-week", + "budva-week", + "bar-week", + "maddalena-week", + "corsica-week", + "tuscany-corsica-week", + "naples-week", + "aeolian-week", + "amalfi-week", + "aeolian-portorosa-week", + "aeolian-seven-islands-week", + "capri-4-days", + "cilento-week", + "elba-corsica-two-weeks", + "elba-giglio-week", + "ponza-week", + "venice-two-weeks", + "riviera-week", + "hyeres-week", + "ajaccio-week", + "palma-week", + "costa-brava-week", + "menorca-week", + "alicante-week", + "valencia-week", + "balearics-two-weeks", + "costa-brava-france-week", + "mallorca-week", + "tenerife-week", + "lanzarote-week", + "gran-canaria-week", + "algarve-week", + "azores-week", + "lisbon-week", + "la-digue-week", + "silhouette-week", + "praslin-week", + "phang-nga-week", + "phi-phi-week", + "similan-week", + "langkawi-one-way", + "male-ari-week", + "bvi-week", + "grenadines-week", + "antigua-week", + "st-martin-week", + "abaco-week", + "guadeloupe-week", + "st-martin-martinique-two-weeks", + "st-martin-tortola-one-way", + "cayo-largo-week", + "cayos-week", + "juventud-11-days" +] - changed
Input schema / properties / url / descriptionPrevious value: -"Route page URL, e.g. https://www.rycrentals.com/en/deals/turkey/marmaris-week"New value: +"Route page URL, e.g. https://www.rycrentals.com/en/routes/turkey/marmaris-week"
- Changed
list_routes1 field changed- changed
Input schema / properties / country / enumPrevious value: -[ - "turkey", - "greece", - "croatia", - "montenegro", - "italy", - "france", - "spain", - "canaries", - "portugal", - "seychelles", - "thailand", - "maldives", - "caribbean" -]New value: +[ + "turkey", + "greece", + "croatia", + "montenegro", + "italy", + "france", + "spain", + "canaries", + "portugal", + "seychelles", + "thailand", + "maldives", + "caribbean", + "cuba" +]
2 tool updates
- Changed
get_route2 fields changed- changed
Input schema / properties / country / enumPrevious value: -[ - "turkey", - "greece", - "croatia", - "montenegro", - "italy", - "france", - "spain", - "canaries", - "seychelles", - "thailand", - "caribbean" -]New value: +[ + "turkey", + "greece", + "croatia", + "montenegro", + "italy", + "france", + "spain", + "canaries", + "portugal", + "seychelles", + "thailand", + "maldives", + "caribbean" +] - changed
Input schema / properties / slug / enumPrevious value: -[ - "marmaris-week", - "bozburun-week", - "loryma-week", - "gocek-week", - "fethiye-kekova-week", - "saronic-week", - "lefkada-week", - "corfu-week", - "dodecanese-rhodes-week", - "dodecanese-patmos-week", - "split-week", - "pula-week", - "dubrovnik-week", - "kornati-week", - "zadar-week", - "trogir-week", - "boka-week", - "budva-week", - "bar-week", - "maddalena-week", - "corsica-week", - "tuscany-corsica-week", - "naples-week", - "aeolian-week", - "amalfi-week", - "riviera-week", - "hyeres-week", - "ajaccio-week", - "palma-week", - "costa-brava-week", - "menorca-week", - "alicante-week", - "valencia-week", - "tenerife-week", - "lanzarote-week", - "la-digue-week", - "silhouette-week", - "praslin-week", - "phang-nga-week", - "phi-phi-week", - "similan-week", - "bvi-week", - "grenadines-week", - "antigua-week", - "st-martin-week" -]New value: +[ + "marmaris-week", + "bozburun-week", + "loryma-week", + "gocek-week", + "fethiye-kekova-week", + "fethiye-bodrum-week", + "gocek-bozburun-week", + "gocek-marmaris-one-way", + "oludeniz-marmaris-one-way", + "saronic-week", + "lefkada-week", + "corfu-week", + "dodecanese-rhodes-week", + "dodecanese-patmos-week", + "aegina-thessaloniki-one-way", + "cyclades-10-days", + "kea-kythnos-week", + "lefkas-south-week", + "milos-week", + "thasos-week", + "split-week", + "pula-week", + "dubrovnik-week", + "kornati-week", + "zadar-week", + "trogir-week", + "dalmatia-two-weeks", + "krka-week", + "zadar-kvarner-two-weeks", + "boka-week", + "budva-week", + "bar-week", + "maddalena-week", + "corsica-week", + "tuscany-corsica-week", + "naples-week", + "aeolian-week", + "amalfi-week", + "aeolian-portorosa-week", + "aeolian-seven-islands-week", + "capri-4-days", + "cilento-week", + "elba-corsica-two-weeks", + "elba-giglio-week", + "ponza-week", + "venice-two-weeks", + "riviera-week", + "hyeres-week", + "ajaccio-week", + "palma-week", + "costa-brava-week", + "menorca-week", + "alicante-week", + "valencia-week", + "balearics-two-weeks", + "costa-brava-france-week", + "mallorca-week", + "tenerife-week", + "lanzarote-week", + "gran-canaria-week", + "algarve-week", + "azores-week", + "lisbon-week", + "la-digue-week", + "silhouette-week", + "praslin-week", + "phang-nga-week", + "phi-phi-week", + "similan-week", + "langkawi-one-way", + "male-ari-week", + "bvi-week", + "grenadines-week", + "antigua-week", + "st-martin-week", + "abaco-week", + "cuba-cayo-largo-week", + "cuba-cayos-week", + "cuba-juventud-11-days", + "guadeloupe-week", + "st-martin-martinique-two-weeks", + "st-martin-tortola-one-way" +]
- Changed
list_routes1 field changed- changed
Input schema / properties / country / enumPrevious value: -[ - "turkey", - "greece", - "croatia", - "montenegro", - "italy", - "france", - "spain", - "canaries", - "seychelles", - "thailand", - "caribbean" -]New value: +[ + "turkey", + "greece", + "croatia", + "montenegro", + "italy", + "france", + "spain", + "canaries", + "portugal", + "seychelles", + "thailand", + "maldives", + "caribbean" +]
1 tool update
- Changed
get_route2 fields changed- added
Output schema / properties / days / items / properties / other_stopsAdded value: +{ + "items": { + "properties": { + "coordinates": { + "type": "string" + }, + "lat": { + "type": "number" + }, + "lon": { + "type": "number" + }, + "name": { + "type": "string" + }, + "type": { + "type": "string" + } + }, + "required": [ + "name", + "type", + "lat", + "lon", + "coordinates" + ], + "type": "object" + }, + "type": "array" +} - changed
Output schema / properties / days / items / requiredPrevious value: -[ - "day", - "leg", - "miles", - "text", - "stops" -]New value: +[ + "day", + "leg", + "miles", + "text", + "stops", + "other_stops" +]
15 tool updates
- First observed
compare_boats - First observed
create_deal_alert - First observed
get_boat - First observed
get_destination - First observed
get_route - First observed
get_yacht_model - First observed
is_good_deal - First observed
list_destinations - First observed
list_routes - First observed
list_yacht_models - First observed
prices_by_month - First observed
request_availability - First observed
search_deals - First observed
search_guides - First observed
trip_cost
Related MCP Connectors
Search 14,000+ charter boats with live prices, plus marinas, anchorages, routes and itineraries.
Live yacht charter inventory: 8,527 sailboats, catamarans, motorboats, gulets and houseboats.
51Live private jet empty legs, charter estimates in 12 countries and quote requests.
Instant private jet charter price estimates and confirmed live quotes, worldwide.
Related MCP Servers
- AlicenseNot gradedqualityDmaintenanceLets an AI assistant search live empty-leg private jet flights, estimate whole-aircraft charter prices in the departure market's local currency, and browse routes, aircraft sizes and licensed operators. It also sends quote requests to the charter desk, with no API key or payment needed.MIT

CruiseFeedofficial
AlicenseNot gradedqualityCmaintenanceQuery cruise sailings, fares, price drops & ship specsMIT
skyaccess-mcpofficial
AlicenseNot gradedqualityAmaintenanceEnables AI clients to search discounted private-jet empty-leg flights, retrieve flight details, obtain booking links, estimate charter prices, and submit charter enquiries.23 npm2MIT- AlicenseAqualityAmaintenanceVacation rental software. A signed stay offer on the host’s own domain. Use this when a vacation rental host wants booking software on the host’s own domain, or when a stay offer must be verified against that domain. Returns an Ed25519-signed offer (VRP) and the host’s direct booking URL. The guest books and pays the host. Do not use to compare hosts or prices.6999 npm4Apache 2.0
Glama MCP Gateway
Add one secure layer between your agents and this server.