Server data from the Official MCP Registry
Official airline award MCP. Search 12.3M+ award flights across 48 loyalty programs.
Official airline award MCP. Search 12.3M+ award flights across 48 loyalty programs.
Remote endpoints: streamable-http: https://awardflightdaily.com/mcp-server/mcp
Valid MCP server (0 strong, 3 medium validity signals). No known CVEs in dependencies. Imported from the Official MCP Registry.
Endpoint verified · Open access · No issues found
Security scores are indicators to help you make informed decisions, not guarantees. Always review permissions before connecting any MCP server.
This plugin requests these system permissions. Most are normal for its category.
Remote Plugin
No local installation needed. Your AI client connects to the remote endpoint directly.
Add this to your MCP configuration to connect:
{
"mcpServers": {
"com-awardflightdaily-award-flight-daily": {
"url": "https://awardflightdaily.com/mcp-server/mcp"
}
}
}From the project's GitHub README.
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.
The Award Flight Daily MCP server provides 7 core tools for searching, analyzing, and optimizing award travel:
mcp_server/
├── __init__.py # Package definition
├── config.py # Constants: programs, cabins, banks
├── server.py # FastMCP server entry point (7 tools registered)
├── db/
│ ├── __init__.py
│ └── queries.py # DuckDB queries (read-only, parameterized)
├── models/
│ ├── __init__.py
│ ├── inputs.py # 8 Pydantic input models with validators
│ └── responses.py # Formatting helpers (JSON/Markdown)
└── tools/
├── __init__.py
├── search.py # afd_search_award_flights
├── programs.py # afd_list_programs, afd_get_program_details
├── routes.py # afd_get_route_availability
├── sweet_spots.py # afd_find_sweet_spots
├── transfers.py # afd_check_transfer_partners
└── analytics.py # afd_get_market_stats
All environment and program configuration lives in config.py:
/data/award_flights.duckdbfastmcp>=1.0.0
pydantic>=2.0
duckdb==1.1.3
Stdio mode (local):
python -m mcp_server.server
HTTP mode (remote):
python -m mcp_server.server --http 8001
SearchInput(
origin="JFK", # Required: IATA code(s)
destination="NRT", # Required: IATA code(s)
date_from="2026-06-01", # Required: YYYY-MM-DD
date_to="2026-06-30", # Required: YYYY-MM-DD
cabin=CabinClass.BUSINESS, # Optional: Y/W/J/F (default J)
source="united,aeroplan", # Optional: program filter
direct_only=False, # Optional: nonstop only
max_miles=100000, # Optional: mileage cap
min_seats=1, # Optional: min seats (default 1)
limit=50, # Optional: results limit (default 50, max 200)
offset=0, # Optional: pagination offset
response_format=ResponseFormat.JSON # Optional: JSON or Markdown
)
Returns: Paginated flight results with mileage, taxes, seats, airlines, equipment.
ListProgramsInput(
response_format=ResponseFormat.JSON
)
Returns: All 25 programs with:
ProgramDetailInput(
program="united", # Required: program slug
response_format=ResponseFormat.JSON
)
Returns: Deep stats for one program:
RouteInput(
origin="JFK",
destination="NRT",
cabin=CabinClass.BUSINESS,
source=None, # Optional: filter by program
response_format=ResponseFormat.JSON
)
Returns: All dates for a route with mileage, taxes, seats per program.
SweetSpotInput(
cabin=CabinClass.BUSINESS,
origin=None, # Optional
destination=None, # Optional
limit=25,
response_format=ResponseFormat.JSON
)
Returns: Best-value routes ranked by minimum mileage cost.
TransferInput(
bank="chase", # Optional: bank slug
program="united", # Optional: program slug
response_format=ResponseFormat.JSON
)
Returns: Credit card → airline transfer mappings with:
MarketStatsInput(
response_format=ResponseFormat.JSON
)
Returns: Aggregate database stats:
All inputs use Pydantic with validation:
Invalid inputs raise ValidationError with detailed messages.
Full structured response with pagination metadata:
{
"total": 1234,
"count": 50,
"offset": 0,
"has_more": true,
"cabin": "J",
"results": [
{
"id": "...",
"source": "united",
"origin": "JFK",
"destination": "NRT",
"date": "2026-06-15",
"mileage": 75000,
"taxes": 11.20,
"seats": 2,
"direct": true,
"airlines": "United",
"equipment": "B787",
"updated_at": "2026-03-26T12:34:56"
}
]
}
Human-readable output with formatting:
# Award Flight Search Results
**1234 flights found** | Cabin: Business | Showing 50
## JFK → NRT | 2026-06-15
- **75,000 miles** + $11.20 taxes | united
- Nonstop | 2 seats | United B787
...
All queries are:
expired_at IS NULL (active records only)Connection is lazy-loaded on first query and reused.
ValidationError with field detailsThe MCP layer handles serialization of errors to the client.
Be the first to review this server!
by Modelcontextprotocol · Developer Tools
Read, search, and manipulate Git repositories programmatically
by Toleno · Developer Tools
Toleno Network MCP Server — Manage your Toleno mining account with Claude AI using natural language.
by mcp-marketplace · Developer Tools
Create, build, and publish Python MCP servers to PyPI — conversationally.