
Award Flight Daily
com.awardflightdailyPublished by awardflightdaily.comOfficial publisherv1.26.0Updated Oct 24, 2026
Official airline award MCP. Search 12.3M+ award flights across 48 loyalty programs.
Overview
Remote MCP server for searching and analyzing airline award flight availability across loyalty programs, with sweet-spot and transfer-partner lookups.
- What you can do
- Search award flights by origin, destination, date range, cabin, program, nonstop-only and mileage cap, with pagination
- List loyalty programs and get per-program statistics such as routes, date range and cabin availability
- View route availability calendars with mileage, taxes and seats per program
- Find best-value sweet-spot redemptions ranked by minimum mileage
- Check credit card to airline transfer partners, ratios and transfer speed
- Get aggregate database statistics on records, routes and airport coverage
- When to use it
- Useful when planning award travel and you want an assistant to compare mileage redemptions, check date-by-date availability on a route, or see which credit card points transfer to which airline program.
- Requirements
- A remote streamable HTTP endpoint; no package, environment variable or header is declared in the manifest. The README describes a self-hosted variant that needs Python with fastmcp, pydantic and duckdb, plus a DuckDB database file path set via DUCKDB_PATH.
Installation
In SourceWeft
- Open Award Flight Daily in the dashboard and add it to a workspace.
- Enable the server for the chats that should use its tools.
Web executable via Streamable HTTP. Remote servers run from the web runtime once configured in a workspace.
Use with an agent
Paste this prompt into Claude Code, Codex, Cursor or another agent — or into SourceWeft chat. The agent reads this server's install guide, shows you its publisher, endpoint and sign-in, and adds it to your client once you agree. Keys never go into a command.
Read https://sourceweft.com/mcp/com.awardflightdaily%2Faward-flight-daily/install.md and connect the MCP server it describes to my client. Before changing any config, show me its publisher, endpoint and sign-in method and wait for my OK. Never put an API key in a command or in a file I would commit; ask me where it should come from.Other MCP clients
Add this to your client's mcpServers config.
{
"mcpServers": {
"award-flight-daily": {
"type": "http",
"url": "https://awardflightdaily.com/mcp-server/mcp"
}
}
}README
Award Flight Daily MCP Server
A FastMCP server that wraps the Award Flight Daily database (12.3M award flight records across 25 loyalty programs) and exposes it to AI agents via tools.
Overview
The Award Flight Daily MCP server provides 7 core tools for searching, analyzing, and optimizing award travel:
- afd_search_award_flights - Core search across 12M+ records
- afd_list_programs - All 25 programs with statistics
- afd_get_program_details - Deep dive on a single program
- afd_get_route_availability - Calendar view for a route
- afd_find_sweet_spots - Best-value redemptions
- afd_check_transfer_partners - Credit card transfer ratios
- afd_get_market_stats - Aggregate database statistics
File Structure
Configuration
All environment and program configuration lives in config.py:
- MCP_SERVER_NAME: "awardflightdaily_mcp"
- DUCKDB_PATH: Environment variable, defaults to
/data/award_flights.duckdb - PROGRAMS: Dictionary of 25 programs (slug -> full name)
- CABINS: Cabin class codes (Y/W/J/F)
- BANKS: 7 credit card programs
Installation & Deployment
Requirements
Running
Stdio mode (local):
HTTP mode (remote):
Tools API
1. Search Award Flights
Returns: Paginated flight results with mileage, taxes, seats, airlines, equipment.
2. List Programs
Returns: All 25 programs with:
- Total flights & routes
- Date range
- Cabin availability counts (Y/W/J/F)
3. Program Details
Returns: Deep stats for one program:
- Total availability
- Unique routes & airports
- Average & minimum mileage by cabin
4. Route Availability
Returns: All dates for a route with mileage, taxes, seats per program.
5. Find Sweet Spots
Returns: Best-value routes ranked by minimum mileage cost.
6. Transfer Partners
Returns: Credit card → airline transfer mappings with:
- Transfer ratio (e.g., "1:1")
- Speed (e.g., "Instant", "1-2 days")
7. Market Stats
Returns: Aggregate database stats:
- Total records, programs, routes
- Airport coverage
- Cabin availability breakdown
Input Validation
All inputs use Pydantic with validation:
- IATA codes: Must be exactly 3 alphabetic characters
- Dates: YYYY-MM-DD format only
- Cabin: Enum restricted to Y/W/J/F
- Limit: 1-200 results
- Offset: >= 0
- Min seats: 1-9
Invalid inputs raise ValidationError with detailed messages.
Response Formats
JSON (default)
Full structured response with pagination metadata:
Markdown
Human-readable output with formatting:
Database
All queries are:
- Read-only (DuckDB in read-only mode)
- Parameterized with proper escaping
- Filtered on
expired_at IS NULL(active records only) - Type-safe with CAST(? AS DATE) for dates
Connection is lazy-loaded on first query and reused.
Design Principles
- No monoliths - Each tool in its own module
- Separation of concerns - DB queries, models, tools, responses separate
- Type safety - Pydantic models on all inputs
- Defensive - All parameterized queries, validators on inputs
- Fast - Read-only DuckDB, lazy connection, caching via MCP layer
- Testable - Pure functions, no side effects
Error Handling
- Invalid input: Pydantic
ValidationErrorwith field details - Database error: Returns error message string (no 500s)
- No results: Friendly "No flights found" message
The MCP layer handles serialization of errors to the client.
Future Enhancements
- Price tracking ($/mile value calculation)
- Seat map integration
- Award chart comparison
- Frequent flyer earning rates
- Stopover/layover optimization
- Alert setup via MCP (future: read-write tools)
Source: README.md at commit 22cb27f
Tools
0Version history
1- v1.26.0LatestSep 16, 2026
Score
75% of the applicable checks met
How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.
- Reached in the last 30 daysRequired25 pts
- Auth declaredRequired10 pts
- Tools listedRequired15 pts
Answer tools/list without a credential, or ship a package that starts in a sandbox without one.
- DescriptionRequired15 pts
- Logo10 pts
- Documentation15 pts
- License10 pts
Declare a license in the repository or the registry entry.