Points or Cash
Server Details
Use points or pay cash? Cents-per-point verdicts, transfer partners, award prices, lounges.
- Status
- Healthy
- Last Tested
- Transport
- Streamable HTTP · MCP 2025-06-18
- URL
- ChatGPT
- –
- Claude
- –
TDQS
Scored across 5 tools
Each tool has a clearly distinct role: award pricing, cashback card data, lounge access, points valuation, and transfer paths. Even the points-related tools separate data lookup, transfer mapping, and value calculation cleanly.
All names are lowercase snake_case noun phrases, with no mixed conventions or vague verbs. The pattern is predictable and readable throughout.
Five tools is well-scoped for a points-vs-cash decision helper, and each tool contributes a distinct part of the workflow. There is no obvious filler or missing obvious companion tool within this set.
The set covers award estimates, transfer options, cashback opportunity cost, points valuation, and lounge access, which forms a coherent decision surface. Minor gaps remain around live cash fare or live award availability, but the descriptions indicate the tools are meant to complement those external steps.
Available Tools
5 toolsaward_chartAward pricesARead-onlyIdempotentInspect
Typical saver award prices (one-way) by program, market and cabin from a researched table, plus known sweet spots. Use when live award search is unavailable, to shortlist programs, or to judge whether a live price is good. Prices are estimates with an as_of date; dynamic programs vary.
| Name | Required | Description | Default |
|---|---|---|---|
| cabin | Yes | ||
| market | Yes | us_ = from the US, eu_ = from Europe. *_north_asia = Japan/Korea/China/HK/Taiwan; eu_middle_east includes North and Central Africa; eu_africa = southern Africa | |
| programs | Yes | Program slugs to look up; empty array = all programs with a price for this market |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The annotations already declare readOnlyHint, idempotentHint, destructiveHint=false, and openWorldHint=false, so safety is covered. The description adds genuinely useful context beyond those: the data is a researched table rather than live inventory, prices are estimates carrying an as_of date, and dynamic programs will vary. It does not discuss coverage gaps, empty results, or lookup failures, which keeps it at 4.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three compact sentences: what it returns first, when to use it second, and the reliability caveat last. Every clause carries information and nothing is repeated from the title or schema.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
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 sketches the return content (per-program prices, sweet spots, as_of date). All three required parameters are addressed. The one remaining gap is that 'programs' takes free-form slugs with no indication of where valid slugs come from, which an agent would need to discover elsewhere.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 67%, with market and programs carrying helpful inline descriptions and cabin being a self-explanatory enum. The description's main semantic contribution is the 'one-way' unit qualifier, which matters for interpreting prices. It adds little on parameter syntax or valid program slugs beyond what the schema already provides, so the baseline 3 is right.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific resource and scope: 'Typical saver award prices (one-way) by program, market and cabin from a researched table, plus known sweet spots.' That is far more informative than the title 'Award prices' and separates it conceptually from siblings like points_value or transfer_options. It stops short of explicitly naming or contrasting a sibling, so it is a clear 4 rather than a 5.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It gives three concrete usage conditions: when live award search is unavailable, to shortlist programs, and to judge whether a live price is good. That is strong when-to-use guidance, but there is no explicit when-not or named alternative tool (e.g., a live search tool or points_value), so it does not reach the 5 level.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
cashback_cardsCash-back cardsARead-onlyIdempotentInspect
Earn rates for crypto-cashback and flat-cashback cards (Coinbase One Card, Gemini, Crypto.com, Fold, Robinhood Gold, Citi Double Cash, Wells Fargo Active Cash and more): rate on airfare, hotels, travel portals and everything else, fees, caps and how rewards pay out. Use when the traveler pays cash with one of these cards, to value the cash option (cash back earned) and to pass cash_back_pct to points_value.
| Name | Required | Description | Default |
|---|---|---|---|
| cards | Yes | Card slugs or names, e.g. ["coinbase_one_card"]; empty array = all cards |
TDQS
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 adds real value beyond that by disclosing what content the lookup covers (rates, fees, caps, payout behavior), which matters since there is no output schema. Minor gap: 'and more' leaves the card set partially open, and there is no statement about data freshness or currency of rates.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, front-loaded with the resource and its returned fields, followed by the usage rule. The long parenthetical card list is informative but slightly bloats the first sentence; otherwise there is little waste.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description must convey the shape of the result, and it does so reasonably by naming the rate categories, fees, caps, and payout mechanics. For a single-parameter read-only lookup this is close to complete; only data currency and full card coverage remain unstated.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% and the single parameter already documents itself, including the 'empty array = all cards' semantics. The description only implicitly reinforces this by saying 'one of these cards'; it adds no slug format or filtering detail beyond the schema. Baseline 3 is appropriate when the schema does the work.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a specific resource (earn rates for crypto-cashback and flat-cashback cards) and enumerates the exact data points returned: airfare/hotel/travel-portal/other rates, fees, caps, and payout mechanics. It also lists concrete card examples (Coinbase One Card, Citi Double Cash, etc.), so an agent can tell this is a card-economics lookup rather than an award chart or transfer lookup.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It states a clear trigger: 'Use when the traveler pays cash with one of these cards, to value the cash option.' It also names the downstream consumer ('pass cash_back_pct to points_value'), which helps sequence the call correctly. It stops short of a 5 because there is no explicit when-not condition or named alternative for the award/points path.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
loungesLounge accessARead-onlyIdempotentInspect
Airport lounges for a journey: the lounges at each airport (origin, connections, destination) and which ones the traveler can use with their cards, plus access rules by ticket and status (business class, oneworld/Star Alliance/SkyTeam elite). Covers 214 airports, including Brussels and the main European and Asian hubs, with access by ticket, status, Priority Pass and cards by issuing country. Use it when planning the full journey, after the flights are decided or when the traveler asks about lounges. Card rules change often; the data has an as_of date and verified flags.
| Name | Required | Description | Default |
|---|---|---|---|
| cards | Yes | Lounge-relevant cards the traveler holds, as slugs. US-issued: amex_platinum, amex_business_platinum, amex_centurion_card, chase_sapphire_reserve, capital_one_venture_x, citi_strata_elite, citi_aadvantage_executive, united_club_infinite, delta_reserve, bilt_palladium, priority_pass_network. Issued elsewhere: amex_platinum_be, amex_platinum_uk, amex_platinum_de, amex_platinum_nl, amex_platinum_fr, amex_platinum_au, revolut_ultra_be, bnp_fortis_mc_world_elite, belfius_private_mc_world_elite. Ask where a card was issued if it matters. Empty if unknown. | |
| airports | Yes | IATA codes in travel order, e.g. ["SFO","SEA","HND"] |
TDQS
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 adds real value beyond them by disclosing data freshness semantics: card rules change often, and results carry an as_of date and verified flags. It says nothing about latency, caching, or what happens when an airport or card is unknown, so it earns a solid 3 rather than more.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Purpose and scope are front-loaded in the first sentence, and triggers follow. The 214-airport inventory with the odd "including Brussels" callout adds little selection value and could be dropped, but the prose is otherwise tight.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a two-parameter read tool with no output schema, the description covers scope, coverage breadth, rule dimensions (ticket, alliance status, Priority Pass, cards by issuing country), and data freshness flags. Only the unknown/missing-data behavior is left unaddressed, which is a minor gap.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%; the schema already enumerates card slugs and explains travel-order IATA codes. The description restates the airport role (origin, connections, destination) and adds that access can depend on card issuing country, but it adds no syntax or fallback guidance beyond the schema, so the baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The opening clause names a specific resource and scope: lounges at each airport in a journey, which ones the traveler can use with their cards, and access rules by ticket and status. That is clearly distinct from the sibling tools (award_chart, cashback_cards, points_value, transfer_options), though no sibling is named explicitly for contrast.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It gives concrete trigger conditions: "Use it when planning the full journey, after the flights are decided or when the traveler asks about lounges." That is a clear usage context, but there is no explicit when-not or named alternative, which keeps it below a 5.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
points_valuePoints or cash verdictARead-onlyIdempotentInspect
Exact cents-per-point for an award vs the cash fare, in the trip currency: (cash − award fees − what paying cash would earn) ÷ points × 100. When the award is paid by transferring bank points, pass bank + program: it applies the traveler's transfer ratio (e.g. Belgian Amex to Flying Blue is 2:1) and any active bonus, and judges the value per bank point spent. Call it for every award you compare, rather than doing the maths yourself.
| Name | Required | Description | Default |
|---|---|---|---|
| options | Yes | ||
| currency | Yes | Currency of all prices, e.g. "EUR", "USD", "GBP". Cash fare and award fees must be in the same currency; convert first if they differ. | |
| cash_back_pct | Yes | Cash/crypto back % the traveler would earn paying cash (e.g. 4 for a 4% card). Null if unknown. | |
| points_per_unit_paying_cash | Yes | Card points earned per dollar/euro on the cash fare (e.g. 5 for Amex Platinum on flights). Null if unknown. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint and non-destructive, so the safety profile is covered. The description adds genuine behavioral context beyond that: the computation formula, that an active transfer bonus is applied, and that cash fare and award fees must share a currency. It does not say what the response looks like or how options map to results, so it is good but not rich.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Front-loads the formula and what is returned, then the transfer case, then the call-to-action. Dense but every sentence carries information; only the closing 'rather than doing the maths yourself' is slightly redundant.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
No output schema exists, but the formula tells the agent the result is a per-point value in cents, which is the key missing piece. For a 4-parameter computation tool with mostly documented schema, this is nearly complete; only the response shape per option is unstated.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 75%, and the description adds meaning the schema cannot: the bank+program pairing drives a transfer-ratio lookup with a concrete example (Belgian Amex to Flying Blue 2:1) plus active bonuses, and it explains the value is judged per bank point spent. That clarifies the most complex parameter relationship, though it leaves bank_points override and miles_earned_paying_cash to the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a precise verb-and-output: it computes exact cents-per-point for an award versus the cash fare, and even gives the formula. An agent can immediately tell this apart from award_chart (chart lookup), transfer_options (ratio lookup) and cashback_cards, since the transfer handling is folded into this tool.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly tells the agent to call it for every award compared rather than doing the maths manually, and gives a conditional instruction for transfer-paid awards (pass bank + program). It does not name siblings or state when-not to use it, so it falls 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.
transfer_optionsTransfer optionsARead-onlyIdempotentInspect
Which of the traveler's bank points can become miles/points in a target loyalty program, at what ratio, and how many they would end up with. Based on a researched transfer-partner table (has an as_of date; ratios change and transfer bonuses are not included). Pass the traveler's balances.
| Name | Required | Description | Default |
|---|---|---|---|
| balances | Yes | The traveler's bank point balances, e.g. [{"bank":"amex_mr","points":250000}]. amex_mr means a US-issued Amex; for an Amex issued elsewhere use the country key (amex_mr_be/_nl/_uk/_fr/_de/_es/_it/_se/_ch/_ca/_au/_sg/_hk/_in/_ae: different partners and ratios). Also Revolut RevPoints (revolut_eu, revolut_uk) and local banks (rbc_avion_ca, anz_au, westpac_au, nab_au, cba_au, dbs_sg, uob_sg, citi_sg, hsbc_sg, hsbc_hk, citi_hk, scb_hk, hdfc_in, axis_in, icici_in, enbd_ae, mashreq_ae, fab_ae). Ask which country issued the card if unclear. | |
| miles_needed | Yes | Miles the award costs, to check whether the balances cover it; null if unknown | |
| target_programs | Yes | Program slugs, e.g. ["aeroplan","flyingblue","virginatlantic","ana","hyatt"]. Empty array = list every partner reachable from the balances. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already establish readOnly, idempotent, non-destructive, and closed-world behavior, so the safety profile is covered. The description adds genuinely new behavioral context: results come from a researched transfer-partner table with an as_of date, ratios fluctuate, and transfer bonuses are excluded — a caveat that materially affects how an agent should present results.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three short sentences with the outcome statement front-loaded, followed by the data-provenance caveat and the input instruction. Every sentence carries information and nothing is padded.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description still conveys what the response contains (eligible conversions, ratios, post-transfer totals). It omits details like response shape or handling of unknown programs, but the freshness disclaimer covers the riskiest ambiguity for a 3-required-parameter tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
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 balances, target_programs, and miles_needed with enums and example slugs. The description only echoes the balances requirement and adds no format, edge-case, or semantics beyond what the schema already states, so the baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description gives a specific computed outcome: which bank points convert into a target program, at what ratio, and the resulting balance. That is far more precise than the title 'Transfer options' and is clearly distinct from valuation (points_value) or award pricing (award_chart), though no sibling is named explicitly.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
'Pass the traveler's balances' tells the agent the required input, and the tool's scope is implied by its phrasing, but there is no explicit when-to-use/when-not guidance and no routing to the sibling tools. Usage is inferable rather than stated.
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.
5 tool updates
- First observed
award_chart - First observed
cashback_cards - First observed
lounges - First observed
points_value - First observed
transfer_options
Related MCP Connectors
Live flight deals plus points-vs-cash math: transfer partners, valuations, per-leg verdicts.
Which card to use, what your points are worth, and whether each annual fee earns its keep.
Compare cash vs points on hotels, flights, and cars. Checkout supported hotels and rental cars.
Is this flight price good right now? Verdicts from 90 days of observed fares on 500+ routes.
Related MCP Servers
- AlicenseAqualityBmaintenanceTravel award search: compare cash vs points on hotels, flights & cars, cents-per-point, and book319MIT
- FlicenseNot gradedqualityDmaintenanceOfficial Industry Standard MCP for Travel Awards, Points, and more. Search award flight availability across multiple airline loyalty programs, find sweet spots, check transfer partners, and get market stats all via MCP.1-
- AlicenseBqualityCmaintenanceEnables finding and comparing cash and award flights, with seat maps and trip planning, ranking options by user-defined per-mile valuations.6MIT
- FlicenseNot gradedqualityCmaintenanceEnables award flight search across 20+ airline programs using PointsYeah, with tools for comparing programs, estimating points value, and checking redemption deals.-
Glama MCP Gateway
Add one secure layer between your agents and this server.