Skip to main content
Glama

Which cruise line is cheapest for this trip

compare_cruise_lines
Read-only

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?".

Input Schema

TableJSON 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

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed1 schema 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)"
  2. First observed

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.

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources