Skip to main content
Glama

Get Price Breakdown

get_price_breakdown
Read-onlyIdempotent

Show the itemized all-in cost of an upgrade before the traveler commits — the amount plus any taxes and fees. Pass the sessionId (or conversationId), the amount (omit it for INSTANT — the airline's fixed price is used), and the cabin/segment if the booking has more than one option. For a BID it also returns the operator's own bid-strength read. Use it to answer 'what will this actually cost me?' before place_bid.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
amountNoThe amount to price — a bid in the offer currency, or a number of points for purchaseType POINTS. Omit for INSTANT (fixed price).
segmentNoRoute 'YUL-LHR' or flight number, if more than one is eligible.
sessionIdNoThe sessionId from start_eligibility_check. Optional if conversationId is passed.
upgradeTypeNo
purchaseTypeNoBID (default), POINTS, or INSTANT (buy now at the airline's fixed price).
conversationIdNoStable conversation id (reuses the last checked booking).

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed1 schema field changed
    • changedOutput schema / (root)
      Previous value: -{
      -  "$schema": "http://json-schema.org/draft-07/schema#",
      -  "additionalProperties": false,
      -  "properties": {
      -    "amount": {
      -      "anyOf": [
      -        {
      -          "additionalProperties": false,
      -          "properties": {
      -            "currency": {
      -              "type": "string"
      -            },
      -            "value": {
      -              "type": "number"
      -            }
      -          },
      -          "required": [
      -            "value",
      -            "currency"
      -          ],
      -          "type": "object"
      -        },
      -        {
      -          "type": "null"
      -        }
      -      ]
      -    },
      -    "bidAnalysis": {
      -      "anyOf": [
      -        {
      -          "additionalProperties": false,
      -          "properties": {
      -            "score": {
      -              "type": [
      -                "number",
      -                "null"
      -              ]
      -            },
      -            "strength": {
      -              "type": "string"
      -            },
      -            "text": {
      -              "type": [
      -                "string",
      -                "null"
      -              ]
      -            }
      -          },
      -          "required": [
      -            "strength"
      -          ],
      -          "type": "object"
      -        },
      -        {
      -          "type": "null"
      -        }
      -      ],
      -      "description": "The operator's own strength read for a BID at this amount (e.g. EXCELLENT, score 0–100)."
      -    },
      -    "lines": {
      -      "items": {
      -        "additionalProperties": false,
      -        "properties": {
      -          "amount": {
      -            "additionalProperties": false,
      -            "properties": {
      -              "currency": {
      -                "type": "string"
      -              },
      -              "value": {
      -                "type": "number"
      -              }
      -            },
      -            "required": [
      -              "value",
      -              "currency"
      -            ],
      -            "type": "object"
      -          },
      -          "kind": {
      -            "type": "string"
      -          },
      -          "label": {
      -            "type": "string"
      -          }
      -        },
      -        "required": [
      -          "label",
      -          "amount"
      -        ],
      -        "type": "object"
      -      },
      -      "type": "array"
      -    },
      -    "note": {
      -      "type": "string"
      -    },
      -    "pending": {
      -      "description": "True when the operator hasn't returned itemized pricing yet.",
      -      "type": "boolean"
      -    },
      -    "purchaseType": {
      -      "type": "string"
      -    },
      -    "total": {
      -      "anyOf": [
      -        {
      -          "additionalProperties": false,
      -          "properties": {
      -            "currency": {
      -              "type": "string"
      -            },
      -            "value": {
      -              "type": "number"
      -            }
      -          },
      -          "required": [
      -            "value",
      -            "currency"
      -          ],
      -          "type": "object"
      -        },
      -        {
      -          "type": "null"
      -        }
      -      ]
      -    }
      -  },
      -  "type": "object"
      -}New value: +null
  2. Changed5 schema fields changed
    • changedInput schema / properties / amount / description
      Previous value: -"The amount to price — a bid in the offer currency, or a number of points for purchaseType POINTS."New value: +"The amount to price — a bid in the offer currency, or a number of points for purchaseType POINTS. Omit for INSTANT (fixed price)."
    • changedInput schema / properties / purchaseType / description
      Previous value: -"BID (default) or POINTS."New value: +"BID (default), POINTS, or INSTANT (buy now at the airline's fixed price)."
    • changedInput schema / properties / purchaseType / enum
      Previous value: -[
      -  "BID",
      -  "POINTS"
      -]New value: +[
      +  "BID",
      +  "POINTS",
      +  "INSTANT"
      +]
    • removedInput schema / required
      Removed value: -[
      -  "amount"
      -]
    • addedOutput schema / properties / bidAnalysis
      Added value: +{
      +  "anyOf": [
      +    {
      +      "additionalProperties": false,
      +      "properties": {
      +        "score": {
      +          "type": [
      +            "number",
      +            "null"
      +          ]
      +        },
      +        "strength": {
      +          "type": "string"
      +        },
      +        "text": {
      +          "type": [
      +            "string",
      +            "null"
      +          ]
      +        }
      +      },
      +      "required": [
      +        "strength"
      +      ],
      +      "type": "object"
      +    },
      +    {
      +      "type": "null"
      +    }
      +  ],
      +  "description": "The operator's own strength read for a BID at this amount (e.g. EXCELLENT, score 0–100)."
      +}
  3. Added

TDQS

A4.1/5.0
Behavior4/5

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

Annotations already establish read-only, idempotent, non-destructive behavior. The description adds meaningful behavioral context beyond that: it returns an itemized all-in cost including taxes/fees, and for BID it returns the operator's bid-strength read. It doesn't describe the output structure or edge cases, but it supplements the annotations without contradicting them.

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 sentences, front-loads the core purpose, and packs in usage conditions, parameter relationships, and a use-case trigger without redundancy. Every sentence earns its place.

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 0-required, 6-parameter tool with no output schema, the description covers the purpose, workflow timing, key parameter guidance, and BID-specific behavior. Gaps remain: there is no output-shape description despite the lack of an output schema, and 'cabin/segment' is slightly ambiguous because the schema only defines a segment parameter, not a cabin parameter.

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 description coverage is 83%, so the baseline is 3. The description adds real value by explaining the sessionId/conversationId interchangeability, the rule to omit amount for INSTANT, and when segment is needed. It doesn't cover every parameter, but it goes beyond simply restating the schema.

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 clearly identifies the tool's job with a specific verb and object: 'Show the itemized all-in cost of an upgrade' and explains it covers amount plus taxes/fees. It also adds useful specificity about BID behavior and the 'what will this actually cost me?' use case. However, it does not explicitly differentiate itself from the similarly named sibling get_upgrade_pricing; its only workflow contrast is 'before place_bid,' so it falls short of full sibling differentiation.

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 concrete when-to-use guidance: call it before place_bid to answer cost questions, and it provides conditional parameter guidance such as omitting amount for INSTANT and passing a segment when multiple options exist. It lacks explicit when-not-to-use instructions or named alternatives beyond place_bid, so it stops short of a 5.

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