Skiplagged MCP Server for flight search, hotel booking, and travel planning
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.
Search Skiplagged for rental cars between pickup and dropoff locations/dates, returning prices, companies, and car details.
Pickup date (YYYY-MM-DD)
Dropoff date (YYYY-MM-DD)
Pickup city or airport code
Maximum number of car offers to return
Number of car offers to skip for pagination (default: 0)
Pickup time (HH:mm or HH:mm:ss, default 10:00)
Dropoff time (HH:mm or HH:mm:ss, default 10:00)
Dropoff city or airport code (defaults to pickup)
Search Skiplagged for rental cars between pickup and dropoff locations/dates, returning prices, companies, and car details.
| Argument | Type | Description |
|---|---|---|
| limit | integer | Maximum number of car offers to return |
| offset | integer | Number of car offers to skip for pagination (default: 0) |
| pickupDate* | string | Pickup date (YYYY-MM-DD) |
| pickupTime | string | Pickup time (HH:mm or HH:mm:ss, default 10:00) |
| dropoffDate* | any | Dropoff date (YYYY-MM-DD) |
| dropoffTime | any | Dropoff time (HH:mm or HH:mm:ss, default 10:00) |
| pickupLocation* | string | Pickup city or airport code |
| dropoffLocation | any | Dropoff city or airport code (defaults to pickup) |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"pickupLocation",
"pickupDate",
"dropoffDate"
],
"properties": {
"limit": {
"type": "integer",
"default": 12,
"maximum": 100,
"minimum": 1,
"description": "Maximum number of car offers to return"
},
"offset": {
"type": "integer",
"default": 0,
"maximum": 99,
"minimum": 0,
"description": "Number of car offers to skip for pagination (default: 0)"
},
"pickupDate": {
"type": "string",
"description": "Pickup date (YYYY-MM-DD)"
},
"pickupTime": {
"type": "string",
"default": "10:00",
"pattern": "^\\d{2}:\\d{2}(?::\\d{2})?$",
"description": "Pickup time (HH:mm or HH:mm:ss, default 10:00)"
},
"dropoffDate": {
"$ref": "#/properties/pickupDate",
"description": "Dropoff date (YYYY-MM-DD)"
},
"dropoffTime": {
"$ref": "#/properties/pickupTime",
"default": "10:00",
"description": "Dropoff time (HH:mm or HH:mm:ss, default 10:00)"
},
"pickupLocation": {
"type": "string",
"minLength": 1,
"description": "Pickup city or airport code"
},
"dropoffLocation": {
"$ref": "#/properties/pickupLocation",
"description": "Dropoff city or airport code (defaults to pickup)"
}
},
"additionalProperties": false
}Find lower-priced destinations from a departure city when the user is flexible about where to go.
| Argument | Type | Description |
|---|---|---|
| from* | string | Departure IATA code or city name |
| adults | integer | Number of adult passengers |
| depart* | string | Departure date in YYYY-MM-DD format |
| return | any | Return date in YYYY-MM-DD format (optional for one-way trips) |
| children | integer | Number of child passengers |
| fare_class | string | Fare class preference |
| infantsLap | integer | Number of lap infants |
| infantsSeat | integer | Number of seat infants |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"from",
"depart"
],
"properties": {
"from": {
"type": "string",
"description": "Departure IATA code or city name"
},
"adults": {
"type": "integer",
"default": 1,
"maximum": 9,
"minimum": 1,
"description": "Number of adult passengers"
},
"depart": {
"type": "string",
"description": "Departure date in YYYY-MM-DD format"
},
"return": {
"$ref": "#/properties/depart",
"description": "Return date in YYYY-MM-DD format (optional for one-way trips)"
},
"children": {
"type": "integer",
"default": 0,
"maximum": 8,
"minimum": 0,
"description": "Number of child passengers"
},
"fare_class": {
"enum": [
"basic-economy",
"economy",
"premium",
"business",
"first"
],
"type": "string",
"default": "economy",
"description": "Fare class preference"
},
"infantsLap": {
"type": "integer",
"default": 0,
"maximum": 4,
"minimum": 0,
"description": "Number of lap infants"
},
"infantsSeat": {
"type": "integer",
"default": 0,
"maximum": 4,
"minimum": 0,
"description": "Number of seat infants"
}
},
"additionalProperties": false
}Search Skiplagged support articles for answers about its services, products, and policies.
| Argument | Type | Description |
|---|---|---|
| query* | string | Concise FAQ question for retrieval. Do not include personal identifiers, account IDs, or session details. |
| top_k | integer | Number of top FAQ sources to return (1-5) |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"query"
],
"properties": {
"query": {
"type": "string",
"minLength": 1,
"description": "Concise FAQ question for retrieval. Do not include personal identifiers, account IDs, or session details."
},
"top_k": {
"type": "integer",
"default": 3,
"maximum": 5,
"minimum": 1,
"description": "Number of top FAQ sources to return (1-5)"
}
},
"additionalProperties": false
}Generate a flexible calendar of the lowest one-way fares around a chosen departure, returning date → cheapest-price entries to help pick the best day to fly. Intended for flexible-date price discovery, not exact itinerary selection.
| Argument | Type | Description |
|---|---|---|
| sort | string | Sort results chronologically or by lowest price first |
| adults | integer | Number of adult passengers (default: 1, max: 9) |
| origin* | string | Departure city name or IATA code (will be resolved to IATA code automatically) |
| children | integer | Number of child passengers (default: 0, max: 8) |
| infantsLap | integer | Number of lap infants (default: 0, max: 4) |
| returnDate | any | Return date for matching trip length (optional, YYYY-MM-DD format) |
| destination* | string | Arrival city name or IATA code (will be resolved to IATA code automatically) |
| infantsSeat | integer | Number of seat infants (default: 0, max: 4) |
Generate a flexible round-trip price calendar for a fixed-length stay around a chosen travel window. Returns (depart date, return date, lowest total price) entries for nearby date pairs that preserve the original trip length; intended for price discovery, not exact itinerary selection.
| Argument | Type | Description |
|---|---|---|
| sort | string | Sort results chronologically or by lowest price first |
| adults | integer | Number of adult passengers (default: 1, max: 9) |
| origin* | string | Departure city name or IATA code (will be resolved to IATA code automatically) |
| children | integer | Number of child passengers (default: 0, max: 8) |
| infantsLap | integer | Number of lap infants (default: 0, max: 4) |
| returnDate* | any | Return date for the reference trip (YYYY-MM-DD format) |
| destination* | string | Arrival city name or IATA code (will be resolved to IATA code automatically) |
| infantsSeat |
Search Skiplagged for flights between specific locations with filtering options for passengers, fare class, stops, airlines, and timing preferences
| Argument | Type | Description |
|---|---|---|
| sort | string | Sort flights by price (cheapest first), duration (shortest first), or value (best price/time ratio, default) |
| limit | integer | Maximum number of flights to return (default: 12, max: 100) |
| adults | integer | Number of adult passengers (default: 1, max: 9) |
| offset | integer | Number of flights to skip for pagination (default: 0) |
| origin* | string | Departure location - prefer IATA code |
| children | integer | Number of child passengers (default: 0, max: 8) |
| maxStops | string | Maximum number of stops (none=nonstop, one=1 stop, many=2+ stops) |
| fareClass | string | Fare class preference (default: economy) |
| infantsLap |
Fetch room-level availability, pricing, and amenities for a specific hotel and stay dates.
| Argument | Type | Description |
|---|---|---|
| live | boolean | Use live rates (includes booking links). Disable for faster, less accurate cached rates. |
| checkin* | string | Check-in date (YYYY-MM-DD format) |
| hotelId* | integer | Hotel ID (from search results) to fetch detailed availability for |
| checkout* | any | Check-out date (YYYY-MM-DD format) |
| numRooms | integer | Number of rooms (default: 1, max: 5) |
| numAdults | integer | Number of adults (default: 2, max: 10) |
| numChildren | integer | Number of children (default: 0, max: 10) |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"hotelId",
"checkin",
"checkout"
],
"properties": {
"live": {
"type": "boolean",
"default": true,
"description": "Use live rates (includes booking links). Disable for faster, less accurate cached rates."
},
"checkin": {
"type": "string",
"description": "Check-in date (YYYY-MM-DD format)"
},
"hotelId": {
"type": "integer",
"description": "Hotel ID (from search results) to fetch detailed availability for",
"exclusiveMinimum": 0
},
"checkout": {
"$ref": "#/properties/checkin",
"description": "Check-out date (YYYY-MM-DD format)"
},
"numRooms": {
"type": "integer",
"default": 1,
"maximum": 5,
"minimum": 1,
"description": "Number of rooms (default: 1, max: 5)"
},
"numAdults": {
"type": "integer",
"default": 2,
"maximum": 10,
"minimum": 1,
"description": "Number of adults (default: 2, max: 10)"
},
"numChildren": {
"type": "integer",
"default": 0,
"maximum": 10,
"minimum": 0,
"description": "Number of children (default: 0, max: 10)"
}
},
"additionalProperties": false
}Search Skiplagged for hotels in a city with specific check-in and check-out dates, including ratings and pricing.
| Argument | Type | Description |
|---|---|---|
| city* | string | City name to search for hotels (will be matched against available cities) |
| sort | string | Sort hotels by price (cheapest first), ranking (highest rated first), value (best value rating), or discount (best deals first, default when deals available) |
| limit | integer | Maximum number of hotels to return (default: 12, max: 100) |
| offset | integer | Number of hotels to skip for pagination (default: 0) |
| checkin* | string | Check-in date (YYYY-MM-DD format) |
| checkout* | any | Check-out date (YYYY-MM-DD format) |
| numRooms | integer | Number of rooms (default: 1, max: 9) |
| numAdults | integer | Number of adults (default: 2, max: 10) |
Resolve a city name to a valid IATA code
| Argument | Type | Description |
|---|---|---|
| input* | string | City name code to resolve to IATA code |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"input"
],
"properties": {
"input": {
"type": "string",
"minLength": 1,
"description": "City name code to resolve to IATA code"
}
},
"additionalProperties": false
}Resolve coarse location metadata supplied by the client to the nearest airport. Takes no user-provided arguments.
No arguments.
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {}
}| departureDate* | string | Preferred departure date (YYYY-MM-DD format) |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"origin",
"destination",
"departureDate"
],
"properties": {
"sort": {
"enum": [
"date",
"price"
],
"type": "string",
"default": "date",
"description": "Sort results chronologically or by lowest price first"
},
"adults": {
"type": "integer",
"default": 1,
"maximum": 9,
"minimum": 1,
"description": "Number of adult passengers (default: 1, max: 9)"
},
"origin": {
"type": "string",
"description": "Departure city name or IATA code (will be resolved to IATA code automatically)"
},
"children": {
"type": "integer",
"default": 0,
"maximum": 8,
"minimum": 0,
"description": "Number of child passengers (default: 0, max: 8)"
},
"infantsLap": {
"type": "integer",
"default": 0,
"maximum": 4,
"minimum": 0,
"description": "Number of lap infants (default: 0, max: 4)"
},
"returnDate": {
"anyOf": [
{
"$ref": "#/properties/departureDate"
},
{
"type": "null"
}
],
"description": "Return date for matching trip length (optional, YYYY-MM-DD format)"
},
"destination": {
"type": "string",
"description": "Arrival city name or IATA code (will be resolved to IATA code automatically)"
},
"infantsSeat": {
"type": "integer",
"default": 0,
"maximum": 4,
"minimum": 0,
"description": "Number of seat infants (default: 0, max: 4)"
},
"departureDate": {
"type": "string",
"description": "Preferred departure date (YYYY-MM-DD format)"
}
},
"additionalProperties": false
}| integer |
| Number of seat infants (default: 0, max: 4) |
| departureDate* | string | Preferred departure date (YYYY-MM-DD format) |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"origin",
"destination",
"departureDate",
"returnDate"
],
"properties": {
"sort": {
"enum": [
"date",
"price"
],
"type": "string",
"default": "date",
"description": "Sort results chronologically or by lowest price first"
},
"adults": {
"type": "integer",
"default": 1,
"maximum": 9,
"minimum": 1,
"description": "Number of adult passengers (default: 1, max: 9)"
},
"origin": {
"type": "string",
"description": "Departure city name or IATA code (will be resolved to IATA code automatically)"
},
"children": {
"type": "integer",
"default": 0,
"maximum": 8,
"minimum": 0,
"description": "Number of child passengers (default: 0, max: 8)"
},
"infantsLap": {
"type": "integer",
"default": 0,
"maximum": 4,
"minimum": 0,
"description": "Number of lap infants (default: 0, max: 4)"
},
"returnDate": {
"$ref": "#/properties/departureDate",
"description": "Return date for the reference trip (YYYY-MM-DD format)"
},
"destination": {
"type": "string",
"description": "Arrival city name or IATA code (will be resolved to IATA code automatically)"
},
"infantsSeat": {
"type": "integer",
"default": 0,
"maximum": 4,
"minimum": 0,
"description": "Number of seat infants (default: 0, max: 4)"
},
"departureDate": {
"type": "string",
"description": "Preferred departure date (YYYY-MM-DD format)"
}
},
"additionalProperties": false
}| integer |
| Number of lap infants (default: 0, max: 4) |
| returnDate | any |
| destination* | string | Arrival location - prefer IATA code |
| infantsSeat | integer | Number of seat infants (default: 0, max: 4) |
| departureDate* | string |
| arrivalAirports | any | Array of specific arrival airport codes to include (when destination city has multiple airports) |
| includeStandard | boolean | Include standard flights (default: true) |
| excludedAirlines | array | Array of excluded airline codes (e.g., ['F9', 'NK']) |
| arrivalTimeLatest | integer | Latest arrival time in minutes from midnight (0-1439) |
| departureAirports | any | Array of specific departure airport codes to include (when origin city has multiple airports) |
| includeHiddenCity | boolean | Include hidden city flights (default: true) |
| maxFlightDuration | integer | Maximum total flight duration in minutes |
| preferredAirlines | array | Array of preferred airline codes (e.g., ['UA', 'DL']) |
| maxLayoverDuration | integer | Maximum layover duration in minutes |
| arrivalTimeEarliest | integer | Earliest arrival time in minutes from midnight (0-1439) |
| departureTimeLatest | integer | Latest departure time in minutes from midnight (0-1439) |
| departureTimeEarliest | integer | Earliest departure time in minutes from midnight (0-1439) |
| includeVirtualInterlining | boolean | Include virtual interlining flights (default: true) |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"origin",
"destination",
"departureDate"
],
"properties": {
"sort": {
"enum": [
"price",
"duration",
"value"
],
"type": "string",
"default": "value",
"description": "Sort flights by price (cheapest first), duration (shortest first), or value (best price/time ratio, default)"
},
"limit": {
"type": "integer",
"default": 12,
"maximum": 100,
"minimum": 1,
"description": "Maximum number of flights to return (default: 12, max: 100)"
},
"adults": {
"type": "integer",
"default": 1,
"maximum": 9,
"minimum": 1,
"description": "Number of adult passengers (default: 1, max: 9)"
},
"offset": {
"type": "integer",
"default": 0,
"maximum": 99,
"minimum": 0,
"description": "Number of flights to skip for pagination (default: 0)"
},
"origin": {
"type": "string",
"minLength": 1,
"description": "Departure location - prefer IATA code"
},
"children": {
"type": "integer",
"default": 0,
"maximum": 8,
"minimum": 0,
"description": "Number of child passengers (default: 0, max: 8)"
},
"maxStops": {
"enum": [
"none",
"one",
"many"
],
"type": "string",
"description": "Maximum number of stops (none=nonstop, one=1 stop, many=2+ stops)"
},
"fareClass": {
"enum": [
"basic-economy",
"economy",
"premium",
"business",
"first"
],
"type": "string",
"default": "economy",
"description": "Fare class preference (default: economy)"
},
"infantsLap": {
"type": "integer",
"default": 0,
"maximum": 4,
"minimum": 0,
"description": "Number of lap infants (default: 0, max: 4)"
},
"returnDate": {
"$ref": "#/properties/departureDate"
},
"destination": {
"type": "string",
"minLength": 1,
"description": "Arrival location - prefer IATA code"
},
"infantsSeat": {
"type": "integer",
"default": 0,
"maximum": 4,
"minimum": 0,
"description": "Number of seat infants (default: 0, max: 4)"
},
"departureDate": {
"type": "string"
},
"arrivalAirports": {
"anyOf": [
{
"anyOf": [
{
"not": {}
},
{
"type": "array",
"items": {
"type": "string"
},
"minItems": 1
}
]
},
{
"type": "null"
}
],
"description": "Array of specific arrival airport codes to include (when destination city has multiple airports)"
},
"includeStandard": {
"type": "boolean",
"default": true,
"description": "Include standard flights (default: true)"
},
"excludedAirlines": {
"type": "array",
"items": {
"type": "string"
},
"description": "Array of excluded airline codes (e.g., ['F9', 'NK'])"
},
"arrivalTimeLatest": {
"type": "integer",
"maximum": 1439,
"minimum": 0,
"description": "Latest arrival time in minutes from midnight (0-1439)"
},
"departureAirports": {
"anyOf": [
{
"anyOf": [
{
"not": {}
},
{
"type": "array",
"items": {
"type": "string"
},
"minItems": 1
}
]
},
{
"type": "null"
}
],
"description": "Array of specific departure airport codes to include (when origin city has multiple airports)"
},
"includeHiddenCity": {
"type": "boolean",
"default": true,
"description": "Include hidden city flights (default: true)"
},
"maxFlightDuration": {
"type": "integer",
"minimum": 0,
"description": "Maximum total flight duration in minutes"
},
"preferredAirlines": {
"type": "array",
"items": {
"type": "string"
},
"description": "Array of preferred airline codes (e.g., ['UA', 'DL'])"
},
"maxLayoverDuration": {
"type": "integer",
"minimum": 0,
"description": "Maximum layover duration in minutes"
},
"arrivalTimeEarliest": {
"type": "integer",
"maximum": 1439,
"minimum": 0,
"description": "Earliest arrival time in minutes from midnight (0-1439)"
},
"departureTimeLatest": {
"type": "integer",
"maximum": 1439,
"minimum": 0,
"description": "Latest departure time in minutes from midnight (0-1439)"
},
"departureTimeEarliest": {
"type": "integer",
"maximum": 1439,
"minimum": 0,
"description": "Earliest departure time in minutes from midnight (0-1439)"
},
"includeVirtualInterlining": {
"type": "boolean",
"default": true,
"description": "Include virtual interlining flights (default: true)"
}
},
"additionalProperties": false
}| numChildren |
| integer |
| Number of children (default: 0, max: 10) |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"city",
"checkin",
"checkout"
],
"properties": {
"city": {
"type": "string",
"minLength": 1,
"description": "City name to search for hotels (will be matched against available cities)"
},
"sort": {
"enum": [
"price",
"ranking",
"value",
"discount"
],
"type": "string",
"default": "value",
"description": "Sort hotels by price (cheapest first), ranking (highest rated first), value (best value rating), or discount (best deals first, default when deals available)"
},
"limit": {
"type": "integer",
"default": 12,
"maximum": 100,
"minimum": 1,
"description": "Maximum number of hotels to return (default: 12, max: 100)"
},
"offset": {
"type": "integer",
"default": 0,
"maximum": 99,
"minimum": 0,
"description": "Number of hotels to skip for pagination (default: 0)"
},
"checkin": {
"type": "string",
"description": "Check-in date (YYYY-MM-DD format)"
},
"checkout": {
"$ref": "#/properties/checkin",
"description": "Check-out date (YYYY-MM-DD format)"
},
"numRooms": {
"type": "integer",
"default": 1,
"maximum": 9,
"minimum": 1,
"description": "Number of rooms (default: 1, max: 9)"
},
"numAdults": {
"type": "integer",
"default": 2,
"maximum": 10,
"minimum": 1,
"description": "Number of adults (default: 2, max: 10)"
},
"numChildren": {
"type": "integer",
"default": 0,
"maximum": 10,
"minimum": 0,
"description": "Number of children (default: 0, max: 10)"
}
},
"additionalProperties": false
}