Sparkflights

Search verified flight fares by city, month, cabin and price, with a link to book each one.

Should I use this

Quality & Safety

A
Description quality
100%
Schema completeness
95%
Naming quality
100%
Poisoning risk
100%
Permission match
100%
Protocol compliance
100%

Based on automated analysis of tool definitions and protocol compliance.

Context Cost

~851Tokens (tool definitions)
~3.5 KBTypical response size
Moderate attention impact (0.66% of 128k context)

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-http

What it can do

Tool inventory

Tools (2)

🟢 Read-only🟡 Write🔴 Delete⚪ Unknown
🟢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

Rate this Server

Evidence

Recent observations

verifiedversion not recorded2 tools