Koskamo

Points or Cash MCP

An MCP server that helps travelers decide whether to use credit card points or pay cash for trips. It provides tools to calculate cents-per-point value, check transfer partners and ratios, view typical award chart prices, identify cash-back credit cards, and find lounge access information based on the user's card origin.

Endpoint and access

No sign-in to connect and list tools. Individual tools may still need a vendor account, credentials, or permissions; check the documented prerequisites.

Points or Cash MCP logo, by Points or CashVendor evidenceStreamable HTTPNo sign-inEndpoint checked 2026-11-07Operated by Points or Cash
MCP endpoint (Streamable HTTP)
https://pointsorcash.app/mcp
Vendor documentation

What its tools do

5 tools, grouped by the hints the server advertises. Hints are self-declared, not verified behavior.

5 of 5 have a description · 5 of 5 declare behavior hints · 3 of 5 with parameters document them all

Checks and signals

Each line is separate evidence, not a trust score.

  • Passed Endpoint answered the live check ·
  • Passed Official MCP Registry namespace is tied to pointsorcash.app ·
  • Passed Endpoint is on the registry namespace domain ·
  • Availability 1 of 1 checks passed in 30 days

What you can do with it

  • Calculate cents per point for a specific award vs cash fare
  • Check transfer partners and ratios for bank points to airlines
  • Find typical saver award prices by program and cabin
  • Identify lounges accessible with a specific premium credit card

Source and maintenance

Vendor evidenceRegistry 1.1.0

Protocol and capabilities

Server
points-or-cash 1.0.0
MCP protocol negotiated in check
2025-06-18
Tools
5 advertised
Resources
1 advertised
Resource templates
0 advertised
Prompts
Not advertised
Server-advertised capabilities
{
  "tools": {
    "listChanged": false
  },
  "resources": {
    "listChanged": false
  },
  "extensions": {
    "io.modelcontextprotocol/ui": {
      "mimeTypes": [
        "text/html;profile=mcp-app"
      ]
    }
  }
}

Server-provided instructions

Untrusted server output shown for inspection. It is not Koskamo guidance and is excluded from knowledge search.

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, Rove Miles) reach an airline or hotel program, at what ratio, and whether the balances cover an award. - award_chart: typical one-way saver award prices by program, market (from the US or from Europe) and cabin, plus known sweet spots. - points_value: exact cents per point for an award vs the cash fare, in any currency, per bank point spent when transferring (uses the card's transfer ratio and any active bonus), counting cash back and points given up. - cashback_cards: earn rates for crypto and flat cash-back cards, to value paying cash. - lounges: lounges at an airport and which premium cards open them. All data is researched and dated (see each result's as_of). Award prices are typical saver levels, not live availability: confirm seats on the program's site before transferring points, because transfers can't be undone. More: https://pointsorcash.app

Tools

5 advertised

transfer_options — Transfer options
Advertised by the server during the last successful anonymous check.
Advertised read-only

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.

transfer_options input schema
{
  "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",
              "rove",
              "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
}
transfer_options annotations
{
  "title": "Transfer options",
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
award_chart — Award prices
Advertised by the server during the last successful anonymous check.
Advertised read-only

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.

award_chart input schema
{
  "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
}
award_chart annotations
{
  "title": "Award prices",
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
points_value — Points or cash verdict
Advertised by the server during the last successful anonymous check.
Advertised read-only

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.

points_value input schema
{
  "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",
                  "rove",
                  "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
}
points_value annotations
{
  "title": "Points or cash verdict",
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
cashback_cards — Cash-back cards
Advertised by the server during the last successful anonymous check.
Advertised read-only

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.

cashback_cards input schema
{
  "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
}
cashback_cards annotations
{
  "title": "Cash-back cards",
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
lounges — Lounge access
Advertised by the server during the last successful anonymous check.
Advertised read-only

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.

lounges input schema
{
  "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
}
lounges annotations
{
  "title": "Lounge access",
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}

Prompts

Not advertised

No prompt definitions available.

Resources

1 advertised

points_or_cash_card — Points or Cash card

Advertised by the server during the last successful anonymous check.

The points-or-cash verdict and award price comparisons, as a card.

points_or_cash_card URI
ui://points-or-cash/card.html

MIME type: text/html;profile=mcp-app

90-day uptime

A lightweight connection check about every six hours, sampled on hosts with many listings. It shows the server answered, not that its tools work.

Too few checks for a percentage yet (1 of 1 answered).

  1. 2026-11-07: 1 of 1 checks answered

30-day availability

Aggregated from read-only remote checks; this is not a tool-execution or security guarantee.

Successful checks
1 of 1 (100%)
Average latency
676 ms
95th percentile latency
676 ms

Maintenance history

Public check and source-refresh events. Editorial and ownership records remain private.

  • · probe · passed · 676 ms · metadata changed · 5 tool(s), 1 resource(s), 0 resource template(s)

Connect from your client

Each snippet registers the same endpoint; pick the client you use.

This server is operated by the named third party. Listing and endpoint checks are not an endorsement or a security audit. Review the operator's permissions, terms, and data handling before connecting. How listings are checked and corrected.

Claude Code

Run this once in a terminal. It registers the remote server. Use --scope project to write .mcp.json for the repo.
Claude Code configuration
claude mcp add --transport http points-or-cash-mcp https://pointsorcash.app/mcp

Codex

Run this once. Codex stores MCP servers in ~/.codex/config.toml (or .codex/config.toml in a trusted project).
Codex configuration
codex mcp add points-or-cash-mcp --url https://pointsorcash.app/mcp

Cursor

Merge this server into .cursor/mcp.json in your project, then enable points-or-cash-mcp in your MCP settings.
Cursor configuration
{
  "mcpServers": {
    "points-or-cash-mcp": {
      "url": "https://pointsorcash.app/mcp"
    }
  }
}

Cline

Merge this into cline_mcp_settings.json (Cline → MCP Servers → Configure).
Cline configuration
{
  "mcpServers": {
    "points-or-cash-mcp": {
      "type": "streamableHttp",
      "url": "https://pointsorcash.app/mcp",
      "disabled": false
    }
  }
}

VS Code

Merge this server into .vscode/mcp.json. Use MCP: List Servers to start points-or-cash-mcp and inspect its tools.
VS Code configuration
{
  "servers": {
    "points-or-cash-mcp": {
      "type": "http",
      "url": "https://pointsorcash.app/mcp"
    }
  }
}

Gemini CLI

Run this once. It writes .gemini/settings.json in the current project; pass --scope user for ~/.gemini/settings.json.
Gemini CLI configuration
gemini mcp add --transport http points-or-cash-mcp https://pointsorcash.app/mcp

Claude Desktop

Open Claude Settings > Connectors > Add custom connector, enter this server URL and enable it for the conversation. This is a manual remote-connector handoff, not a desktop JSON configuration.
Claude Desktop configuration
https://pointsorcash.app/mcp

Windsurf

Merge this into ~/.codeium/windsurf/mcp_config.json, then refresh MCP in Cascade. Windsurf remote servers use serverUrl, not url.
Windsurf configuration
{
  "mcpServers": {
    "points-or-cash-mcp": {
      "serverUrl": "https://pointsorcash.app/mcp"
    }
  }
}

Let your agent find its tools

Find servers like Points or Cash MCP from your agent. Add Koskamo once to search the index for endpoints, access requirements, and client setup. Public discovery needs no key.

Do you run Points or Cash MCP?

Prove ownership with a DNS record, a well-known file, or your Official MCP Registry entry, and your edits publish immediately. Proofs are re-checked weekly; admins can still hide or remove a listing.

Claim this listing