points-or-cash
Registry code: 8efbaa54f6e6f35e
Points or Cash helps decide whether to use credit card points or pay cash for travel.
- transfer_options: which bank points (Amex, Chase, Capital One, Citi, Bilt, Wells Fargo, U.S. Bank) reach an airline or hotel program, at what ratio, and whether the balances cover an award.
- endpoint
- https://pointsorcash.app/mcp
- protocol
- streamable-http ·2025-06-18
- authentication
- none observed
- public key
- none — nobody has proven they own this listing · is it yours? claim it
- karma
- 0 · newcomer
- Is points-or-cash live?
- Yes — it answered the hub's last check (checked 2h ago). It answered 100% of checks over the last 30 days.
- Is points-or-cash free to use?
- Yes — the hub reached it with no key and no payment.
- What tools does points-or-cash have?
- 5 tools: transfer_options, points_value, award_chart, cashback_cards, lounges.
- Is points-or-cash safe to connect?
- The hub found no text in its card or tool descriptions aimed at the agent reading them. It measures what the server answers, not its code — grant it only the access its tools need.
90 days 100%· all time 100%
last good check
of 5 tools
- unknown → live
Calls placed through this hub's router, from its own receipts. Every caller and every payer counts the same; the chain total is counted from three payers.
through this hub
successful
what callers paid
Access was read off the card rather than seen on the wire: inferred: the handshake, the tool list and a call without arguments went through with no key and no payment asked; no tool was run
Price is per tool, not per server. An agent whose handshake is open can hold tools that demand a key or a payment, and one figure for the whole agent sends callers into a wall.
transfer_options unknown never probed
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.
{ "type": "object", "required": [ "target_programs", "balances", "miles_needed" ], "properties": { "balances": { "type": "array", "items": { "type": "object", "required": [ "bank", "points" ], "properties": { "bank": { "enum": [ "amex_mr", "chase_ur", "capital_one", "citi_ty", "bilt", "wells_fargo", "us_bank", "amex_mr_be", "amex_mr_nl", "amex_mr_uk", "amex_mr_fr", "amex_mr_de", "revolut_eu", "revolut_uk", "amex_mr_es", "amex_mr_it", "amex_mr_se", "amex_mr_ch", "amex_mr_ca", "rbc_avion_ca", "amex_mr_au", "anz_au", "westpac_au", "nab_au", "cba_au", "dbs_sg", "uob_sg", "citi_sg", "hsbc_sg", "amex_mr_sg", "hsbc_hk", "citi_hk", "amex_mr_hk", "scb_hk", "hdfc_in", "axis_in", "amex_mr_in", "icici_in", "enbd_ae", "amex_mr_ae", "mashreq_ae", "fab_ae" ], "type": "string" }, "points": { "type": "integer", "maximum": 9007199254740991, "minimum": 0 } }, "additionalProperties": false }, "description": "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": { "anyOf": [ { "type": "integer", "maximum": 9007199254740991, "minimum": -9007199254740991 }, { "type": "null" } ], "description": "Miles the award costs, to check whether the balances cover it; null if unknown" }, "target_programs": { "type": "array", "items": { "type": "string" }, "description": "Program slugs, e.g. [\"aeroplan\",\"flyingblue\",\"virginatlantic\",\"ana\",\"hyatt\"]. Empty array = list every partner reachable from the balances." } }, "additionalProperties": false }arguments 97 linespoints_value unknown never probed
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.
{ "type": "object", "required": [ "currency", "options", "cash_back_pct", "points_per_unit_paying_cash" ], "properties": { "options": { "type": "array", "items": { "type": "object", "required": [ "label", "cash_price", "miles", "award_fees", "bank", "program", "bank_points", "miles_earned_paying_cash" ], "properties": { "bank": { "anyOf": [ { "enum": [ "amex_mr", "chase_ur", "capital_one", "citi_ty", "bilt", "wells_fargo", "us_bank", "amex_mr_be", "amex_mr_nl", "amex_mr_uk", "amex_mr_fr", "amex_mr_de", "revolut_eu", "revolut_uk", "amex_mr_es", "amex_mr_it", "amex_mr_se", "amex_mr_ch", "amex_mr_ca", "rbc_avion_ca", "amex_mr_au", "anz_au", "westpac_au", "nab_au", "cba_au", "dbs_sg", "uob_sg", "citi_sg", "hsbc_sg", "amex_mr_sg", "hsbc_hk", "citi_hk", "amex_mr_hk", "scb_hk", "hdfc_in", "axis_in", "amex_mr_in", "icici_in", "enbd_ae", "amex_mr_ae", "mashreq_ae", "fab_ae" ], "type": "string" }, { "type": "null" } ], "description": "Bank currency transferred to pay for it (same keys as transfer_options, e.g. amex_mr_be), or null if the miles are already in the program" }, "label": { "type": "string", "description": "e.g. \"Flying Blue business, 60k + €500\"" }, "miles": { "type": "integer", "maximum": 9007199254740991, "description": "Miles/points the award costs in the airline or hotel program", "exclusiveMinimum": 0 }, "program": { "type": [ "string", "null" ], "description": "Program slug the miles are in, e.g. \"flyingblue\", \"avios_ba\", \"aeroplan\"; needed with bank" }, "award_fees": { "type": "number", "minimum": 0, "description": "Taxes, fees and surcharges paid on the award" }, "cash_price": { "type": "number", "description": "Cash fare for the same flight", "exclusiveMinimum": 0 }, "bank_points": { "anyOf": [ { "type": "integer", "maximum": 9007199254740991, "exclusiveMinimum": 0 }, { "type": "null" } ], "description": "Bank points spent if you already know it (overrides the ratio lookup); else null" }, "miles_earned_paying_cash": { "anyOf": [ { "type": "integer", "maximum": 9007199254740991, "minimum": 0 }, { "type": "null" } ], "description": "Airline miles the cash ticket would earn (award tickets usually earn none); null if unknown" } }, "additionalProperties": false } }, "currency": { "type": "string", "maxLength": 3, "minLength": 3, "description": "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": { "anyOf": [ { "type": "number", "maximum": 10, "minimum": 0 }, { "type": "null" } ], "description": "Cash/crypto back % the traveler would earn paying cash (e.g. 4 for a 4% card). Null if unknown." }, "points_per_unit_paying_cash": { "anyOf": [ { "type": "number", "maximum": 10, "minimum": 0 }, { "type": "null" } ], "description": "Card points earned per dollar/euro on the cash fare (e.g. 5 for Amex Platinum on flights). Null if unknown." } }, "additionalProperties": false }arguments 171 linesaward_chart unknown 2h ago
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.
{ "type": "object", "required": [ "market", "cabin", "programs" ], "properties": { "cabin": { "enum": [ "economy", "premium", "business", "first" ], "type": "string" }, "market": { "enum": [ "us_domestic", "us_europe", "us_japan_north_asia", "us_southeast_asia", "us_middle_east_india", "us_south_america", "us_hawaii", "us_caribbean_mexico", "eu_europe", "eu_north_america", "eu_caribbean_mexico", "eu_south_america", "eu_middle_east", "eu_africa", "eu_india", "eu_southeast_asia", "eu_north_asia", "eu_australia" ], "type": "string", "description": "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": { "type": "array", "items": { "type": "string" }, "description": "Program slugs to look up; empty array = all programs with a price for this market" } }, "additionalProperties": false }arguments 51 linescashback_cards unknown 2h ago
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.
{ "type": "object", "required": [ "cards" ], "properties": { "cards": { "type": "array", "items": { "type": "string" }, "description": "Card slugs or names, e.g. [\"coinbase_one_card\"]; empty array = all cards" } }, "additionalProperties": false }arguments 16 lineslounges unknown 2h ago
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.
{ "type": "object", "required": [ "airports", "cards" ], "properties": { "cards": { "type": "array", "items": { "type": "string" }, "description": "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": { "type": "array", "items": { "type": "string" }, "description": "IATA codes in travel order, e.g. [\"SFO\",\"SEA\",\"HND\"]" } }, "additionalProperties": false }arguments 24 lines
This deployment has no calling key, so nothing can be run from here. The console signs through the hub with the site's own account; without one it would have to send an unsigned call, which only works against a hub with signatures switched off.
Nobody has claimed this listing. Claimed, its README badge says «verified owner» with figures this hub measured, routed paid calls to it pay your account (today there is nobody to pay), and its history counts towards your passport.
- Sign any request with an ed25519 key — that binds it:
GET /api/v1/me, thenPOST /api/v1/passport. - Prove it is yours. Easiest: put
brick-blue-key=<your key>in your MCP server's instructions — or a DNS TXT record / a file on the domain. - Ask the hub to check:
POST /api/v1/passport/claim-endpointwith this listing's id8efbaa54f6e6f35e.
Every step, filled in for this listing: https://brick.blue/api/v1/agents/8efbaa54f6e6f35e/claim.
Over MCP: the claim_endpoint tool.
[](https://brick.blue/agent/8efbaa54f6e6f35e?ref=badge)
The picture says what this hub measured — the access class, how many tools it called and whether they answered — and refreshes hourly. Unclaimed, it says so; claim the listing and the same badge says «verified owner» with its uptime and paid calls.
An MCP server publishes no agent card, so there is nothing to score here: this is how many tools it exposes, a measure of surface rather than of quality.
MCP servers publish no card, so there is no card specification to depart from — this count is always zero for them.
Built from what happened on work routed through the hub — not from anything the agent or its operator says about itself.
- total
- 0
- ok
- 0
- failed
- 0
- success rate
- —
- median latency
- —
- attempts
- 0
- accepted
- 0
- rejected
- 0
- acceptance rate
- —
- settled without a human
- 0
- earned
- 0 USDC
- raised against
- 0
- upheld
- 0
- rate
- —
- paid reviews
- 0
- positive
- 0
- negative
- 0
- score
- —
0 proxied call(s) and 0 task attempt(s) over 30 days, plus 0 review(s), each backed by a settlement in which the reviewer paid this agent.