Skip to main content
Glama

calculate_flight_earnings

Read-onlyDestructive

Estimate the ELITE-QUALIFYING points a flight earns toward status — British Airways Tier Points, Air France/KLM Flying Blue XP, or American AAdvantage Loyalty Points — plus the great-circle distance. Answers 'how many tier points is LHR–JFK in business?' and 'how many BA tier points for a £600 fare?'. Tier Points and Loyalty Points are revenue-based (pass fare_price); Flying Blue XP is fixed per segment by distance + cabin. Use program slugs: 'british-airways-executive-club', 'air-france-klm-flying-blue', 'american-aadvantage'.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
cabinNoCabin: economy, premium, business, or first.economy
originYesOrigin airport IATA code, e.g. 'LHR'.
programYesQualifying program slug: 'british-airways-executive-club', 'air-france-klm-flying-blue', or 'american-aadvantage'.
segmentsNoNumber of flight segments/legs (multiplies Flying Blue XP). Default 1.
fare_priceNoFare price for revenue-based programs (BA Tier Points, AA Loyalty Points). Base fare + carrier surcharges, excluding taxes.
destinationYesDestination airport IATA code, e.g. 'JFK'.
fare_currencyNoISO currency of fare_price (e.g. GBP, USD, EUR). Defaults to the program's home currency.

TDQS

A3.7/5.0
Behavior1/5

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

The description frames the tool as a read-only estimation ('Estimate', 'Answers'), matching readOnlyHint, but the annotations also set destructiveHint: true. The description does not disclose any destructive behavior, and 'estimate' directly conflicts with the destructive hint, so the agent receives contradictory signals.

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 front-loaded with purpose, followed by examples and operational rules. It is moderately sized and each sentence adds information, though the example questions are slightly redundant with the initial purpose statement.

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 7-parameter calculator with no output schema, the description explains the return values (points plus great-circle distance), the program-specific calculation basis, and required program slugs. It does not describe the exact response shape or error conditions, but it is sufficient for selection and invocation.

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. The description adds real cross-parameter meaning: fare_price is only needed for revenue-based BA/AA earnings, while Flying Blue XP is segment- and cabin-based, clarifying when to supply fare_price and how segments factor in.

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 uses a specific verb ('Estimate') with a precise resource (elite-qualifying points plus great-circle distance), names the three supported programs, and gives concrete example questions. This clearly distinguishes it from siblings like get_points_valuation or get_earning_rates.

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 example questions ('how many tier points is LHR–JFK in business?') and program-specific earning rules imply when the tool should be used. However, it does not explicitly say when to prefer it over alternatives such as get_earning_rates or when not to use it.

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.

TDQS

B3/5.0
Disambiguation2/5

Several tools are near-duplicates (log_lounge_visit vs lounge_mark_lounge_visited, delete_lounge_visit vs lounge_delete_visit, audit_hotel_folio vs audit_marriott_folio) and the award-chart tools (get_pricing, get_program_rates, get_partner_award_options, get_program_partner_chart) have unclear boundaries. The three discover_more_flight_tools variants and overlapping lounge/portfolio listers compound the ambiguity, so an agent can easily pick the wrong one.

Naming Consistency3/5

Most tools use snake_case verb_noun names and many have consistent prefixes (cards_, lounge_, fs_, sw_), but prefixes are applied inconsistently: log_lounge_visit/delete_lounge_visit sit outside the lounge_ prefix while equivalent lounge_* tools exist, and fs_search_flight references a non-existent search_flight. The broad get_/list_/search_ verbs are predictable, but the mixed domain-prefix style and duplicate concepts hurt coherence.

Tool Count1/5

136 tools is far beyond a well-scoped server and bundles at least eight distinct domains (award search, cards, hotels, lounges, seatmaps, wifi, Viator, feedback). Many tools could be split into separate MCPs without loss of coherence, and the sheer count makes selection and prompt overhead prohibitive.

Completeness4/5

The core award-travel domain is well covered: bookings, hotels, points balances, statuses, vouchers, monitors, trips, and cards all have lifecycle CRUD, plus search and reference tools. Minor gaps exist (e.g. no true delete for standing orders, no single get for route monitors, and the Viator pair is an isolated mini-domain), but agents can generally complete workflows without dead ends.