Skip to main content
Glama

Server Details

Search cruises, check fares and price history, look up cabins, ships, lines and ports.

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

TDQS

A3.8/5.0

Scored across 14 tools

Disambiguation5/5

Each tool targets a distinct resource and action; the two excursion tools (getPortExcursions vs getSailingExcursions) and cabin tools (getShipCabins vs getCabinDetail) are explicitly scoped to single-port vs whole-itinerary and grouped vs specific cabin, making misselection unlikely.

Naming Consistency5/5

All 14 tools use camelCase with a predictable verb_noun or verb_noun phrase pattern (get..., compare..., search...). There are no mixed conventions or ambiguous name styles.

Tool Count5/5

14 tools cover search, comparison, pricing, line/ship/cabin profiles, ports, excursions, weather, dress code, and drinks without obvious redundancy. The count is well-scoped for a cruise research server.

Completeness4/5

The surface broadly covers cruise research, but lacks dedicated tools for onboard dining, entertainment/activities, loyalty programs, or general gratuities. These are minor gaps that the ship and line editorial fields may partially address.

Available Tools

14 tools
compareSailingsCompare sailingsA
Read-onlyIdempotent
Inspect

Compare 2–3 specific sailings side by side: dates, ports, price and price per night, price verdict against the six-month average, ship age and size, family suitability, rating with review count and CDC inspection score. Takes sailing ids from searchCruises.

ParametersJSON Schema
NameRequiredDescriptionDefault
idsYes
cabinNoCabin types to price: inside, oceanview, balcony, suite. Omit for all.

TDQS

A4.1/5.0
Behavior4/5

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

Annotations already declare readOnly, idempotent, non-destructive and non-openWorld, so the safety profile is covered. The description adds the valuable behavioral detail of what data the comparison surfaces, which is the main thing an agent needs to judge usefulness.

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 verb and scope, then a dense but purposeful enumeration of compared attributes. The second sentence on id provenance is short and earns its place; the field list is long but each item is information the agent needs.

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 correctly takes on the burden of describing return content, and it does so thoroughly. The only gap is the cabin parameter's effect on pricing and the 2–3 id limit, which remain schema-only.

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 50% and both parameters already carry inline descriptions in the schema. The description only reinforces that ids come from searchCruises and says nothing about the cabin filter or the 2–3 id cardinality constraint, so it adds little beyond the schema baseline.

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 (compare) plus the exact resource (2–3 specific sailings) and enumerates the compared dimensions: dates, ports, price, price per night, verdict vs six-month average, ship age/size, family suitability, rating, CDC score. It is clearly distinct from the sibling searchCruises, which it identifies as the source of ids.

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?

"Takes sailing ids from searchCruises" establishes the prerequisite workflow step and implies this is the follow-up to a search. It gives no explicit when-not-to-use or alternative comparison tool, but the context is clear and no competing sibling exists.

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

getBestTimeToVisitBest time to visitA
Read-onlyIdempotent
Inspect

Month-by-month average temperature and rainfall for a cruise port, region or destination, with the warmest and driest months. A place with very different sub-regions returns a list to choose from.

ParametersJSON Schema
NameRequiredDescriptionDefault
placeYesA port, region or destination, e.g. "Alaska"

TDQS

A3.9/5.0
Behavior4/5

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

Annotations already declare readOnlyHint, idempotentHint, non-destructive, and a closed-world scope, so the safety profile is covered. The description adds real behavioral value beyond them: it warns that a place with very different sub-regions returns a list instead of a single answer, which changes how an agent must handle the response. It does not mention rate limits or data freshness, keeping it out of 5 territory.

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 sentences, no filler. The core output content is front-loaded and the edge-case caveat follows it, so an agent gets the essential meaning first.

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 one parameter, full schema coverage, and a complete annotation set, the description covers what the tool returns and the one non-obvious response shape. It lacks any note on result limits or data recency, 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.

Parameters4/5

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

Schema coverage is 100% and the schema already defines 'place' with an example, so the baseline would be 3. The description goes further by classifying what counts as a place ('port, region or destination') and by explaining that ambiguous place names resolve to a list of candidates, which adds interpretive meaning for the one required parameter.

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 states exactly what the tool returns: month-by-month average temperature and rainfall for a cruise port, region, or destination, plus warmest/driest months. That is specific enough for an agent to separate it from data-oriented siblings like getPortGuide or searchCruises. It stops short of naming any sibling, so it does not earn a 5.

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: an agent can infer this is the tool for climate/seasonality questions, but there is no explicit 'use this when... instead of...' routing against getPortGuide or searchCruises. The note about sub-region lists is edge-case behavior, not guidance on when to choose this tool.

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

getCabinDetailCabin detailA
Read-onlyIdempotent
Inspect

One specific cabin by ship and room number: deck, side and position, category with size and how many it sleeps, connecting cabin, known issues (obstructed view, noise, long walk) and what cruisers who stayed there said. "No issues recorded" is not a guarantee of none.

ParametersJSON Schema
NameRequiredDescriptionDefault
shipYesShip name, e.g. "Allure of the Seas"
cabinYesCabin number, e.g. "9318" or "D126"

TDQS

A4/5.0
Behavior4/5

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

Annotations already declare readOnly, idempotent, non-destructive and closed-world, so the safety profile is covered. The description still adds real value by enumerating the returned attributes and by warning that '"No issues recorded" is not a guarantee of none' — an interpretive caveat an agent scoping a recommendation genuinely needs.

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 sentences, zero filler. The scope statement leads, the returned fields follow, and the caveat is deliberately placed last rather than buried mid-sentence.

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 correctly carries the burden of describing the response and does so thoroughly, plus a useful caveat. The only gap is behavior when the ship or cabin does not exist (error vs empty result), which an agent might want to know.

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 100% and both parameters carry examples ('Allure of the Seas', '9318' or 'D126'). The description restates that lookup is by ship and room number but adds no new constraint or format detail, so the baseline of 3 is correct.

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 ('One specific cabin by ship and room number') and then enumerates exactly what is returned (deck, side/position, category, size, sleeps, connecting cabin, known issues, cruiser reports). The emphasis on 'one specific cabin' implicitly separates it from the list-style sibling getShipCabins.

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 description makes the use case clear (look up a single cabin identified by ship and cabin number), so usage is implied, but it never names an alternative or an explicit when-not condition. An agent must infer that getShipCabins is the list-level counterpart rather than being told.

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

getCruiseLineProfileCruise line profileB
Read-onlyIdempotent
Inspect

One cruise line: who it is best and not for, descriptions by traveler type, ratings with review counts, attribute ratings, tier (mainstream, premium, luxury, river) and fleet size.

ParametersJSON Schema
NameRequiredDescriptionDefault
lineYesCruise line name, e.g. "Carnival" or "Seabourn"

TDQS

B3.2/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true, idempotentHint=true, destructiveHint=false and a closed-world lookup, so the safety profile is covered. The description usefully adds the scope of returned data (ratings with review counts, tier taxonomy, fleet size), but says nothing about name-matching behavior, miss handling, or freshness of ratings.

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

Conciseness4/5

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

A single dense sentence with the resource stated first and the return contents listed after the colon. Every clause carries information, though the comma-separated inventory is slightly list-heavy.

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?

With no output schema, the description does the right thing by summarizing what comes back, which is adequate for a simple one-parameter lookup. It still omits what happens when the name does not resolve and whether partial names are accepted, which an agent would need for reliable invocation.

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

Parameters3/5

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

Schema coverage is 100% and the single 'line' parameter is documented with examples ("Carnival", "Seabourn"). The description contributes only the phrase 'one cruise line', adding no format, matching, or normalization detail beyond the schema — baseline 3.

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 verb implied (fetch) and resource (one cruise line), and enumerates the payload contents: traveler-type descriptions, ratings, tier, fleet size. It is implicitly distinguishable from the sibling getShipProfile because it scopes to the line rather than a ship, but it never names or contrasts with that sibling explicitly.

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?

There is no when-to-use guidance, no statement of prerequisites, and no mention of alternatives such as getShipProfile for vessel-level data. Usage is only inferable from the description of returned content.

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

getDressCodeDress codeA
Read-onlyIdempotent
Inspect

A cruise line's dress code: overall style, daytime and evening rules, formal nights and how often, jeans/shorts/swimwear rules, venue rules and theme nights.

ParametersJSON Schema
NameRequiredDescriptionDefault
lineYesCruise line name, e.g. "Royal Caribbean"

TDQS

A3.5/5.0
Behavior4/5

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

Annotations already declare readOnlyHint=true, idempotentHint=true, openWorldHint=false and destructiveHint=false, so safety is covered. Because there is no output schema, the description carries the burden of describing what the response contains, and it does so concretely (overall style, daytime/evening rules, formal-night frequency, jeans/shorts/swimwear and venue rules).

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 compact sentence, front-loaded with the resource and followed by the content list. It is a noun fragment rather than a sentence, but every clause maps to actual returned content, so little is wasted.

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

Completeness4/5

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

For a read-only, single-parameter lookup with no output schema, the main risk is the agent not knowing what comes back — the enumeration of returned content addresses that. An explicit statement that only a cruise line name is needed to call it would close the remaining 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 100% for the single 'line' parameter, including an example ("Royal Caribbean"), so the baseline is 3. The description adds no syntax or format detail beyond what the schema already provides.

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 (a cruise line's dress code) and enumerates its sub-topics — daytime/evening rules, formal nights, venue rules, theme nights — which clearly separates it from getCruiseLineProfile or getShipProfile. It is a content inventory rather than a verb+resource statement, but the resource and scope are unambiguous.

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?

There is no guidance on when to call this versus siblings such as getCruiseLineProfile (which likely also carries line-level policy). No prerequisites, no exclusions, no indication that the caller should already know the cruise line.

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

getDrinkPackagesDrink packagesA
Read-onlyIdempotent
Inspect

Beverage-package details by cruise line: package names, maximum drink value, daily limits and gratuity.

ParametersJSON Schema
NameRequiredDescriptionDefault
cruiselineNoCruise line name; omit for all lines

TDQS

A3.8/5.0
Behavior4/5

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

Annotations already declare readOnlyHint, idempotentHint, destructiveHint=false and openWorldHint=false, so the safety profile is covered. The description still adds real value by disclosing the shape of the returned data (drink value caps, daily limits, gratuity), which matters because no output schema exists.

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?

One sentence, no filler, with the resource and the returned-content list front-loaded. Every clause earns its place by telling the agent what it gets back.

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

Completeness4/5

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

For a no-required-param read-only lookup with no output schema, the description covers both scope and the fields returned, and annotations handle the safety semantics. The only gap is the absence of any routing guidance among the twelve sibling lookup tools.

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?

The single parameter has 100% schema description coverage ('Cruise line name; omit for all lines'), so the schema fully carries parameter meaning. The description's 'by cruise line' phrasing is consistent with it but adds nothing beyond the schema; a baseline 3 is appropriate.

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?

Names a specific resource (beverage/drink packages) and enumerates the returned fields (package names, max drink value, daily limits, gratuity), which clearly separates it from siblings like getDressCode or getCabinDetail. It lacks an explicit verb, but the scope 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?

There is no explicit when-to-use or when-not-to-use statement, and no alternative sibling is named. Usage is only implied by the 'by cruise line' framing plus the schema's 'omit for all lines' note, which is enough to infer a filtered lookup but not documented guidance.

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

getPortExcursionsShore excursionsA
Read-onlyIdempotent
Inspect

Bookable shore excursions and resort day passes in a cruise port, with price, duration, rating and a link. Pass activity (e.g. "scuba", "ATV tours") to narrow to that kind of excursion, with its total, and minPrice/maxPrice to narrow by price. To narrow an earlier answer by price, call again with the same port and activity plus the price. For every port of one sailing, use getSailingExcursions.

ParametersJSON Schema
NameRequiredDescriptionDefault
portYesPort name or slug, e.g. "Cozumel"
activityNoA kind of activity, e.g. "scuba", "ATV tours", "snorkeling"; omit for everything
maxPriceNoHighest "from" price per person in US dollars, e.g. 145 for "under $145"; omit for no limit
minPriceNoLowest "from" price per person in US dollars, e.g. 100 for "over $100"; omit for no limit

TDQS

A4.6/5.0
Behavior4/5

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

Annotations already declare readOnlyHint, idempotentHint and destructiveHint=false, so the safety profile is covered; the description adds value by disclosing the result payload shape (price, duration, rating, link) despite there being no output schema, plus the refinement workflow of re-issuing the same query with added price bounds. It does not mention result counts, ranking, or rate limits, which keeps it short of 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.

Conciseness5/5

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

Four tight sentences, front-loaded with what the tool returns, then filtering parameters, then the refinement pattern, then the sibling alternative. Each sentence carries distinct information and nothing is repeated from the schema or annotations.

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

Completeness4/5

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

With no output schema, the description carries the payload description job and does it (price, duration, rating, link), and it covers the port/activity/price workflow plus the sibling alternative. Minor gaps remain: no indication of result volume, ordering, or truncation behavior for a broad port query.

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

Parameters4/5

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

Schema coverage is 100% with per-parameter descriptions (units, examples, omit-behavior), so the baseline is 3. The description adds interaction semantics the schema cannot express: that narrowing by price requires repeating the same port and activity parameters, clarifying cross-call parameter coupling.

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 (bookable shore excursions and resort day passes in a cruise port) and enumerates the returned attributes (price, duration, rating, link). It explicitly draws the boundary against the closest sibling by naming getSailingExcursions for the multi-port case, so an agent can route without opening either schema.

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

Usage Guidelines5/5

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

Gives explicit when-to-use conditions: pass activity to narrow by kind, minPrice/maxPrice to narrow by price, and re-call with the same port+activity to refine an earlier answer by price. It also names the alternative (getSailingExcursions) and the exact condition that selects it, leaving nothing to inference.

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

getPortGuidePort guideA
Read-onlyIdempotent
Inspect

Guide to a cruise port: what it is like, where it is, things to do, beaches, shopping, terminals, safety score, wifi and car rental.

ParametersJSON Schema
NameRequiredDescriptionDefault
portYesPort name, e.g. "Cozumel"

TDQS

A3.6/5.0
Behavior3/5

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

Annotations already declare readOnlyHint, idempotentHint, openWorldHint=false, and destructiveHint=false, so the safety profile is covered. The description adds useful context about what the guide contains, but it does not disclose return format, response size, or any behavioral constraints beyond what annotations provide.

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?

A single front-loaded sentence listing the guide's contents. Every item earns its place by telling the agent what information is returned, with 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?

For a simple one-parameter read-only lookup with no output schema, the description adequately enumerates the returned guide's coverage areas, which compensates for the missing output schema. It could be slightly more complete by noting the return format, 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.

Parameters3/5

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

There is only one parameter, and the schema describes it fully ('Port name, e.g. "Cozumel"') at 100% coverage. The description adds no parameter-level detail such as naming conventions or common aliases, so the baseline score of 3 applies when the schema carries the full burden.

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 ('cruise port') and enumerates the guide's coverage areas, which implicitly distinguishes it from siblings like getPortExcursions by focusing on general port information rather than bookable tours. It is clear what the tool returns, though it does not explicitly name an alternative.

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 by the content list (use it to learn about a port's amenities, safety, and logistics), but there is no explicit when-to-use guidance or mention of when another sibling tool would be better. No prerequisites or exclusions are given.

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

getPriceDropsCurrent price dropsC
Read-onlyIdempotent
Inspect

The biggest current cruise price drops: cabin type, current and average price, percent dropped, sail date and a booking link.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNo

TDQS

C2.7/5.0
Behavior2/5

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

Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, so the safety profile is covered by structured data. The description adds nothing behavioral beyond that: no default limit, no sort order for 'biggest', no refresh/pagination behavior, and no statement of what makes a drop qualify as 'biggest'.

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?

One compact sentence with the resource front-loaded and no filler, which is efficient. However, the bulk of the sentence is a return-field list rather than purpose or usage, so the space is not optimally spent.

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?

With no output schema, the description usefully enumerates the returned fields (cabin type, prices, percent dropped, sail date, booking link), which covers the return shape. It still omits sorting, default limit, and any caveats needed to call a ranked-list tool correctly.

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

Parameters2/5

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

The single 'limit' parameter has 0% schema description coverage, and the description never mentions it, its bounds (1-10), or its default when omitted. The word 'biggest' hints at sorting but does not connect it to the limit parameter, so the description fails to compensate for the schema gap.

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 (current cruise price drops) with a clear intent of surfacing the biggest drops. It distinguishes itself implicitly from getPriceHistory by the 'current' framing, but never names a sibling or contrast explicitly, so an agent must infer the boundary itself.

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?

There is no when-to-use guidance, no prerequisites, and no mention of alternatives such as getPriceHistory or searchCruises. An agent gets a topic but no routing logic for choosing this tool over the price-related siblings.

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

getPriceHistoryIs this a good price?A
Read-onlyIdempotent
Inspect

Judge one sailing's current fare: six-month price history, average, percent above or below it, a verdict, and whether it is on today's price-drop list. Takes a sailing id from searchCruises.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesA sailing id from searchCruises results, e.g. "carnival-breeze:2026-09-21:5"
cabinNoCabin types to price: inside, oceanview, balcony, suite. Omit for all.

TDQS

A4.3/5.0
Behavior4/5

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

Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, so the safety profile is covered. The description adds real value beyond that by disclosing the analytic outputs (six-month history, average, percent deviation, verdict, price-drop membership), which matters since no output schema exists.

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 tight sentences with the payload front-loaded and zero filler; the prerequisite sentence follows the outcome sentence logically.

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

Completeness5/5

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

With no output schema, the description carries the return-value burden and does so by enumerating the five things the agent gets back. Combined with annotations covering safety and 100% schema coverage on inputs, nothing material is missing for correct invocation.

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 100%, so both parameters (id and cabin) are already documented, including the cabin enum and the id format example. The description only adds provenance for the id ("from searchCruises") and says nothing about the cabin filter, so baseline 3 is appropriate.

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?

Specific verb (judge) and resource (one sailing's current fare), with an enumeration of exactly what the tool returns. It explicitly scopes to a single sailing, which cleanly separates it from sibling getPriceDrops (a list) and compareSailings (multi-sailing comparison).

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 names the source of the required id ("from searchCruises"), which establishes the intended call order and prerequisites. It gives clear context but stops short of naming an explicit alternative or a when-not-to-use condition, e.g. against compareSailings.

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

getSailingExcursionsExcursions for a sailingA
Read-onlyIdempotent
Inspect

Shore excursions for every port of one sailing in one call, in itinerary order: hours ashore at each port, up to three picks that fit the time ashore (with an hour to spare before all aboard) and each port's total. Pass a sailing id from searchCruises, or ship plus sail date. activity and minPrice/maxPrice narrow every port. Use this instead of calling getPortExcursions once per port.

ParametersJSON Schema
NameRequiredDescriptionDefault
dateNoSail (departure) date, YYYY-MM-DD; with ship, when there is no sailing id
shipNoShip name, e.g. "Allure of the Seas"; with date, when there is no sailing id
activityNoA kind of activity, e.g. "scuba", "ATV tours", "snorkeling"; omit for everything
maxPriceNoHighest "from" price per person in US dollars, e.g. 145 for "under $145"; omit for no limit
minPriceNoLowest "from" price per person in US dollars, e.g. 100 for "over $100"; omit for no limit
sailingIdNoA sailing id from searchCruises results, e.g. "carnival-breeze:2026-09-21:5"

TDQS

A4.5/5.0
Behavior4/5

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

Annotations already cover the safety profile (readOnly, idempotent, non-destructive, closed-world), so the bar is lower; the description still adds real substance by disclosing the selection logic (up to three picks per port that fit the time ashore with an hour to spare before all aboard) and the per-port outputs (hours ashore, totals). It stops short of describing pagination or failure modes.

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

Conciseness4/5

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

Dense but front-loaded: what it returns, then the selection guarantee, then how to supply a sailing, then filters, then the sibling alternative. Every clause carries information, though the description packs several ideas into three long sentences.

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 does the work of explaining the return shape (hours ashore, up to three picks, per-port totals) and the cross-port filter behavior. Remaining gaps are minor for a read-only, idempotent lookup tool.

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

Parameters4/5

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

Schema coverage is 100%, so baseline is 3; the description goes further by clarifying that activity and minPrice/maxPrice narrow EVERY port rather than a single port, which is a cross-parameter behavior the schema does not express. The sailing-id-vs-ship/date relationship is also restated usefully.

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 resource (shore excursions), the scope (every port of one sailing, one call, itinerary order) and explicitly distinguishes itself from getPortExcursions. An agent can identify it without opening the schema.

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

Usage Guidelines5/5

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

Gives both routing ('Use this instead of calling getPortExcursions once per port') and input alternatives (a sailing id from searchCruises, or ship plus sail date). When-to-use and which sibling to avoid are both explicit.

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

getShipCabinsA ship's cabinsA
Read-onlyIdempotent
Inspect

A ship's cabins grouped by type (inside, ocean view, balcony, suite): categories, cabin counts, size range, how many they sleep, and the line's guarantee categories.

ParametersJSON Schema
NameRequiredDescriptionDefault
shipYesShip name, e.g. "Voyager of the Seas"

TDQS

A3.5/5.0
Behavior4/5

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

Annotations already cover safety (readOnly, idempotent, non-destructive, closed-world), but with no output schema the description usefully discloses the returned payload: cabin categories, counts, size range, occupancy, and guarantee categories. It omits pagination/ordering behavior, keeping 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.

Conciseness4/5

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

A single front-loaded sentence naming the resource and grouping before enumerating fields; no filler or repetition of annotations. The field list is dense but each item is informative.

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

Completeness4/5

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

For a read-only, single-parameter lookup with full annotation coverage, the definition gives the agent enough: what is queried and what is returned. Only the missing sibling differentiation and any result ordering limits keep it below complete.

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

Parameters3/5

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

Schema description coverage is 100% and there is a single required 'ship' parameter fully documented with an example in the schema. The description adds no parameter-level meaning beyond that, so the baseline of 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 verb (get) and resource (a ship's cabins) plus the grouping dimension and returned fields, so the agent knows exactly what comes back. It does not differentiate itself from the sibling getCabinDetail, which is the closest candidate for confusion, 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.

Usage Guidelines2/5

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

There is no when-to-use or when-not-to-use guidance. Nothing tells the agent to prefer this over getCabinDetail for per-cabin information, and no prerequisites (e.g., a valid ship identifier source) are given.

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

getShipProfileShip profileB
Read-onlyIdempotent
Inspect

One ship: year built and refurbished, size, guests and crew, cabin counts, rating and attribute scores, family suitability, CDC inspection score, venues and editorial.

ParametersJSON Schema
NameRequiredDescriptionDefault
shipYesShip name, e.g. "Carnival Breeze"

TDQS

B3.2/5.0
Behavior3/5

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

Annotations already declare read-only, idempotent, open-world false, and non-destructive behavior. The description adds scope ('One ship') and enumerates returned fields, but does not add auth, error, or rate-limit context beyond the safety profile already covered.

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 description is a single compact sentence that enumerates fields without waste. It is not front-loaded with a verb, but remains efficient for a simple lookup tool.

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

Completeness4/5

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

For a simple one-ship read with strong annotations and a fully documented parameter, the field enumeration usefully compensates for the absence of an output schema. Missing usage routing and sibling differentiation keep it from a 5.

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 100% for the single ship parameter, including an example. The description does not add any parameter syntax or format details, so the baseline score of 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?

It states the resource and scope ('One ship') and enumerates the profile fields returned, distinguishing it from line-wide or sailing tools. However, it lacks an explicit verb and does not name a sibling alternative to reinforce the distinction.

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?

There is no explicit guidance on when to use this tool versus siblings like getCruiseLineProfile or getShipCabins. Usage is only implied by the resource name and field list.

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

searchCruisesSearch cruisesA
Read-onlyIdempotent
Inspect

Search upcoming cruise sailings by destination, region, dates, length (nights "lo:hi"), cruise line, ship, departure port, ports of call, cabin type, budget, family fit and more. Pass the full filter set; omitted fields are unfiltered. Returns the match count, cheapest fare, top lines, the 10 soonest-departing sailings (results are always soonest first; each has an id for compareSailings/getPriceHistory) and a link to the full results on gangwaze.com.

ParametersJSON Schema
NameRequiredDescriptionDefault
cabinNoCabin-type keys, lowercase, from exactly: "inside", "oceanview", "balcony", "suite". Multiple values are OR-ed. Do not use any other spelling or capitalization (e.g. not "Suite") — unrecognised values are rejected.
portsNoPorts of call, exact catalogue names. OR-ed together. The tool resolves each against the real catalogue and returns suggestions for any name it does not recognise.
priceNoINSIDE-CABIN TOTAL price for the whole cruise, per person, in whole US dollars, as a colon-delimited INCLUSIVE range "lo:hi", e.g. "100:900" for $100 to $900. Open-ended ranges are allowed: "500:" or ":1500". Use this for a total budget ("under $1,500"); for a budget stated per day / per night use `pricePerNight` instead. Always the inside-cabin price, never other cabin types. Do NOT pass a bare number or a hyphenated range. null means no constraint.
shipsNoShip names, exact catalogue values. OR-ed together. The tool resolves each against the real catalogue and returns suggestions for any name it does not recognise.
vibesNoItinerary character, from exactly: "relaxing", "adventure", "nature", "shopping". OR-ed together. Map only what the user says ("a relaxing beach week" -> ["relaxing"]; "scenery and wildlife" -> ["nature"]); never infer a vibe from a destination. Empty array means no constraint.
familyNoFamily-suitability of the SHIP as a colon-delimited INCLUSIVE range "lo:hi" over a 0-100 score. "Family", "with the kids", "teens", "multi-generational" -> "60:"; "adults only", "couples retreat", "no kids", "quiet ship" -> ":40". Never quote the score to the user. Do NOT pass a bare number or a hyphenated range. null means no constraint.
nightsNoCruise length as a colon-delimited INCLUSIVE range "lo:hi", e.g. "7:7" for exactly 7 nights, "5:9" for 5 to 9 nights. Open-ended ranges are allowed: "5:" (5+ nights) or ":9" (up to 9 nights). Do NOT pass a bare number like "7" and do NOT use a hyphen like "5-9" — both are invalid and the filter will be rejected. null means no constraint.
safetyNoSafety score as a colon-delimited INCLUSIVE range "lo:hi" over a 0-100 scale, e.g. "80:100" for safety score 80 and up. Open-ended ranges are allowed: "80:" or ":50". Do NOT pass a bare number or a hyphenated range. null means no constraint.
endDateNoLatest sail date, as "YYYY-MM-DD" (e.g. "2027-06-30"). null means no upper bound.
regionsNoSub-region names, exact catalogue values (e.g. "Eastern Caribbean", "Western Mediterranean"). OR-ed together. The tool resolves each against the real catalogue and returns suggestions for any name it does not recognise — it is not case-sensitive but must be a real region.
lineTypeNoCruise-line tier, from exactly: "mainstream", "premium", "luxury", "river". OR-ed together. Use for "luxury cruise", "something upscale", "the big mainstream lines". A NAMED line ("Seabourn") goes in `cruiselines`, never here — this field is for when no line is named. Empty array means no constraint.
shipSizeNoShip size as PASSENGER CAPACITY (number of guests), as a colon-delimited INCLUSIVE range "lo:hi". Map words to these bands: "small ship" / "intimate" / "boutique" / "not a floating city" -> ":1500"; "mid-size" -> "1500:3000"; "big ship" / "mega-ship" / "lots to do on board" -> "3000:". A stated number works too: "under 1,000 passengers" -> ":1000". The fleet runs 100 to 7,600 guests. Open-ended ranges are allowed. Do NOT pass a bare number or a hyphenated range. null means no constraint.
shipYearNoYear the ship was BUILT, as a colon-delimited INCLUSIVE range "lo:hi", e.g. "2015:" for ships built in 2015 or later — this is how to answer "a newer ship". The catalogue spans 1998-2024. Open-ended ranges are allowed: "2015:" or ":2005". Note this is the build year, NOT the sail year — for when the cruise departs use startDate/endDate. Do NOT pass a bare number or a hyphenated range. null means no constraint.
startDateNoEarliest sail date, as "YYYY-MM-DD" (e.g. "2027-03-01"). null means no lower bound.
tripShapeNoWhether the cruise returns to where it started. "round_trip" for sailings that end at their departure port — use this when someone does not want to book two flights. "one_way" for sailings that end somewhere else, which includes repositioning cruises. Exactly those two strings; null means no constraint. About one in five sailings is one-way.
cruiselinesNoCruise line names, exact catalogue values (e.g. "Carnival Cruise Line", not "Carnival"). OR-ed together. The tool resolves each against the real catalogue and returns suggestions for any name it does not recognise.
destinationNoA single top-level region name, exact catalogue value (e.g. "Caribbean", "Europe", "Alaska") — NOT a sub-region like "Mediterranean" or "Eastern Caribbean" (those go in `regions`). Must be a real catalogue value; the tool returns suggestions if it is not recognised. null means no constraint.
departureDaysNoWeekday the cruise departs, from exactly: "mon", "tue", "wed", "thu", "fri", "sat", "sun". OR-ed together. "Weekend getaway" / "leave on the weekend" -> ["fri","sat"], and set `nights` to ":4" unless the user gave a length. A named day ("sails on a Saturday") -> that day. A short cruise on its own never implies a weekend. Empty array means no constraint.
pricePerNightNoINSIDE-CABIN price PER NIGHT, per person, in whole US dollars, as a colon-delimited INCLUSIVE range "lo:hi" — e.g. ":100" for "under $100 a day", "80:120" for $80 to $120 a night. Use this whenever the user states a budget per day, per night or per person per day; use `price` for a total. Divide nothing yourself — pass the per-night figure the user said. Do NOT pass a bare number or a hyphenated range. null means no constraint.
departurePortsNoDeparture/embarkation port names, exact catalogue values. OR-ed together. The tool resolves each against the real catalogue and returns suggestions for any name it does not recognise.

TDQS

A4.3/5.0
Behavior4/5

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

Annotations already declare readOnlyHint=true, idempotentHint=true, destructiveHint=false, and openWorldHint=false. The description adds valuable behavioral detail beyond that: omitted filters remain unfiltered, results are always soonest first, and the response contains the match count, cheapest fare, top lines, 10 soonest sailings with IDs, and a gangwaze.com link. It does not cover rate limits or auth prerequisites, but the annotations carry the safety profile.

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?

The description is three tight sentences with no wasted wording. It front-loads the search purpose and filter breadth, then immediately explains filtering semantics and return behavior. Dense but appropriate for a 20-parameter search tool.

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

Completeness5/5

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

No output schema exists, so the description must explain return values, and it does: match count, cheapest fare, top lines, 10 soonest sailings, ordering, IDs for follow-up tools, and a full-results link. Combined with the fully documented input schema and read-only annotations, an agent has everything needed to call the tool correctly.

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 100%, so the schema already documents every parameter in detail. The description mentions broad filter categories and the nights "lo:hi" format, but it does not add meaning beyond the schema's per-field documentation. A baseline score of 3 is appropriate when the schema does the heavy lifting.

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

Purpose5/5

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

The description states a specific verb and resource: "Search upcoming cruise sailings". It enumerates the scope of filters and the return shape, and names compareSailings/getPriceHistory as follow-up tools for the returned IDs. An agent can distinguish this search tool from the sibling detail/profile tools without opening their schemas.

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 gives clear usage context: pass the full filter set, omitted fields are unfiltered, and results are always soonest first. It does not explicitly state when not to use this tool or name an alternative search tool, so it falls short of a full when/when-not/alternatives statement.

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. 2 tool updates
    • ChangedgetPortExcursions3 fields changed
      • addedInput schema / properties / activity
        Added value: +{
        +  "description": "A kind of activity, e.g. \"scuba\", \"ATV tours\", \"snorkeling\"; omit for everything",
        +  "maxLength": 80,
        +  "type": "string"
        +}
      • addedInput schema / properties / maxPrice
        Added value: +{
        +  "description": "Highest \"from\" price per person in US dollars, e.g. 145 for \"under $145\"; omit for no limit",
        +  "maximum": 100000,
        +  "minimum": 0,
        +  "type": "number"
        +}
      • addedInput schema / properties / minPrice
        Added value: +{
        +  "description": "Lowest \"from\" price per person in US dollars, e.g. 100 for \"over $100\"; omit for no limit",
        +  "maximum": 100000,
        +  "minimum": 0,
        +  "type": "number"
        +}
    • AddedgetSailingExcursions
  2. 13 tool updates
    • First observedcompareSailings
    • First observedgetBestTimeToVisit
    • First observedgetCabinDetail
    • First observedgetCruiseLineProfile
    • First observedgetDressCode
    • First observedgetDrinkPackages
    • First observedgetPortExcursions
    • First observedgetPortGuide
    • First observedgetPriceDrops
    • First observedgetPriceHistory
    • First observedgetShipCabins
    • First observedgetShipProfile
    • First observedsearchCruises

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