What Award Flight Daily MCP server does
Award Flight Daily MCP server gives MCP-compatible agents read access to an award-flight database containing more than 12 million records across 25 loyalty programs. Its tools cover both individual availability searches and broader analysis, so an agent can look for a specific itinerary or compare programs and routes before recommending a redemption.
The main search tool accepts origin and destination IATA codes, a date range, cabin, optional loyalty-program filters, nonstop requirements, mileage limits, seat counts, and pagination. Results include mileage, taxes, seats, airline, equipment, date, and source program. Agents can request JSON for structured processing or Markdown for a human-readable response.
How it works
The Award Flight Daily MCP server uses FastMCP as its protocol layer and DuckDB for local database queries. Queries run in read-only mode, use parameters rather than interpolated input, and exclude records whose expired_at value is set. The database connection is created when the first query arrives and then reused.
Pydantic input models validate tool arguments before queries run. IATA values must contain exactly three letters, dates must use YYYY-MM-DD, cabin values are limited to Y, W, J, and F, result limits range from 1 to 200, and seat counts range from 1 to 9. Invalid input produces validation details; database failures and empty searches return client-visible messages rather than unhandled server errors.
Setup and configuration
Install the listed runtime dependencies: fastmcp>=1.0.0, pydantic>=2.0, and duckdb==1.1.3. Start the server in stdio mode with:
python -m mcp_server.server
For HTTP mode, provide a port such as 8001:
python -m mcp_server.server --http 8001
Set DUCKDB_PATH to point to the database file when the default location is unsuitable. If it is not set, the server uses /data/award_flights.duckdb. Program names, cabin codes, and bank definitions are maintained in config.py; the documented configuration contains 25 programs and seven credit-card banks.
Tools and capabilities
Award Flight Daily MCP server registers seven tools:
afd_search_award_flights searches paginated flight records with route, date, cabin, source, mileage, seat, and nonstop filters.
afd_list_programs returns program-level totals, routes, date ranges, and cabin counts.
afd_get_program_details reports availability, route and airport counts, and average or minimum mileage by cabin for one program.
afd_get_route_availability shows dates, mileage, taxes, and seats for a route, optionally filtered by program.
afd_find_sweet_spots ranks routes by minimum mileage and can filter by cabin, origin, or destination.
afd_check_transfer_partners returns bank-to-airline mappings, transfer ratios, and transfer speeds.
afd_get_market_stats summarizes records, programs, routes, airports, and cabin availability.
Limitations and notes
The tools query existing records; future features such as price-per-mile tracking, seat maps, award-chart comparisons, earning rates, stopover optimization, and alert creation are not included in the documented implementation. The database queries are read-only, so the server does not provide documented tools for changing records or creating alerts. Search inputs require airport codes and strict date formatting, and availability results are limited to active records.