Sparkflights
Search verified flight fares by city, month, cabin and price, with a link to book each one.
Should I use this
Quality & Safety
Based on automated analysis of tool definitions and protocol compliance.
Context Cost
This is the approximate number of tokens consumed each time the server's tools are loaded into a model's context. Higher counts reduce the attention available for other tasks.
Install
One-Click Install
Add this to your `claude_desktop_config.json` file:
{
"mcpServers": {
"sparkflights": {
"url": "https://www.sparkflights.com/mcp/search"
}
}
}Remote endpoints
https://www.sparkflights.com/mcp/searchstreamable-httpWhat it can do
Tool inventory
Tools (2)
🟢get_deal(id)
One Sparkflights fare by the numeric id from search_deals: its itinerary, the price text of its fare page, its outbound and return flights, the date pairs its fare page lists with their prices, and its url, route_url and feed_url. A fare that is no longer live returns an error naming its route page.
Input Schema
{
"type": "object",
"properties": {
"id": {
"description": "Deal ID",
"type": "integer"
}
},
"required": [
"id"
]
}🟢search_deals(cabin, depart_month, destination, destination_region, include_budget, ...)
Search flight fares Sparkflights has already found and verified, ranked by cost per mile against each market's limit. Not a live fare search: an empty result means no current verified fare matches. Each result has the price text of its Sparkflights fare page; url, the fare page; route_url, the route page, which lists the route's live fares and price history; and feed_url, the route's JSON feed of new fares.
Input Schema
{
"type": "object",
"properties": {
"cabin": {
"description": "Cabin classes, one or more of: economy, premium_economy, business, first",
"items": {
"enum": [
"economy",
"premium_economy",
"business",
"first"
],
"type": "string"
},
"type": "array"
},
"depart_month": {
"description": "YYYY-MM, for example 2026-12: only deals whose first departure date is in that month",
"pattern": "^[0-9]{4}-(0[1-9]|1[0-2])$",
"type": "string"
},
"destination": {
"description": "Where the trip goes: an IATA airport code (NRT) for that airport, or a city for every airport the city's route pages cover: its name (Tokyo), a metro code (TYO), or its name with its country or state (London, UK; Portland, Maine)",
"type": "string"
},
"destination_region": {
"description": "Destination regions, one or more of: africa, asia, europe, north_america, oceania, south_america",
"items": {
"enum": [
"africa",
"asia",
"europe",
"north_america",
"oceania",
"south_america"
],
"type": "string"
},
"type": "array"
},
"include_budget": {
"description": "Add budget/low-cost carrier deals (Spirit, Frontier, etc.) to the others. Default false — budget deals are on /flights/budget.",
"type": "boolean"
},
"limit": {
"description": "Max results, 1-25. Default 10.",
"maximum": 25,
"minimum": 1,
"type": "integer"
},
"low_cost": {
"description": "true returns only budget/low-cost carrier deals; overrides include_budget",
"type": "boolean"
},
"max_price": {
"description": "US dollars: only deals listed at or under this price",
"minimum": 1,
"type": "number"
},
"origin": {
"description": "Where the trip starts: an IATA airport code (JFK) for that airport, or a city for every airport the city's route pages cover: its name (New York), a metro code (NYC), or its name with its country or state (London, UK; Portland, Oregon)",
"type": "string"
},
"origin_region": {
"description": "Departure regions, one or more of: africa, asia, europe, north_america, oceania, south_america. Default: the regions the deal board lists, or every region when origin is given",
"items": {
"enum": [
"africa",
"asia",
"europe",
"north_america",
"oceania",
"south_america"
],
"type": "string"
},
"type": "array"
},
"sort": {
"description": "Sort order: cpm (default; cost per mile against its market's CPM ceiling, lowest first) or recent (newest first; newest is the same)",
"enum": [
"cpm",
"recent",
"newest"
],
"type": "string"
}
},
"required": []
}Community
Evidence