awardmath-mcp

awardmath-mcp

Enables AI assistants to connect to the AwardMath travel points optimizer, turning wallet balances and travel goals into up to three verified, explainable award-booking plans with exact transfer steps, required points, and fees.

Category
Visit Server

README

AwardMath MCP server

awardmath-mcp connects AI assistants to the public AwardMath API through the Model Context Protocol.

AwardMath is the travel points optimizer. You provide your points balances and a travel goal. A deterministic solver searches a versioned graph of transfer ratios and award charts, then returns up to three verified, explainable booking plans.

The math is enumeration and scoring over published charts. An LLM can parse your question and explain the results, but it never chooses or optimizes the plans.

This repository contains the MCP server and a free data snapshot under data/. The server is read-only. It requires no API key, login, or subscription, and it does not scrape airline sites.

Tools

The server exposes three tools.

Tool What it does
list_programs Lists tracked and spendable programs
solve_award_trip Returns up to three plans
parse_wallet Structures wallet text

list_programs

list_programs returns every program AwardMath tracks and identifies which program IDs a solve can spend today.

Spendable programs include award programs with priced charts and bank currencies that transfer into one of those programs. This distinction prevents an assistant from asking the solver to spend a balance that has no path to a priced award.

solve_award_trip

solve_award_trip searches for plans that fit your wallet, origins, destinations, cabins, traveler count, and cash cap.

A successful response contains up to three plans with:

  • Exact transfer steps
  • Total points required
  • Priced fees

If no plan fits, the response includes no_plan_reasons. These identify the constraint that failed instead of filling the gap with a guessed route or price.

parse_wallet

parse_wallet turns free text into structured balances.

For example:

250k Amex, 80k Chase

Clear balances become program IDs and amounts. Ambiguous phrases are surfaced for clarification rather than assigned to a program by guesswork.

Setup

You can run the server directly from GitHub or install it from a clone.

Claude Code

claude mcp add awardmath -- uvx --from git+https://github.com/DanCastHub/awardmath-mcp awardmath-mcp

Claude Desktop or another JSON-configured MCP client

{
  "mcpServers": {
    "awardmath": {
      "command": "uvx",
      "args": ["--from", "git+https://github.com/DanCastHub/awardmath-mcp", "awardmath-mcp"]
    }
  }
}

From a clone

pip install -e .
awardmath-mcp

No API key or AwardMath account is required.

Example

Ask your assistant for a priced plan using the balances you already have.

You: I have 60,000 Amex Membership Rewards points. Find one economy seat from LAX to HNL.

Assistant: As of 2026-08-23, the best-priced plan used 16,000 Qatar Avios for the seat, funded through an Amex transfer at 1:1. The result includes the exact transfer steps, total points, and fees. It does not confirm that a seat is available.

That result is dated because transfer ratios and award prices change. Run a new solve, confirm the award seat, and re-check the transfer terms before moving points.

The dataset

The data/ directory provides a dated slice of the rewards graph and worked solver output.

data/transfer-ratios-current.csv

This file contains 109 bank-to-program transfer edges from eight source currencies, as observed on 2026-08-23.

Each row represents the most recent observation AwardMath had verified against a program page or corroborated across independent sources. Editorial claims that had not been verified were excluded.

Columns include:

  • Transfer ratio
  • Fees
  • Transfer time, where observed
  • Verification status
  • Date observed

Ratios change. Treat every row as valid only as of its observed date, then re-check the program before transferring points.

data/sample-solved-plans.json

This file contains five scenarios run through the live solver on 2026-08-23.

Four scenarios produced plans. They include:

  • LAX to HNL in economy with 60,000 Amex Membership Rewards points
  • SFO to HND in business with 100,000 Amex Membership Rewards points, priced through ANA at 82,500 points

One scenario is deliberately empty. The YVR to DXB business search shows how the solver responds when the graph cannot price a route. It names the missing graph coverage instead of inventing a plan.

What is not included

The dataset is a snapshot, not the full AwardMath product.

The versioned history behind it stays at awardmath.com. That history tracks ratios and charts over time and supports price-history and book-now-or-wait calls. It is not included in this repository.

What this will not do

The server does not check live award-seat availability.

Plans are priced from published award charts and transfer relationships. A route can be mathematically valid while having no seats available on your dates.

Before you move any points:

  1. Confirm the award space through Seats.aero, PointsYeah, or the airline.
  2. Check the points price and cash charges with the booking program.
  3. Re-check the transfer ratio and terms.

Transfers are irreversible. Do not transfer because the solver found a priced path. Transfer only after you have confirmed that the seat can be booked.

AwardMath verifies the math. You confirm the seat.

Licenses

The code is licensed under the MIT License.

The files under data/ are licensed under CC BY 4.0. Use this attribution with a link:

Data: AwardMath

Sources:

Recommended Servers

playwright-mcp

playwright-mcp

A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.

Official
Featured
TypeScript
Magic Component Platform (MCP)

Magic Component Platform (MCP)

An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.

Official
Featured
Local
TypeScript
Audiense Insights MCP Server

Audiense Insights MCP Server

Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.

Official
Featured
Local
TypeScript
VeyraX MCP

VeyraX MCP

Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.

Official
Featured
Local
graphlit-mcp-server

graphlit-mcp-server

The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.

Official
Featured
TypeScript
Kagi MCP Server

Kagi MCP Server

An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.

Official
Featured
Python
E2B

E2B

Using MCP to run code via e2b.

Official
Featured
Neon Database

Neon Database

MCP server for interacting with Neon Management API and databases

Official
Featured
Exa Search

Exa Search

A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.

Official
Featured
Qdrant Server

Qdrant Server

This repository is an example of how to create a MCP server for Qdrant, a vector search engine.

Official
Featured