Skip to main content
Glama

View cabin price history

get_price_history
Read-onlyIdempotent

Read one exact captured offer context's price history. contextKey is required from get_sailing offers. Never blends cabins, fares, markets, guest counts or events. Dates select overlapping captured observation spans; maxPoints retains the latest points.

Input Schema

NameRequiredDescriptionDefault
dateToNoInclusive latest observation date (YYYY-MM-DD).
dateFromNoInclusive earliest observation date; includes captured spans that overlap this date.
maxPointsNoRetain latest matching observations, default 100, maximum 200.
sailingIdYesStable sailing ID from search_cruises items[].id or list_departures items[].id.
contextKeyYesExact offers[].contextKey from get_sailing, identifying cabin/fare/occupancy/market/event; never infer or combine contexts.

Output Schema

NameRequiredDescriptionDefault
kindYes
seriesYes
sailingIdYes
truncatedYes
priceContextYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed1 schema field changed
    • changedOutput schema / properties / series / properties / guestCount / type
      Previous value: -"number"New value: +[
      +  "number",
      +  "null"
      +]
  2. Changed10 schema fields changed
    • addedOutput schema / properties / series / properties / basis
      Added value: +{
      +  "type": "string"
      +}
    • addedOutput schema / properties / series / properties / categoryCode
      Added value: +{
      +  "type": [
      +    "string",
      +    "null"
      +  ]
      +}
    • addedOutput schema / properties / series / properties / currency
      Added value: +{
      +  "type": "string"
      +}
    • addedOutput schema / properties / series / properties / points / items / properties / categoryCode
      Added value: +{
      +  "type": [
      +    "string",
      +    "null"
      +  ]
      +}
    • addedOutput schema / properties / series / properties / points / items / properties / contextKey
      Added value: +{
      +  "type": [
      +    "string",
      +    "null"
      +  ]
      +}
    • addedOutput schema / properties / series / properties / points / items / properties / coverage
      Added value: +{
      +  "type": "string"
      +}
    • addedOutput schema / properties / series / properties / points / items / properties / fareCode
      Added value: +{
      +  "type": [
      +    "string",
      +    "null"
      +  ]
      +}
    • addedOutput schema / properties / series / properties / points / items / properties / reason
      Added value: +{
      +  "type": "string"
      +}
    • addedOutput schema / properties / series / properties / points / items / properties / runId
      Added value: +{
      +  "type": [
      +    "string",
      +    "null"
      +  ]
      +}
    • addedOutput schema / properties / series / properties / scope
      Added value: +{
      +  "enum": [
      +    "offer",
      +    "headline"
      +  ],
      +  "type": "string"
      +}
  3. First observed

TDQS

A3.9/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 safety is covered. The description adds genuinely non-obvious behavior: results are strictly per-context and never blended across cabins, fares, markets, guest counts or events, and date filters match overlapping captured spans rather than exact-date hits. What it omits is what happens when no observations exist in range.

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 short sentences, no filler, with the core purpose and the required-parameter provenance front-loaded before the behavioral guarantees. Every sentence contributes a distinct constraint or routing hint.

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 an output schema present, return values need not be described, and annotations cover the safety profile, so the remaining burden is routing and semantics — both largely handled. The gap is the unaddressed relationship to the near-identically named sibling get_cabin_price_history, which is the most likely source of wrong-tool selection.

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 the baseline is 3, but the description adds real meaning: it explains that the date range selects overlapping observation spans (the dateTo schema only says 'inclusive latest observation date') and that maxPoints retains the latest points rather than an arbitrary subset. It also documents provenance for contextKey beyond the schema's 'never infer or combine contexts'.

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 and resource ('Read one exact captured offer context's price history') and scopes it to a single captured context, which implicitly separates it from a broader cabin price history. It does not name the very similar sibling get_cabin_price_history, so an agent must infer the boundary from 'one exact captured offer context' rather than being told directly.

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?

'contextKey is required from get_sailing offers' gives a concrete prerequisite and points at the upstream tool that supplies it. However, it never says when to prefer this over get_cabin_price_history or compare_sailings, and offers no exclusion conditions beyond the implicit 'never blends contexts' constraint.

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