Skip to main content
Glama

Server Details

Find the best-value cruise: 23 lines, ~30k sailings priced nightly, low/high vs usual, book link.

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

TDQS

A3.7/5.0

Scored across 8 tools

Disambiguation5/5

Each tool has a clearly distinct purpose: search returns individual sailings, compare aggregates by cruise line, get_cruise details one sailing, cruise_options provides filter values, last_minute_cruise_deals is a narrow daily report, port_guide covers port-level info, and report_problem/request_trip_help handle feedback and human assistance. No two tools overlap in a way that would cause misselection.

Naming Consistency3/5

All names use snake_case, but the set mixes verb_noun patterns (search_cruises, get_cruise, compare_cruise_lines, report_problem, request_trip_help) with noun phrases (cruise_options, port_guide, last_minute_cruise_deals). This is still readable but not a predictable uniform convention.

Tool Count5/5

8 tools is well-scoped for a cruise discovery service. Each tool covers a distinct need (search, compare, details, options, deals, port guide, help, feedback) without redundancy.

Completeness4/5

The surface thoroughly covers search, comparison, single-sailing details, filter metadata, last-minute deals, port guidance, human help, and problem reporting. Minor gaps include no direct booking tool (book_url is external), no ship-level lookup, and no saved-search or price-alert capability, but core workflows are well supported.

Available Tools

8 tools
compare_cruise_linesWhich cruise line is cheapest for this tripA
Read-only
Inspect

Side-by-side cruise lines for the same kind of cruise (a region, departure port or port visited, plus dates): each line's number of sailings, ships, median and lowest price per person per night in one cabin grade, and its cheapest sailing with book_url. Answers "Alaska in July: Princess or NCL?".

ParametersJSON Schema
NameRequiredDescriptionDefault
lineNoCruise line, e.g. "Royal Caribbean", "NCL", "Princess", "Viking"
shipNoShip name or part of it
tierNo
cabinNoCabin grade to price. Omit to quote balcony where sold, else the next grade.
monthNoDeparture month, YYYY-MM
regionNoWhere the cruise goes: caribbean, bahamas, alaska, mexico, mediterranean, northern-europe, european-rivers, asia, repositioning, hawaii, bermuda, panama-canal, south-america, antarctica, australia, ... (every region with sailings on sale)
calls_atNoA port the ship must visit, e.g. "Juneau", "Santorini", "Cozumel"
depart_toNoLatest departure date, YYYY-MM-DD
from_portNoDeparture port, e.g. "Seattle" or "Barcelona"; several comma-separated: "Miami,Fort Lauderdale"
nights_maxNo
nights_minNo
depart_fromNoEarliest departure date, YYYY-MM-DD

TDQS

A4/5.0
Behavior4/5

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

Annotations establish readOnlyHint=true and openWorldHint=false, so safety is covered. The description adds genuine behavioral context beyond that: the comparison is scoped to comparable cruises, prices are per person per night, and figures include median vs lowest plus a bookable sailing. Pagination, result caps and the zero-filter behavior are not disclosed.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two sentences, front-loaded with the operation and its output, then a concrete example. Dense but every clause carries information; no filler.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a 12-parameter, zero-required tool with no output schema, the description covers output shape and filter intent well, but omits what happens with no filters supplied, any result limits, and how the comparison groups lines. Adequate but with clear gaps an agent would hit in practice.

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

Parameters4/5

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

Schema coverage is 75% with 12 parameters, and the description adds meaning the schema alone doesn't: filters define "the same kind of cruise" (region, departure port or port visited, plus dates), and pricing is quoted in a single cabin grade. It doesn't clarify how line/ship/tier interact or that all params are optional.

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

Purpose5/5

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

States a specific operation (side-by-side comparison of cruise lines for equivalent itineraries) and enumerates exactly what comes back: sailing/ship counts, median and lowest price per person per night, and the cheapest sailing with a book_url. This clearly separates it from siblings like search_cruises and cruise_options, which enumerate sailings rather than compare lines.

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

Usage Guidelines3/5

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

The example question ("Alaska in July: Princess or NCL?") implies the use case but the description never states when to pick this over cruise_options or search_cruises, nor any prerequisite (e.g. at least one filter required). Usage is inferable rather than explicit.

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

cruise_optionsWhat can be searchedA
Read-only
Inspect

The regions, cruise lines (with tier), departure ports and months on sale, each with its count of sailings. These are the values the search filters accept.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A3.7/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true and openWorldHint=false, so the safe, closed-world read profile is covered. The description adds that each facet carries a count of sailings, which is behavioral-ish context, but gives no detail on response shape or size. Adequate given the low annotation burden but not rich.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two short sentences, zero filler, front-loaded with the returned facet list. Every clause carries information.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With no output schema and no parameters, the description must carry the return-value burden, and it enumerates the facet categories and the count field clearly. It could say a bit more about how tier or months-on-sale are structured, but it is sufficient for an agent to call the tool correctly.

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

Parameters4/5

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

The tool takes zero parameters, so the baseline is 4. The description rightly spends its words on what can be filtered rather than on inputs, and there is no parameter semantics gap to fill.

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

Purpose4/5

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

The description names the specific resources returned (regions, cruise lines with tier, ports, months on sale) and their sailing counts, which is concrete and distinguishable from search_cruises. It lacks an explicit verb like 'list' or 'returns', leaving the action implied, but the resource set is unambiguous.

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

Usage Guidelines3/5

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

'These are the values the search filters accept' implies the tool should be consulted before invoking search_cruises, which is useful context. However, it never explicitly says when to call it versus siblings, nor does it name an alternative or state prerequisites.

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

get_cruiseOne sailing in fullB
Read-only
Inspect

Everything about one sailing: day-by-day itinerary, current price of each cabin grade with the date it was read (and which have no price listed),each grade against its usual price, the fare's own price history, the same itinerary on other dates with prices, the best thing to do at each port (verified seller and price where we have one, and its booking page), and book_url.

ParametersJSON Schema
NameRequiredDescriptionDefault
urlNoOr a fantasize.net /cruise/ link, or a Cruisebound sailing link
cabinNoCabin grade to price. Omit to quote balcony where sold, else the next grade.
sailing_idNoA Fantasize sailing id, as returned in search results

TDQS

B3.1/5.0
Behavior3/5

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

Annotations declare readOnlyHint=true and openWorldHint=false, covering the safety profile. The description adds value beyond this by disclosing that prices carry a read date, that some grades may have no listed price, and that port recommendations include verified sellers with booking pages. However, it doesn't clarify the response shape or any rate limits.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single long, comma-spliced sentence enumerating many return fields. It is front-loaded with 'Everything about one sailing' but the sprawling list of outputs makes it somewhat hard to parse; tightening would improve it.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a read-only detail tool with no output schema, the description does a good job enumerating what is returned. However, it omits identification requirements (must supply url or sailing_id), what happens if neither is provided, and any pagination or size caveats.

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

Parameters3/5

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

Schema coverage is 100%, so baseline is 3. The cabin enum and its omission-default behavior ('quote balcony where sold, else the next grade') are documented in the schema itself, not the description, so the description adds little parameter-level meaning.

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

Purpose4/5

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

The description names the specific resource (one sailing) and enumerates its contents in detail: itinerary, prices, history, alternatives, ports. It's clearly distinct from search_cruises and compare_cruise_lines, though it doesn't explicitly name a sibling to differentiate.

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

Usage Guidelines2/5

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

No when-to-use guidance or alternatives named. The agent must infer that this is for retrieving full details of a single already-identified sailing versus searching. The schema (url/sailing_id) implies identification-first, but the description doesn't say so.

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

last_minute_cruise_dealsLast-minute cruise deals (next 3 weeks)A
Read-only
Inspect

Today's report of balcony and suite cabins on cruises leaving North American ports within about 21 days, each measured against the book-ahead price for the same ship, grade and length (rebuilt every morning). Filter by departure port or region. Some late fares are dearer than booking ahead; those show a negative percent.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNo
regionNo
from_portNoDeparture port, e.g. "Seattle" or "Barcelona"; several comma-separated: "Miami,Fort Lauderdale"

TDQS

A3.9/5.0
Behavior4/5

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

Annotations already declare readOnlyHint and openWorldHint=false, but the description adds real behavioral context: data is rebuilt every morning, coverage is limited to North American ports and balcony/suite cabins, and negative percentages mean late fares cost more than booking ahead. It does not mention pagination or result volume, but adds meaningful value 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.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Front-loaded with the core scope in the first clause and no filler sentences; each sentence carries distinct information (scope, filters, price-delta semantics). Slightly dense but no waste.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With no output schema, the description must convey what comes back; it explains that each entry compares the late fare against the book-ahead price for the same ship, grade and length, and that negative values mean a premium. It does not enumerate full return fields, leaving a modest gap.

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

Parameters3/5

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

Schema coverage is only 33% (only from_port is documented). The description mitigates this by explaining that results can be filtered by departure port or region, giving region implicit meaning, but it adds nothing for 'limit' (default 10, max 25) and gives no format hints for region. Baseline 3 given the partial compensation.

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

Purpose5/5

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

States a specific verb+resource+scope: a daily report of balcony and suite cabins on cruises departing North American ports within ~21 days, benchmarked against book-ahead prices. This distinguishes it from generic siblings like search_cruises or cruise_options by its narrow inventory and price-delta framing.

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

Usage Guidelines3/5

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

'Filter by departure port or region' implies how to narrow results, but there is no explicit when-to-use guidance versus search_cruises or cruise_options, and no stated exclusions. Usage context is implied rather than stated.

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

port_guideBest things to do at a cruise portA
Read-only
Inspect

Fantasize's ranked guide to one cruise port: the most extraordinary things to do, the operator who runs each, the verified seller and price where we have one, a booking page for each, and how many sailings call there.

ParametersJSON Schema
NameRequiredDescriptionDefault
portYese.g. "Juneau", "Cozumel", "Santorini"

TDQS

A3.5/5.0
Behavior4/5

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

Annotations only declare readOnlyHint and openWorldHint=false. The description adds real value beyond them by disclosing the return contents (ranked activities, operator, verified seller and price, booking page, sailing counts), which matters because there is no 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.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

A single front-loaded sentence that leads with the resource and scope, then lists contents. It is a dense run-on list but every clause describes a distinct part of the response.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With no output schema, the description usefully enumerates what the guide returns, and the single required parameter is fully documented in the schema. Only the absence of usage routing keeps it from being complete.

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

Parameters3/5

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

Only one parameter, and schema coverage is 100% with a concrete example ('Juneau', 'Cozumel', 'Santorini'). The description adds no format or matching semantics beyond the schema, so baseline 3 applies.

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

Purpose4/5

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

States a specific resource - a ranked guide to one cruise port - and enumerates what it contains (activities, operators, seller/price, booking page, sailings count). This clearly separates it from the cruise-search siblings like get_cruise and search_cruises, though it never names them.

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

Usage Guidelines2/5

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

No when-to-use, when-not-to-use, or alternative routing is given. An agent must infer from the siblings alone that this is the port-destination lookup rather than a cruise search.

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

report_problemTell Fantasize something is wrongAInspect

Report a problem you found while using these tools: a price that does not match the booking page (wrong_price), a sailing that cannot be bought (not_for_sale), a wrong route or ports (wrong_itinerary), a book_url that does not open the sailing (broken_link), results that miss or do not fit the request (irrelevant_results, missing_sailings), or duplicates. Include sailing_id when it is about one sailing, and the search you ran when it is about results. Reports carry no personal details; a person at Fantasize reads every report.

ParametersJSON Schema
NameRequiredDescriptionDefault
kindYes
detailNoWhat was wrong, in a sentence or two
searchNoThe search arguments that produced the problem
sailing_idNo

TDQS

A4.3/5.0
Behavior4/5

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

Annotations only declare the safety profile (not read-only, not idempotent, not destructive, closed-world). The description adds real behavioral context beyond that: reports carry no personal details and a human at Fantasize reads every report, telling the agent the submission is human-reviewed and privacy-safe. It does not describe what response or confirmation comes back.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The verb and the scope lead, the enum-to-meaning list follows, and the param guidance and privacy note close it out. It is dense but every clause carries information (category definitions, param conditions, human review). Slightly long for a single run-on sentence but no filler.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

No output schema exists, and none is strictly needed for a fire-and-forget report, but the description covers submission categories, required context, privacy, and the review pipeline. The only gap is what the agent should expect after calling (confirmation, no return value), which is minor.

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

Parameters4/5

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

With only 50% schema description coverage, the description compensates well: it maps nearly every enum value of 'kind' to a plain-language meaning and explains when to populate sailing_id versus the nested search object. Only the 'other' enum value and the detail field's expected content are left implicit.

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

Purpose5/5

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

States a specific verb+resource (report a problem found while using these tools) and enumerates the exact problem kinds, which separates it cleanly from the read-only search/inspection siblings. An agent knows immediately this is the feedback channel, not a lookup tool.

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

Usage Guidelines4/5

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

The description tells the agent when to use each kind (wrong price vs unbookable sailing vs broken link vs irrelevant results) and gives conditional guidance: include sailing_id when it concerns one sailing, the search arguments when it concerns results. It does not state exclusions or alternatives, but the enumerated categories make the trigger conditions unambiguous.

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

request_trip_helpAsk a Fantasize cruise specialist to help plan a tripAInspect

Sends one email to the person's own address. Their click in that email confirms the request; only then does it reach a Fantasize cruise specialist, who replies to them by email to help plan and book the trip. Free; no account is created and nothing is charged. Takes the trip they want in a sentence or two, and optionally dates, travellers, budget, home city and the sailing ids they looked at.

ParametersJSON Schema
NameRequiredDescriptionDefault
nameNo
whatYesThe trip they want help with, e.g. "Alaska in July 2027 from Seattle, balcony, two adults, first cruise"
whenNoDates or month, e.g. "July 2027"
emailYesThe person's own email address, given with their consent
budgetNoe.g. "about $3,000 for two"
from_cityNoWhere they travel from
travelersNoe.g. "2 adults, 1 child aged 9"
sailing_idsNoFantasize sailing ids they looked at (up to 6)

TDQS

A4.1/5.0
Behavior5/5

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

Goes well beyond the annotations, which only declare readOnlyHint=false and openWorldHint=true. The description discloses the double opt-in mechanism (an email to the user's own address, their click confirms it), that no account is created and nothing is charged, and that a human specialist replies by email — all material side-effect and privacy context for a non-read-only tool.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Three front-loaded sentences: behavior and confirmation flow first, then cost/consent guarantees, then the accepted inputs. No filler, though the final sentence is a partial restatement of the schema.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For an 8-parameter, no-output-schema side-effect tool, the description covers the flow, cost, consent, and input expectations well. It is slightly thin on what the caller gets back after the request is sent (e.g. a confirmation response), but nothing critical for correct invocation is missing.

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

Parameters3/5

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

Schema description coverage is 88%, so the schema already documents email, what, when, budget, from_city, travelers and sailing_ids. The description adds only a loose summary of the same fields and their optionality, and omits `name` entirely, so it does not meaningfully exceed the schema.

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

Purpose5/5

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

States a specific action (send a help request email to a Fantasize cruise specialist) and a specific resource (trip planning request), which is clearly distinct from sibling search/info tools like search_cruises and get_cruise. An agent can tell this is a lead-handoff tool, not a data-retrieval one.

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

Usage Guidelines3/5

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

Usage is implied rather than stated: the description explains the confirmation flow and that it's free, which hints at when a user would want it, but it never says when to pick this over search_cruises, compare_cruise_lines, or cruise_options. No exclusions or prerequisites (e.g. 'use only after the user has looked at sailings') are given.

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

search_cruisesFind and rank cruises with today's pricesA
Read-only
Inspect

Accepts the request in plain words (q) or as fields. Searches every sailing Fantasize tracks (23 cruise lines, ~30,000 sailings, priced every night) by region, dates, departure port, ports visited, line, length, cabin and budget. Returns up to 25 sailings with the price per person (taxes and port fees in), per night and for a cabin of two, every cabin grade's price, whether the fare is low, typical or high against that sailing's usual price, the ports of call, and book_url - a link the person opens to book that exact sailing. Default ranking is best_value (furthest below its usual price).

ParametersJSON Schema
NameRequiredDescriptionDefault
qNoThe person's request in plain words, e.g. "alaska in july from seattle, balcony, under $3000 for two". Read by fixed rules; the answer says how it was understood and which words were not. Any other argument given overrides what q says.
lineNoCruise line, e.g. "Royal Caribbean", "NCL", "Princess", "Viking"
shipNoShip name or part of it
sortNobest_value
tierNo
cabinNoCabin grade to price. Omit to quote balcony where sold, else the next grade.
limitNo
monthNoDeparture month, YYYY-MM
regionNoWhere the cruise goes: caribbean, bahamas, alaska, mexico, mediterranean, northern-europe, european-rivers, asia, repositioning, hawaii, bermuda, panama-canal, south-america, antarctica, australia, ... (every region with sailings on sale)
calls_atNoA port the ship must visit, e.g. "Juneau", "Santorini", "Cozumel"
depart_toNoLatest departure date, YYYY-MM-DD
from_portNoDeparture port, e.g. "Seattle" or "Barcelona"; several comma-separated: "Miami,Fort Lauderdale"
nights_maxNo
nights_minNo
depart_fromNoEarliest departure date, YYYY-MM-DD
only_below_usualNoOnly fares measurably below their usual price
max_price_per_nightNoBudget per person per night, USD
max_price_per_personNoBudget per person for the whole cruise, USD

TDQS

A4/5.0
Behavior4/5

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

Annotations already establish readOnlyHint=true and openWorldHint=false, so safety is covered. The description adds real behavioral context beyond that: nightly re-pricing, default best_value ranking ('furthest below its usual price'), a 25-result cap, and the fare-vs-usual classification. It doesn't mention pagination or latency, so not 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.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Front-loads the two input modes then moves to results, so the agent reads the important routing fact first. Dense but every clause carries information; only the long enumeration of returned fields borders on over-stuffing.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Covers input modes, searchable dimensions, default ranking, result cap, and full return shape for a complex 18-param tool with no output schema. Nothing needed to invoke or interpret results is missing given the annotations cover the safety profile.

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

Parameters3/5

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

Schema coverage is 72%, above the 80% baseline region, and the schema documents most params well (date formats, comma-separated ports, region list). The description restates the searchable axes but adds little syntax-level meaning beyond the schema; the q-override hint is the main value-add.

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

Purpose5/5

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

States a specific verb and resource ('Searches every sailing Fantasize tracks'), defines searchable dimensions, and describes the return payload (per-person/per-night pricing, cabin grades, value rating, ports, book_url). An agent can distinguish this as the primary search/rank tool against siblings like get_cruise (single detail) and last_minute_cruise_deals (narrowed subset).

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

Usage Guidelines3/5

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

Implies the tool's role (search across all sailings, natural-language or structured input) and notes that explicit args override what q says, but never states when to prefer compare_cruise_lines, cruise_options, or last_minute_cruise_deals. No exclusions or alternative-selection guidance, so the agent must infer routing from sibling names alone.

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

Tool Schema Changelog

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

  1. 1 tool update
    • Addedrequest_trip_help
  2. 4 tool updates
    • Changedcompare_cruise_lines1 field changed
      • changedInput schema / properties / region / description
        Previous value: -"Where the cruise goes: caribbean, bahamas, alaska, mexico, mediterranean, northern-europe, european-rivers, asia, repositioning, hawaii, bermuda, panama-canal, south-america, antarctica, australia, ... (cruise_options lists them all with counts)"New value: +"Where the cruise goes: caribbean, bahamas, alaska, mexico, mediterranean, northern-europe, european-rivers, asia, repositioning, hawaii, bermuda, panama-canal, south-america, antarctica, australia, ... (every region with sailings on sale)"
    • Changedget_cruise1 field changed
      • changedInput schema / properties / sailing_id / description
        Previous value: -"From search_cruises"New value: +"A Fantasize sailing id, as returned in search results"
    • Changedreport_problem1 field changed
      • changedInput schema / properties / search / description
        Previous value: -"The search_cruises arguments that produced the problem"New value: +"The search arguments that produced the problem"
    • Changedsearch_cruises1 field changed
      • changedInput schema / properties / region / description
        Previous value: -"Where the cruise goes: caribbean, bahamas, alaska, mexico, mediterranean, northern-europe, european-rivers, asia, repositioning, hawaii, bermuda, panama-canal, south-america, antarctica, australia, ... (cruise_options lists them all with counts)"New value: +"Where the cruise goes: caribbean, bahamas, alaska, mexico, mediterranean, northern-europe, european-rivers, asia, repositioning, hawaii, bermuda, panama-canal, south-america, antarctica, australia, ... (every region with sailings on sale)"
  3. 1 tool update
    • Changedsearch_cruises1 field changed
      • addedInput schema / properties / q
        Added value: +{
        +  "description": "The person's request in plain words, e.g. \"alaska in july from seattle, balcony, under $3000 for two\". Read by fixed rules; the answer says how it was understood and which words were not. Any other argument given overrides what q says.",
        +  "type": "string"
        +}
  4. 1 tool update
    • Addedreport_problem
  5. 6 tool updates
    • First observedcompare_cruise_lines
    • First observedcruise_options
    • First observedget_cruise
    • First observedlast_minute_cruise_deals
    • First observedport_guide
    • First observedsearch_cruises

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    B
    maintenance
    Enables AI assistants to search upcoming sailings by ship, line, port, region, date, length and fare, view day-by-day itineraries, track each sailing's weekly fare history, measure monthly ship capacity and berths at a port, and read the weekly Cruise Price Index. All tools are read-only and return structured JSON behind OAuth sign-in or an API key.
    MIT
  • A
    license
    Not graded
    quality
    F
    maintenance
    Search 70,000+ cruise voyages, 678 ships, and 62 cruise lines worldwide. No API key needed, no installation required — just paste the URL. Includes RAG-powered knowledge search for ship dining, facilities, cabins, and port guides. 30 languages supported.
    3
    MIT
Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources