Live flight prices and working booking links for AI agents and travel apps.
Maintain this server? Claim it
Call this server's tools from your browser. Nothing to install.
Requests go through mcptry because browsers can't call most MCP servers directly. Header values are sent to the server for that request only and are never stored or logged.
Tool list from our last check. Connect live to refresh it.
Find airport IATA codes by city, airport name, metro area, or code.
Search query for airport names, city names, or airport codes.
Maximum number of airport results to return.
Find airport IATA codes by city, airport name, metro area, or code.
| Argument | Type | Description |
|---|---|---|
| limit | integer | Maximum number of airport results to return. |
| query* | string | Search query for airport names, city names, or airport codes. |
{
"type": "object",
"title": "SearchAirportsArgs",
"required": [
"query"
],
"properties": {
"limit": {
"type": "integer",
"title": "Limit",
"default": 5,
"maximum": 10,
"minimum": 1,
"description": "Maximum number of airport results to return."
},
"query": {
"type": "string",
"title": "Query",
"description": "Search query for airport names, city names, or airport codes."
}
},
"additionalProperties": false
}Compare the lowest one-way or round-trip fare for each departure date across up to 31 dates. Prices are not bookable; search the chosen date with search_flights.
| Argument | Type | Description |
|---|---|---|
| adults | integer | Number of adult passengers traveling. |
| market | string | 2-letter market or country code affecting pricing and results. |
| origin* | string | Origin airport or metro IATA code. |
| children | integer | Number of child passengers traveling. |
| max_price | any | Maximum whole-trip price in the market currency. |
| max_stops | any | Maximum number of stops in each direction. |
| stay_days | any | Omit for one-way. For round trips, return this many days after each departure. |
| cabin_class | string | Preferred cabin class: economy, premium_economy, business, or first. |
| destination* | string | Destination airport or metro IATA code. |
| infants_on_lap | integer | Number of infants traveling on an adult's lap. |
| infants_in_seat | integer | Number of infants traveling with their own seat. |
| departure_date_end* |
Search one-way or round-trip flight prices between two IATA airport codes. Returns complete booking_options with leg coverage and prices when known. Choose one link per group; multiple groups require separate bookings. booking_url is also included when one booking covers the whole itinerary.
| Argument | Type | Description |
|---|---|---|
| adults | integer | Number of adult passengers traveling. |
| market | string | 2-letter market or country code affecting pricing and results. |
| origin* | string | Origin airport or metro IATA code. |
| children | integer | Number of child passengers traveling. |
| max_price | any | Maximum price in the selected market currency for flight results. |
| max_stops | any | Maximum number of stops allowed in the flight itinerary. |
| cabin_class | string | Preferred cabin class: economy, premium_economy, business, or first. |
| destination* | string | Destination airport or metro IATA code. |
| string |
| Last departure date to compare, in YYYY-MM-DD format; at most 30 days after the start. |
| departure_date_start* | string | First departure date to compare, in YYYY-MM-DD format. |
{
"type": "object",
"title": "SearchCheapestDatesArgs",
"required": [
"origin",
"destination",
"departure_date_start",
"departure_date_end"
],
"properties": {
"adults": {
"type": "integer",
"title": "Adults",
"default": 1,
"minimum": 1,
"description": "Number of adult passengers traveling."
},
"market": {
"type": "string",
"title": "Market",
"default": "US",
"description": "2-letter market or country code affecting pricing and results."
},
"origin": {
"type": "string",
"title": "Origin",
"description": "Origin airport or metro IATA code."
},
"children": {
"type": "integer",
"title": "Children",
"default": 0,
"minimum": 0,
"description": "Number of child passengers traveling."
},
"max_price": {
"anyOf": [
{
"type": "integer",
"minimum": 0
},
{
"type": "null"
}
],
"title": "Max Price",
"default": null,
"description": "Maximum whole-trip price in the market currency."
},
"max_stops": {
"anyOf": [
{
"type": "integer",
"maximum": 2,
"minimum": 0
},
{
"type": "null"
}
],
"title": "Max Stops",
"default": null,
"description": "Maximum number of stops in each direction."
},
"stay_days": {
"anyOf": [
{
"type": "integer",
"maximum": 365,
"minimum": 0
},
{
"type": "null"
}
],
"title": "Stay Days",
"default": null,
"description": "Omit for one-way. For round trips, return this many days after each departure."
},
"cabin_class": {
"enum": [
"economy",
"premium_economy",
"business",
"first"
],
"type": "string",
"title": "Cabin Class",
"default": "economy",
"description": "Preferred cabin class: economy, premium_economy, business, or first."
},
"destination": {
"type": "string",
"title": "Destination",
"description": "Destination airport or metro IATA code."
},
"infants_on_lap": {
"type": "integer",
"title": "Infants On Lap",
"default": 0,
"minimum": 0,
"description": "Number of infants traveling on an adult's lap."
},
"infants_in_seat": {
"type": "integer",
"title": "Infants In Seat",
"default": 0,
"minimum": 0,
"description": "Number of infants traveling with their own seat."
},
"departure_date_end": {
"type": "string",
"title": "Departure Date End",
"format": "date",
"description": "Last departure date to compare, in YYYY-MM-DD format; at most 30 days after the start."
},
"departure_date_start": {
"type": "string",
"title": "Departure Date Start",
"format": "date",
"description": "First departure date to compare, in YYYY-MM-DD format."
}
},
"additionalProperties": false
}| max_results | integer | Maximum number of flight results to return. |
| return_date | any | Optional return date in YYYY-MM-DD format for round-trip flights. |
| departure_date* | string | Departure date in YYYY-MM-DD format. |
| infants_on_lap | integer | Number of infants traveling on an adult's lap. |
| infants_in_seat | integer | Number of infants traveling with their own seat. |
| airlines_exclude | any | Airline codes to specifically exclude from search results. |
| airlines_include | any | Airline codes to specifically include in search results. |
| allow_self_transfer | boolean | Whether to include self-transfer flight options (true or false). |
{
"type": "object",
"title": "SearchFlightsArgs",
"required": [
"origin",
"destination",
"departure_date"
],
"properties": {
"adults": {
"type": "integer",
"title": "Adults",
"default": 1,
"minimum": 1,
"description": "Number of adult passengers traveling."
},
"market": {
"type": "string",
"title": "Market",
"default": "US",
"description": "2-letter market or country code affecting pricing and results."
},
"origin": {
"type": "string",
"title": "Origin",
"description": "Origin airport or metro IATA code."
},
"children": {
"type": "integer",
"title": "Children",
"default": 0,
"minimum": 0,
"description": "Number of child passengers traveling."
},
"max_price": {
"anyOf": [
{
"type": "integer",
"minimum": 0
},
{
"type": "null"
}
],
"title": "Max Price",
"default": null,
"description": "Maximum price in the selected market currency for flight results."
},
"max_stops": {
"anyOf": [
{
"type": "integer",
"maximum": 2,
"minimum": 0
},
{
"type": "null"
}
],
"title": "Max Stops",
"default": null,
"description": "Maximum number of stops allowed in the flight itinerary."
},
"cabin_class": {
"enum": [
"economy",
"premium_economy",
"business",
"first"
],
"type": "string",
"title": "Cabin Class",
"default": "economy",
"description": "Preferred cabin class: economy, premium_economy, business, or first."
},
"destination": {
"type": "string",
"title": "Destination",
"description": "Destination airport or metro IATA code."
},
"max_results": {
"type": "integer",
"title": "Max Results",
"default": 8,
"maximum": 10,
"minimum": 1,
"description": "Maximum number of flight results to return."
},
"return_date": {
"anyOf": [
{
"type": "string",
"format": "date"
},
{
"type": "null"
}
],
"title": "Return Date",
"default": null,
"description": "Optional return date in YYYY-MM-DD format for round-trip flights."
},
"departure_date": {
"type": "string",
"title": "Departure Date",
"format": "date",
"description": "Departure date in YYYY-MM-DD format."
},
"infants_on_lap": {
"type": "integer",
"title": "Infants On Lap",
"default": 0,
"minimum": 0,
"description": "Number of infants traveling on an adult's lap."
},
"infants_in_seat": {
"type": "integer",
"title": "Infants In Seat",
"default": 0,
"minimum": 0,
"description": "Number of infants traveling with their own seat."
},
"airlines_exclude": {
"anyOf": [
{
"type": "array",
"items": {
"type": "string"
}
},
{
"type": "null"
}
],
"title": "Airlines Exclude",
"default": null,
"description": "Airline codes to specifically exclude from search results."
},
"airlines_include": {
"anyOf": [
{
"type": "array",
"items": {
"type": "string"
}
},
{
"type": "null"
}
],
"title": "Airlines Include",
"default": null,
"description": "Airline codes to specifically include in search results."
},
"allow_self_transfer": {
"type": "boolean",
"title": "Allow Self Transfer",
"default": true,
"description": "Whether to include self-transfer flight options (true or false)."
}
},
"additionalProperties": false
}