Koskamo

Skiplagged MCP

The Skiplagged MCP server provides read-only tools for AI agents to search for flights, stays, and rental cars. It supports flexible-destination searches, fare calendars, stay details, and airport-code lookups without requiring sign-in. Agents can use it to find low fares and compare hidden-city ticketing options, then open links on the site to book.

Endpoint and access

No sign-in to connect and list tools. Individual tools may still need a vendor account, credentials, or permissions; check the documented prerequisites.

Skiplagged MCP logo, by SkiplaggedVendor evidenceStreamable HTTPNo sign-inEndpoint checked 2026-11-06Operated by Skiplagged
MCP endpoint (Streamable HTTP)
https://mcp.skiplagged.com/mcp
Vendor documentation

What its tools do

10 tools, grouped by the hints the server advertises. Hints are self-declared, not verified behavior.

10 of 10 have a description · 10 of 10 declare behavior hints · 8 of 9 with parameters document them all

Checks and signals

Each line is separate evidence, not a trust score.

  • Passed Endpoint answered the live check ·
  • Passed Official MCP Registry namespace is tied to skiplagged.com ·
  • Passed Endpoint is on the registry namespace domain ·
  • Availability 1 of 1 checks passed in 30 days

What you can do with it

  • Search for flights by origin, destination, and dates
  • Find cheaper places to fly using flexible-destination search
  • Search and book stays (hotels) and rental cars
  • Look up airport codes and view fare calendars

Source and maintenance

Vendor evidenceRegistry 0.0.4

Protocol and capabilities

Server
@skiplagged/mcp 0.0.4
MCP protocol negotiated in check
2025-11-25
Tools
10 advertised
Resources
6 advertised
Resource templates
0 advertised
Prompts
Not advertised
Server-advertised capabilities
{
  "tools": {
    "listChanged": false
  },
  "logging": {},
  "resources": {
    "listChanged": false
  }
}

Tools

10 advertised

sk_flights_search — Skiplagged Flights Search
Advertised by the server during the last successful anonymous check.
Advertised read-onlyOpen-world

Search Skiplagged for flights between specific locations with filtering options for passengers, fare class, stops, airlines, and timing preferences

sk_flights_search input schema
{
  "type": "object",
  "$schema": "https://json-schema.org/draft/2020-12/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 (default: 0); limit + offset must not exceed 100"
    },
    "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)"
    },
    "currency": {
      "enum": [
        "USD",
        "AUD",
        "BRL",
        "CAD",
        "CHF",
        "CNY",
        "CZK",
        "DKK",
        "EUR",
        "GBP",
        "HKD",
        "IDR",
        "INR",
        "JPY",
        "KRW",
        "MXN",
        "MYR",
        "PLN",
        "RON",
        "SEK",
        "SGD",
        "TRY",
        "TWD",
        "UAH",
        "VND"
      ],
      "type": "string",
      "description": "Currency to show prices in (ISO 4217, default: USD). Pass the user's local currency when you know it, e.g. GBP for a UK user or EUR for a user in Germany. Prices are converted from USD and are approximate; sorting and booking links are unaffected."
    },
    "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": {
      "type": "string"
    },
    "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": [
        {
          "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": [
        {
          "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",
      "maximum": 9007199254740991,
      "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",
      "maximum": 9007199254740991,
      "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)"
    }
  }
}
sk_flights_search output schema
{
  "type": "object",
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "required": [
    "searchUrl",
    "flights",
    "pagination"
  ],
  "properties": {
    "flights": {
      "type": "array",
      "items": {
        "type": "object",
        "required": [
          "type",
          "id",
          "airlines",
          "departure",
          "arrival",
          "duration",
          "price",
          "deepLink"
        ],
        "properties": {
          "id": {
            "type": "string",
            "description": "Flight result card identifier; not a user identifier"
          },
          "type": {
            "type": "string",
            "const": "FlightCard"
          },
          "price": {
            "type": "object",
            "required": [
              "amount",
              "currency"
            ],
            "properties": {
              "amount": {
                "type": "number",
                "description": "Price in `currency` (converted from USD)"
              },
              "currency": {
                "type": "string",
                "description": "ISO 4217 code of `amount`"
              },
              "usdAmount": {
                "type": "number",
                "description": "Source price in US dollars; use it for sorting/comparison"
              }
            },
            "additionalProperties": false
          },
          "arrival": {
            "type": "object",
            "required": [
              "airport",
              "dateTime"
            ],
            "properties": {
              "airport": {
                "type": "string"
              },
              "dateTime": {
                "type": "string"
              }
            },
            "additionalProperties": false
          },
          "airlines": {
            "type": "string"
          },
          "deepLink": {
            "type": "string",
            "format": "uri"
          },
          "duration": {
            "type": "string"
          },
          "layovers": {
            "type": "number"
          },
          "departure": {
            "type": "object",
            "required": [
              "airport",
              "dateTime"
            ],
            "properties": {
              "airport": {
                "type": "string"
              },
              "dateTime": {
                "type": "string"
              }
            },
            "additionalProperties": false
          },
          "attributes": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "returnFlight": {
            "type": "object",
            "required": [
              "airlines",
              "departure",
              "arrival",
              "duration"
            ],
            "properties": {
              "arrival": {
                "type": "object",
                "required": [
                  "airport",
                  "dateTime"
                ],
                "properties": {
                  "airport": {
                    "type": "string"
                  },
                  "dateTime": {
                    "type": "string"
                  }
                },
                "additionalProperties": false
              },
              "airlines": {
                "type": "string"
              },
              "duration": {
                "type": "string"
              },
              "layovers": {
                "type": "number"
              },
              "departure": {
                "type": "object",
                "required": [
                  "airport",
                  "dateTime"
                ],
                "properties": {
                  "airport": {
                    "type": "string"
                  },
                  "dateTime": {
                    "type": "string"
                  }
                },
                "additionalProperties": false
              },
              "attributes": {
                "type": "array",
                "items": {
                  "type": "string"
                }
              }
            },
            "additionalProperties": false
          }
        },
        "additionalProperties": false
      }
    },
    "pricing": {
      "type": "object",
      "required": [
        "currency",
        "requestedCurrency",
        "rate",
        "approximate"
      ],
      "properties": {
        "rate": {
          "type": "number",
          "description": "Units of `currency` per 1 USD used for conversion (1 for USD)",
          "exclusiveMinimum": 0
        },
        "notice": {
          "type": "string",
          "description": "Short note to relay to the user about the shown currency"
        },
        "currency": {
          "type": "string",
          "description": "ISO 4217 code the prices are shown in"
        },
        "rateAsOf": {
          "type": "string",
          "description": "When the server fetched the exchange rate (ISO datetime)"
        },
        "approximate": {
          "type": "boolean",
          "description": "True when prices were converted from USD; the final charge on the booking site may differ"
        },
        "requestedCurrency": {
          "type": "string",
          "description": "ISO 4217 code the caller asked for (may differ on fallback)"
        }
      },
      "description": "Currency used for `flights[].price`",
      "additionalProperties": false
    },
    "searchUrl": {
      "type": "string",
      "format": "uri",
      "description": "Complete search URL with all parameters"
    },
    "pagination": {
      "type": "object",
      "required": [
        "totalAvailable",
        "currentlyShowing",
        "offset",
        "limit",
        "hasMoreResults"
      ],
      "properties": {
        "limit": {
          "type": "integer",
          "maximum": 9007199254740991,
          "minimum": -9007199254740991,
          "description": "Maximum results per page"
        },
        "offset": {
          "type": "integer",
          "maximum": 9007199254740991,
          "minimum": -9007199254740991,
          "description": "Current result offset for pagination"
        },
        "hasMoreResults": {
          "type": "boolean",
          "description": "Whether additional results are available"
        },
        "totalAvailable": {
          "type": "integer",
          "maximum": 9007199254740991,
          "minimum": -9007199254740991,
          "description": "Total number of flights available"
        },
        "currentlyShowing": {
          "type": "integer",
          "maximum": 9007199254740991,
          "minimum": -9007199254740991,
          "description": "Number of flights in this result set"
        }
      },
      "description": "Result pagination information",
      "additionalProperties": false
    }
  },
  "additionalProperties": false
}
sk_flights_search annotations
{
  "readOnlyHint": true,
  "openWorldHint": true,
  "destructiveHint": false
}
sk_destinations_anywhere — Skiplagged Flexible Destination Search
Advertised by the server during the last successful anonymous check.
Advertised read-onlyOpen-world

Find lower-priced destinations from a departure city when the user is flexible about where to go.

sk_destinations_anywhere input schema
{
  "type": "object",
  "$schema": "https://json-schema.org/draft/2020-12/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": {
      "type": "string",
      "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"
    },
    "currency": {
      "enum": [
        "USD",
        "AUD",
        "BRL",
        "CAD",
        "CHF",
        "CNY",
        "CZK",
        "DKK",
        "EUR",
        "GBP",
        "HKD",
        "IDR",
        "INR",
        "JPY",
        "KRW",
        "MXN",
        "MYR",
        "PLN",
        "RON",
        "SEK",
        "SGD",
        "TRY",
        "TWD",
        "UAH",
        "VND"
      ],
      "type": "string",
      "description": "Currency to show prices in (ISO 4217, default: USD). Pass the user's local currency when you know it, e.g. GBP for a UK user or EUR for a user in Germany. Prices are converted from USD and are approximate; sorting and booking links are unaffected."
    },
    "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"
    }
  }
}
sk_destinations_anywhere output schema
{
  "type": "object",
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "required": [
    "searchUrl",
    "results",
    "pagination"
  ],
  "properties": {
    "pricing": {
      "type": "object",
      "required": [
        "currency",
        "requestedCurrency",
        "rate",
        "approximate"
      ],
      "properties": {
        "rate": {
          "type": "number",
          "description": "Units of `currency` per 1 USD used for conversion (1 for USD)",
          "exclusiveMinimum": 0
        },
        "notice": {
          "type": "string",
          "description": "Short note to relay to the user about the shown currency"
        },
        "currency": {
          "type": "string",
          "description": "ISO 4217 code the prices are shown in"
        },
        "rateAsOf": {
          "type": "string",
          "description": "When the server fetched the exchange rate (ISO datetime)"
        },
        "approximate": {
          "type": "boolean",
          "description": "True when prices were converted from USD; the final charge on the booking site may differ"
        },
        "requestedCurrency": {
          "type": "string",
          "description": "ISO 4217 code the caller asked for (may differ on fallback)"
        }
      },
      "description": "Currency used for `results[].price`",
      "additionalProperties": false
    },
    "results": {
      "type": "array",
      "items": {
        "type": "object",
        "required": [
          "type",
          "id",
          "destination",
          "price",
          "flightType",
          "deepLink"
        ],
        "properties": {
          "id": {
            "type": "string",
            "description": "Travel deal card identifier; not a user identifier"
          },
          "type": {
            "type": "string",
            "const": "DealCard"
          },
          "price": {
            "type": "object",
            "required": [
              "amount",
              "currency"
            ],
            "properties": {
              "amount": {
                "type": "number",
                "description": "Price in `currency` (converted from USD)"
              },
              "currency": {
                "type": "string",
                "description": "ISO 4217 code of `amount`"
              },
              "usdAmount": {
                "type": "number",
                "description": "Source price in US dollars; use it for comparison"
              }
            },
            "additionalProperties": false
          },
          "deepLink": {
            "type": "string",
            "format": "uri"
          },
          "dateRange": {
            "type": "string"
          },
          "flightType": {
            "type": "string"
          },
          "tripLength": {
            "type": "string"
          },
          "description": {
            "type": "string"
          },
          "destination": {
            "type": "object",
            "required": [
              "city",
              "region",
              "airport"
            ],
            "properties": {
              "city": {
                "type": "string"
              },
              "region": {
                "type": "string"
              },
              "airport": {
                "type": "string"
              }
            },
            "additionalProperties": false
          }
        },
        "additionalProperties": false
      }
    },
    "searchUrl": {
      "type": "string",
      "format": "uri",
      "description": "Complete search URL with all parameters"
    },
    "pagination": {
      "type": "object",
      "required": [
        "totalAvailable",
        "currentlyShowing",
        "offset",
        "limit",
        "hasMoreResults"
      ],
      "properties": {
        "limit": {
          "type": "integer",
          "maximum": 9007199254740991,
          "minimum": -9007199254740991,
          "description": "Maximum results per page"
        },
        "offset": {
          "type": "integer",
          "maximum": 9007199254740991,
          "minimum": -9007199254740991,
          "description": "Current result offset for pagination"
        },
        "hasMoreResults": {
          "type": "boolean",
          "description": "Whether additional results are available"
        },
        "totalAvailable": {
          "type": "integer",
          "maximum": 9007199254740991,
          "minimum": -9007199254740991,
          "description": "Total number of destinations available"
        },
        "currentlyShowing": {
          "type": "integer",
          "maximum": 9007199254740991,
          "minimum": -9007199254740991,
          "description": "Number of destinations in this result set"
        }
      },
      "description": "Result pagination information",
      "additionalProperties": false
    }
  },
  "additionalProperties": false
}
sk_destinations_anywhere annotations
{
  "readOnlyHint": true,
  "openWorldHint": true,
  "destructiveHint": false
}
sk_flex_departure_calendar — Skiplagged One-Way Fare Calendar
Advertised by the server during the last successful anonymous check.
Advertised read-onlyOpen-world

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.

sk_flex_departure_calendar input schema
{
  "type": "object",
  "$schema": "https://json-schema.org/draft/2020-12/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)"
    },
    "currency": {
      "enum": [
        "USD",
        "AUD",
        "BRL",
        "CAD",
        "CHF",
        "CNY",
        "CZK",
        "DKK",
        "EUR",
        "GBP",
        "HKD",
        "IDR",
        "INR",
        "JPY",
        "KRW",
        "MXN",
        "MYR",
        "PLN",
        "RON",
        "SEK",
        "SGD",
        "TRY",
        "TWD",
        "UAH",
        "VND"
      ],
      "type": "string",
      "description": "Currency to show prices in (ISO 4217, default: USD). Pass the user's local currency when you know it, e.g. GBP for a UK user or EUR for a user in Germany. Prices are converted from USD and are approximate; sorting and booking links are unaffected."
    },
    "infantsLap": {
      "type": "integer",
      "default": 0,
      "maximum": 4,
      "minimum": 0,
      "description": "Number of lap infants (default: 0, max: 4)"
    },
    "returnDate": {
      "type": "string",
      "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)"
    }
  }
}
sk_flex_departure_calendar output schema
{
  "type": "object",
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "required": [
    "searchUrl",
    "origin",
    "destination",
    "mode",
    "sort",
    "chart"
  ],
  "properties": {
    "mode": {
      "enum": [
        "depart",
        "return"
      ],
      "type": "string",
      "description": "Indicates whether these options vary departure dates or return dates"
    },
    "sort": {
      "enum": [
        "date",
        "price"
      ],
      "type": "string",
      "description": "Ordering applied to the options array"
    },
    "chart": {
      "type": "object",
      "required": [
        "type",
        "id",
        "title",
        "origin",
        "destination",
        "mode",
        "sort",
        "searchUrl",
        "points"
      ],
      "properties": {
        "id": {
          "type": "string",
          "description": "Fare chart identifier; not a user identifier"
        },
        "mode": {
          "enum": [
            "depart",
            "return"
          ],
          "type": "string"
        },
        "sort": {
          "enum": [
            "date",
            "price"
          ],
          "type": "string"
        },
        "type": {
          "type": "string",
          "const": "FlexChart"
        },
        "title": {
          "type": "string"
        },
        "origin": {
          "type": "string"
        },
        "points": {
          "type": "array",
          "items": {
            "type": "object",
            "required": [
              "departure",
              "price"
            ],
            "properties": {
              "price": {
                "type": "number",
                "description": "Price in `currency`"
              },
              "return": {
                "type": "string"
              },
              "usdPrice": {
                "type": "number",
                "description": "Source price in US dollars; use it for comparison"
              },
              "departure": {
                "type": "string"
              }
            },
            "additionalProperties": false
          }
        },
        "currency": {
          "type": "string",
          "description": "ISO 4217 code of `points[].price` (USD when absent)"
        },
        "subtitle": {
          "type": "string"
        },
        "searchUrl": {
          "type": "string",
          "format": "uri"
        },
        "destination": {
          "type": "string"
        }
      },
      "additionalProperties": false
    },
    "origin": {
      "type": "string",
      "description": "Resolved origin airport code used for this search"
    },
    "pricing": {
      "type": "object",
      "required": [
        "currency",
        "requestedCurrency",
        "rate",
        "approximate"
      ],
      "properties": {
        "rate": {
          "type": "number",
          "description": "Units of `currency` per 1 USD used for conversion (1 for USD)",
          "exclusiveMinimum": 0
        },
        "notice": {
          "type": "string",
          "description": "Short note to relay to the user about the shown currency"
        },
        "currency": {
          "type": "string",
          "description": "ISO 4217 code the prices are shown in"
        },
        "rateAsOf": {
          "type": "string",
          "description": "When the server fetched the exchange rate (ISO datetime)"
        },
        "approximate": {
          "type": "boolean",
          "description": "True when prices were converted from USD; the final charge on the booking site may differ"
        },
        "requestedCurrency": {
          "type": "string",
          "description": "ISO 4217 code the caller asked for (may differ on fallback)"
        }
      },
      "description": "Currency used for `chart.points[].price`",
      "additionalProperties": false
    },
    "searchUrl": {
      "type": "string",
      "format": "uri",
      "description": "Complete search URL with all parameters"
    },
    "destination": {
      "type": "string",
      "description": "Resolved destination airport code used for this search"
    }
  },
  "additionalProperties": false
}
sk_flex_departure_calendar annotations
{
  "readOnlyHint": true,
  "openWorldHint": true,
  "destructiveHint": false
}
sk_flex_return_calendar — Skiplagged Round-Trip Price Calendar
Advertised by the server during the last successful anonymous check.
Advertised read-onlyOpen-world

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.

sk_flex_return_calendar input schema
{
  "type": "object",
  "$schema": "https://json-schema.org/draft/2020-12/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)"
    },
    "currency": {
      "enum": [
        "USD",
        "AUD",
        "BRL",
        "CAD",
        "CHF",
        "CNY",
        "CZK",
        "DKK",
        "EUR",
        "GBP",
        "HKD",
        "IDR",
        "INR",
        "JPY",
        "KRW",
        "MXN",
        "MYR",
        "PLN",
        "RON",
        "SEK",
        "SGD",
        "TRY",
        "TWD",
        "UAH",
        "VND"
      ],
      "type": "string",
      "description": "Currency to show prices in (ISO 4217, default: USD). Pass the user's local currency when you know it, e.g. GBP for a UK user or EUR for a user in Germany. Prices are converted from USD and are approximate; sorting and booking links are unaffected."
    },
    "infantsLap": {
      "type": "integer",
      "default": 0,
      "maximum": 4,
      "minimum": 0,
      "description": "Number of lap infants (default: 0, max: 4)"
    },
    "returnDate": {
      "type": "string",
      "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)"
    }
  }
}
sk_flex_return_calendar output schema
{
  "type": "object",
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "required": [
    "searchUrl",
    "origin",
    "destination",
    "mode",
    "sort",
    "chart"
  ],
  "properties": {
    "mode": {
      "enum": [
        "depart",
        "return"
      ],
      "type": "string",
      "description": "Indicates whether these options vary departure dates or return dates"
    },
    "sort": {
      "enum": [
        "date",
        "price"
      ],
      "type": "string",
      "description": "Ordering applied to the options array"
    },
    "chart": {
      "type": "object",
      "required": [
        "type",
        "id",
        "title",
        "origin",
        "destination",
        "mode",
        "sort",
        "searchUrl",
        "points"
      ],
      "properties": {
        "id": {
          "type": "string",
          "description": "Fare chart identifier; not a user identifier"
        },
        "mode": {
          "enum": [
            "depart",
            "return"
          ],
          "type": "string"
        },
        "sort": {
          "enum": [
            "date",
            "price"
          ],
          "type": "string"
        },
        "type": {
          "type": "string",
          "const": "FlexChart"
        },
        "title": {
          "type": "string"
        },
        "origin": {
          "type": "string"
        },
        "points": {
          "type": "array",
          "items": {
            "type": "object",
            "required": [
              "departure",
              "price"
            ],
            "properties": {
              "price": {
                "type": "number",
                "description": "Price in `currency`"
              },
              "return": {
                "type": "string"
              },
              "usdPrice": {
                "type": "number",
                "description": "Source price in US dollars; use it for comparison"
              },
              "departure": {
                "type": "string"
              }
            },
            "additionalProperties": false
          }
        },
        "currency": {
          "type": "string",
          "description": "ISO 4217 code of `points[].price` (USD when absent)"
        },
        "subtitle": {
          "type": "string"
        },
        "searchUrl": {
          "type": "string",
          "format": "uri"
        },
        "destination": {
          "type": "string"
        }
      },
      "additionalProperties": false
    },
    "origin": {
      "type": "string",
      "description": "Resolved origin airport code used for this search"
    },
    "pricing": {
      "type": "object",
      "required": [
        "currency",
        "requestedCurrency",
        "rate",
        "approximate"
      ],
      "properties": {
        "rate": {
          "type": "number",
          "description": "Units of `currency` per 1 USD used for conversion (1 for USD)",
          "exclusiveMinimum": 0
        },
        "notice": {
          "type": "string",
          "description": "Short note to relay to the user about the shown currency"
        },
        "currency": {
          "type": "string",
          "description": "ISO 4217 code the prices are shown in"
        },
        "rateAsOf": {
          "type": "string",
          "description": "When the server fetched the exchange rate (ISO datetime)"
        },
        "approximate": {
          "type": "boolean",
          "description": "True when prices were converted from USD; the final charge on the booking site may differ"
        },
        "requestedCurrency": {
          "type": "string",
          "description": "ISO 4217 code the caller asked for (may differ on fallback)"
        }
      },
      "description": "Currency used for `chart.points[].price`",
      "additionalProperties": false
    },
    "searchUrl": {
      "type": "string",
      "format": "uri",
      "description": "Complete search URL with all parameters"
    },
    "destination": {
      "type": "string",
      "description": "Resolved destination airport code used for this search"
    }
  },
  "additionalProperties": false
}
sk_flex_return_calendar annotations
{
  "readOnlyHint": true,
  "openWorldHint": true,
  "destructiveHint": false
}
sk_hotels_search — Skiplagged Hotel Search
Advertised by the server during the last successful anonymous check.
Advertised read-onlyOpen-world

Search Skiplagged for hotels in a city with specific check-in and check-out dates, including ratings and pricing.

sk_hotels_search input schema
{
  "type": "object",
  "$schema": "https://json-schema.org/draft/2020-12/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 (default: 0); limit + offset must not exceed 100"
    },
    "checkin": {
      "type": "string",
      "description": "Check-in date (YYYY-MM-DD format)"
    },
    "checkout": {
      "type": "string",
      "description": "Check-out date (YYYY-MM-DD format)"
    },
    "currency": {
      "enum": [
        "USD",
        "AUD",
        "BRL",
        "CAD",
        "CHF",
        "CNY",
        "CZK",
        "DKK",
        "EUR",
        "GBP",
        "HKD",
        "IDR",
        "INR",
        "JPY",
        "KRW",
        "MXN",
        "MYR",
        "PLN",
        "RON",
        "SEK",
        "SGD",
        "TRY",
        "TWD",
        "UAH",
        "VND"
      ],
      "type": "string",
      "description": "Currency to show prices in (ISO 4217, default: USD). Pass the user's local currency when you know it, e.g. GBP for a UK user or EUR for a user in Germany. Prices are converted from USD and are approximate; sorting and booking links are unaffected."
    },
    "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)"
    }
  }
}
sk_hotels_search output schema
{
  "type": "object",
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "required": [
    "searchUrl",
    "results",
    "pagination"
  ],
  "properties": {
    "pricing": {
      "type": "object",
      "required": [
        "currency",
        "requestedCurrency",
        "rate",
        "approximate"
      ],
      "properties": {
        "rate": {
          "type": "number",
          "description": "Units of `currency` per 1 USD used for conversion (1 for USD)",
          "exclusiveMinimum": 0
        },
        "notice": {
          "type": "string",
          "description": "Short note to relay to the user about the shown currency"
        },
        "currency": {
          "type": "string",
          "description": "ISO 4217 code the prices are shown in"
        },
        "rateAsOf": {
          "type": "string",
          "description": "When the server fetched the exchange rate (ISO datetime)"
        },
        "approximate": {
          "type": "boolean",
          "description": "True when prices were converted from USD; the final charge on the booking site may differ"
        },
        "requestedCurrency": {
          "type": "string",
          "description": "ISO 4217 code the caller asked for (may differ on fallback)"
        }
      },
      "description": "Currency used for `results[].price`",
      "additionalProperties": false
    },
    "results": {
      "type": "array",
      "items": {
        "type": "object",
        "required": [
          "type",
          "id",
          "name",
          "rating",
          "price",
          "chain",
          "location",
          "amenities",
          "deepLink"
        ],
        "properties": {
          "id": {
            "type": "string",
            "description": "Hotel result card identifier; not a user identifier"
          },
          "name": {
            "type": "string"
          },
          "type": {
            "type": "string",
            "const": "HotelCard"
          },
          "chain": {
            "type": "string"
          },
          "price": {
            "type": "object",
            "required": [
              "amount",
              "currency",
              "text"
            ],
            "properties": {
              "text": {
                "type": "string"
              },
              "amount": {
                "type": "number",
                "description": "Nightly price in `currency` (converted from USD)"
              },
              "currency": {
                "type": "string",
                "description": "ISO 4217 code of `amount`"
              },
              "usdAmount": {
                "type": "number",
                "description": "Source nightly price in US dollars; use it for comparison"
              }
            },
            "additionalProperties": false
          },
          "rating": {
            "type": "object",
            "required": [
              "stars",
              "text"
            ],
            "properties": {
              "text": {
                "type": "string"
              },
              "stars": {
                "type": "number"
              }
            },
            "additionalProperties": false
          },
          "deepLink": {
            "type": "string",
            "format": "uri"
          },
          "imageUrl": {
            "type": "string"
          },
          "location": {
            "type": "string"
          },
          "amenities": {
            "type": "array",
            "items": {
              "type": "string"
            }
          }
        },
        "additionalProperties": false
      }
    },
    "searchUrl": {
      "type": "string",
      "format": "uri",
      "description": "Complete search URL with all parameters"
    },
    "pagination": {
      "type": "object",
      "required": [
        "totalAvailable",
        "currentlyShowing",
        "offset",
        "limit",
        "hasMoreResults"
      ],
      "properties": {
        "limit": {
          "type": "integer",
          "maximum": 9007199254740991,
          "minimum": -9007199254740991,
          "description": "Maximum results per page"
        },
        "offset": {
          "type": "integer",
          "maximum": 9007199254740991,
          "minimum": -9007199254740991,
          "description": "Current result offset for pagination"
        },
        "hasMoreResults": {
          "type": "boolean",
          "description": "Whether additional results are available"
        },
        "totalAvailable": {
          "type": "integer",
          "maximum": 9007199254740991,
          "minimum": -9007199254740991,
          "description": "Total number of hotels available"
        },
        "currentlyShowing": {
          "type": "integer",
          "maximum": 9007199254740991,
          "minimum": -9007199254740991,
          "description": "Number of hotels in this result set"
        }
      },
      "description": "Result pagination information",
      "additionalProperties": false
    }
  },
  "additionalProperties": false
}
sk_hotels_search annotations
{
  "readOnlyHint": true,
  "openWorldHint": true,
  "destructiveHint": false
}
sk_cars_search — Skiplagged Car Search
Advertised by the server during the last successful anonymous check.
Advertised read-onlyOpen-world

Search Skiplagged for rental cars between pickup and dropoff locations/dates, returning prices, companies, and car details.

sk_cars_search input schema
{
  "type": "object",
  "$schema": "https://json-schema.org/draft/2020-12/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 (default: 0); limit + offset must not exceed 100"
    },
    "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": {
      "type": "string",
      "description": "Dropoff date (YYYY-MM-DD)"
    },
    "dropoffTime": {
      "type": "string",
      "default": "10:00",
      "pattern": "^\\d{2}:\\d{2}(?::\\d{2})?$",
      "description": "Dropoff time (HH:mm or HH:mm:ss, default 10:00)"
    },
    "pickupLocation": {
      "type": "string",
      "minLength": 1,
      "description": "Pickup city or airport code"
    },
    "dropoffLocation": {
      "type": "string",
      "minLength": 1,
      "description": "Dropoff city or airport code (defaults to pickup)"
    }
  }
}
sk_cars_search output schema
{
  "type": "object",
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "required": [
    "searchUrl",
    "results",
    "pagination"
  ],
  "properties": {
    "results": {
      "type": "array",
      "items": {
        "type": "object",
        "required": [
          "id",
          "companyName",
          "vehicleName",
          "passengers",
          "bags",
          "transmission",
          "unlimitedMileage",
          "freeCancellation",
          "allowCancellation",
          "prepaid",
          "ccRequired",
          "ageRequired",
          "priceCurrency",
          "priceRateInDollars",
          "totalPriceInDollars",
          "pickup",
          "dropoff",
          "bookingLink"
        ],
        "properties": {
          "id": {
            "type": "string",
            "description": "Opaque offer identifier; not a user identifier"
          },
          "bags": {
            "type": "integer",
            "maximum": 9007199254740991,
            "minimum": 0,
            "description": "Bag capacity"
          },
          "tags": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "Vehicle type tags"
          },
          "pickup": {
            "type": "object",
            "properties": {
              "address": {
                "type": "string",
                "description": "Pickup/dropoff address"
              },
              "airportCode": {
                "type": "string",
                "description": "Pickup/dropoff airport code"
              }
            },
            "description": "Pickup location",
            "additionalProperties": false
          },
          "dropoff": {
            "type": "object",
            "properties": {
              "address": {
                "type": "string",
                "description": "Pickup/dropoff address"
              },
              "airportCode": {
                "type": "string",
                "description": "Pickup/dropoff airport code"
              }
            },
            "description": "Dropoff location",
            "additionalProperties": false
          },
          "prepaid": {
            "type": "boolean",
            "description": "Whether the rate is prepaid"
          },
          "ccRequired": {
            "type": "boolean",
            "description": "Credit card required to book"
          },
          "passengers": {
            "type": "integer",
            "maximum": 9007199254740991,
            "minimum": 0,
            "description": "Passenger capacity"
          },
          "ageRequired": {
            "type": "boolean",
            "description": "Driver age required"
          },
          "bookingLink": {
            "type": "string",
            "format": "uri",
            "description": "Deep link to book this car"
          },
          "companyName": {
            "type": "string",
            "description": "Rental company name"
          },
          "vehicleName": {
            "type": "string",
            "description": "Vehicle name"
          },
          "transmission": {
            "enum": [
              "Automatic",
              "Manual"
            ],
            "type": "string",
            "description": "Transmission type"
          },
          "priceCurrency": {
            "type": "string",
            "description": "Currency code (ISO-4217)"
          },
          "companyLogoUrl": {
            "type": "string",
            "description": "Rental company logo URL"
          },
          "exampleVehicle": {
            "type": "string",
            "description": "Example model text"
          },
          "freeCancellation": {
            "type": "boolean",
            "description": "Free cancellation available"
          },
          "unlimitedMileage": {
            "type": "boolean",
            "description": "Includes unlimited mileage"
          },
          "allowCancellation": {
            "type": "boolean",
            "description": "Cancellation allowed (free or fee)"
          },
          "priceRateInDollars": {
            "type": "number",
            "description": "Per-day/quoted rate in US dollars for comparison"
          },
          "vehicleDescription": {
            "type": "string",
            "description": "Vehicle description"
          },
          "totalPriceInDollars": {
            "type": "number",
            "description": "Total rental price in US dollars"
          }
        },
        "additionalProperties": false
      },
      "description": "Available car rental offers"
    },
    "searchUrl": {
      "type": "string",
      "format": "uri",
      "description": "Complete search URL with all parameters"
    },
    "pagination": {
      "type": "object",
      "required": [
        "totalAvailable",
        "currentlyShowing",
        "offset",
        "limit",
        "hasMoreResults"
      ],
      "properties": {
        "limit": {
          "type": "integer",
          "maximum": 9007199254740991,
          "minimum": -9007199254740991,
          "description": "Maximum results per page"
        },
        "offset": {
          "type": "integer",
          "maximum": 9007199254740991,
          "minimum": -9007199254740991,
          "description": "Current result offset for pagination"
        },
        "hasMoreResults": {
          "type": "boolean",
          "description": "Whether additional results are available"
        },
        "totalAvailable": {
          "type": "integer",
          "maximum": 9007199254740991,
          "minimum": -9007199254740991,
          "description": "Total number of cars available"
        },
        "currentlyShowing": {
          "type": "integer",
          "maximum": 9007199254740991,
          "minimum": -9007199254740991,
          "description": "Number of cars in this result set"
        }
      },
      "description": "Result pagination information",
      "additionalProperties": false
    }
  },
  "additionalProperties": false
}
sk_cars_search annotations
{
  "readOnlyHint": true,
  "openWorldHint": true,
  "destructiveHint": false
}
sk_hotel_details — Skiplagged Hotel Details
Advertised by the server during the last successful anonymous check.
Advertised read-onlyOpen-world

Fetch room-level availability, pricing, and amenities for a specific hotel and stay dates.

sk_hotel_details input schema
{
  "type": "object",
  "$schema": "https://json-schema.org/draft/2020-12/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",
      "maximum": 9007199254740991,
      "description": "Hotel ID (from search results) to fetch detailed availability for",
      "exclusiveMinimum": 0
    },
    "checkout": {
      "type": "string",
      "description": "Check-out date (YYYY-MM-DD format)"
    },
    "currency": {
      "enum": [
        "USD",
        "AUD",
        "BRL",
        "CAD",
        "CHF",
        "CNY",
        "CZK",
        "DKK",
        "EUR",
        "GBP",
        "HKD",
        "IDR",
        "INR",
        "JPY",
        "KRW",
        "MXN",
        "MYR",
        "PLN",
        "RON",
        "SEK",
        "SGD",
        "TRY",
        "TWD",
        "UAH",
        "VND"
      ],
      "type": "string",
      "description": "Currency to show prices in (ISO 4217, default: USD). Pass the user's local currency when you know it, e.g. GBP for a UK user or EUR for a user in Germany. Prices are converted from USD and are approximate; sorting and booking links are unaffected."
    },
    "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)"
    }
  }
}
sk_hotel_details output schema
{
  "type": "object",
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "required": [
    "hotelId",
    "hotelName",
    "starRating",
    "reviewRating",
    "pricePerNightInDollars",
    "chainName",
    "amenityNames",
    "address",
    "bookingLink",
    "checkinDate",
    "checkoutDate",
    "rooms"
  ],
  "properties": {
    "rooms": {
      "type": "array",
      "items": {
        "type": "object",
        "required": [
          "id",
          "title",
          "occupancyLimit",
          "pricePerNightInDollars",
          "totalPriceInDollars",
          "currency",
          "bookingLink"
        ],
        "properties": {
          "id": {
            "type": "string",
            "description": "Room offer identifier; not a user identifier"
          },
          "title": {
            "type": "string",
            "description": "Room name or title"
          },
          "bedTypes": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "Bed configuration descriptions"
          },
          "currency": {
            "type": "string",
            "description": "Price currency code (e.g., USD)"
          },
          "imageUrl": {
            "type": "string",
            "description": "Representative room photo"
          },
          "amenities": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "Room-level amenity highlights"
          },
          "refundable": {
            "type": "boolean",
            "description": "Whether the room is refundable"
          },
          "bookingLink": {
            "type": "string",
            "format": "uri",
            "description": "Direct booking URL for this room"
          },
          "description": {
            "type": "string",
            "description": "Short room description"
          },
          "occupancyLimit": {
            "type": "integer",
            "maximum": 9007199254740991,
            "minimum": 1,
            "description": "Maximum guests allowed"
          },
          "freeCancellation": {
            "type": "boolean",
            "description": "Whether cancellation is free"
          },
          "totalPriceInDollars": {
            "type": "number",
            "description": "Total stay price (room + taxes/fees) in US dollars"
          },
          "taxesAndFeesInDollars": {
            "type": "number",
            "description": "Portion of total that is taxes/fees in US dollars"
          },
          "pricePerNightInDollars": {
            "type": "number",
            "description": "Nightly price in US dollars for this room"
          }
        },
        "additionalProperties": false
      },
      "description": "Room offers for this search"
    },
    "address": {
      "type": "string",
      "description": "Hotel address"
    },
    "hotelId": {
      "type": "string",
      "description": "Skiplagged property identifier; not a user identifier"
    },
    "pricing": {
      "type": "object",
      "required": [
        "currency",
        "requestedCurrency",
        "rate",
        "approximate"
      ],
      "properties": {
        "rate": {
          "type": "number",
          "description": "Units of `currency` per 1 USD used for conversion (1 for USD)",
          "exclusiveMinimum": 0
        },
        "notice": {
          "type": "string",
          "description": "Short note to relay to the user about the shown currency"
        },
        "currency": {
          "type": "string",
          "description": "ISO 4217 code the prices are shown in"
        },
        "rateAsOf": {
          "type": "string",
          "description": "When the server fetched the exchange rate (ISO datetime)"
        },
        "approximate": {
          "type": "boolean",
          "description": "True when prices were converted from USD; the final charge on the booking site may differ"
        },
        "requestedCurrency": {
          "type": "string",
          "description": "ISO 4217 code the caller asked for (may differ on fallback)"
        }
      },
      "description": "Exchange rate for showing the USD prices above in another currency; the markdown output is already converted",
      "additionalProperties": false
    },
    "cityName": {
      "type": "string",
      "description": "City name"
    },
    "imageUrl": {
      "type": "string",
      "description": "Hotel image URL"
    },
    "location": {
      "type": "object",
      "required": [
        "lat",
        "lng"
      ],
      "properties": {
        "lat": {
          "type": "number",
          "description": "Hotel latitude"
        },
        "lng": {
          "type": "number",
          "description": "Hotel longitude"
        }
      },
      "description": "Geographic coordinates",
      "additionalProperties": false
    },
    "chainName": {
      "type": "string",
      "description": "Hotel chain name or 'Independent'"
    },
    "hotelName": {
      "type": "string",
      "description": "Hotel name"
    },
    "stateName": {
      "type": "string",
      "description": "State name"
    },
    "starRating": {
      "type": "integer",
      "maximum": 5,
      "minimum": 0,
      "description": "Hotel star rating (0-5)"
    },
    "bookingLink": {
      "type": "string",
      "format": "uri",
      "description": "Direct booking URL for this hotel"
    },
    "checkInTime": {
      "type": "string",
      "description": "Check-in time window"
    },
    "checkinDate": {
      "type": "string",
      "description": "Check-in date for this detail search (YYYY-MM-DD)"
    },
    "countryName": {
      "type": "string",
      "description": "Country name"
    },
    "description": {
      "type": "string",
      "description": "Hotel description"
    },
    "reviewCount": {
      "type": "integer",
      "maximum": 9007199254740991,
      "minimum": -9007199254740991,
      "description": "Number of guest reviews"
    },
    "amenityNames": {
      "type": "array",
      "items": {
        "type": "string"
      },
      "description": "List of hotel amenities"
    },
    "checkOutTime": {
      "type": "string",
      "description": "Check-out time window"
    },
    "checkoutDate": {
      "type": "string",
      "description": "Check-out date for this detail search (YYYY-MM-DD)"
    },
    "reviewRating": {
      "type": "number",
      "maximum": 10,
      "minimum": 0,
      "description": "Review rating (0-10)"
    },
    "priceCurrency": {
      "type": "string",
      "description": "ISO 4217 code of pricePerNightInDollars/totalPriceInDollars (USD when absent; may differ when the summary comes from a room quoted in another currency)"
    },
    "totalPriceInDollars": {
      "type": "number",
      "description": "Total price for entire stay in US dollars"
    },
    "pricePerNightInDollars": {
      "type": "number",
      "description": "Price per night in US dollars"
    }
  },
  "additionalProperties": false
}
sk_hotel_details annotations
{
  "readOnlyHint": true,
  "openWorldHint": true,
  "destructiveHint": false
}
sk_faq_search — Search Skiplagged FAQ
Advertised by the server during the last successful anonymous check.
Advertised read-onlyOpen-world

Search Skiplagged support articles for answers about its services, products, and policies.

sk_faq_search input schema
{
  "type": "object",
  "$schema": "https://json-schema.org/draft/2020-12/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)"
    }
  }
}
sk_faq_search output schema
{
  "type": "object",
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "required": [
    "chunks"
  ],
  "properties": {
    "chunks": {
      "type": "array",
      "items": {
        "type": "object",
        "required": [
          "content",
          "similarity"
        ],
        "properties": {
          "url": {
            "type": "string",
            "description": "URL of the source article"
          },
          "title": {
            "type": "string",
            "description": "Title of the source article"
          },
          "content": {
            "type": "string",
            "description": "The text content of the retrieved chunk"
          },
          "similarity": {
            "type": "number",
            "description": "Similarity score (0-1)"
          }
        },
        "additionalProperties": false
      },
      "description": "Retrieved relevant chunks"
    }
  },
  "additionalProperties": false
}
sk_faq_search annotations
{
  "readOnlyHint": true,
  "openWorldHint": true,
  "destructiveHint": false
}
sk_resolve_location — Resolve location to airport code
Advertised by the server during the last successful anonymous check.
Advertised read-onlyOpen-world

Resolve coarse location metadata supplied by the client to the nearest airport. Takes no user-provided arguments.

sk_resolve_location input schema
{
  "type": "object",
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "properties": {}
}
sk_resolve_location output schema
{
  "type": "object",
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "required": [
    "iata",
    "city",
    "country"
  ],
  "properties": {
    "city": {
      "type": "string",
      "description": "Resolved city name"
    },
    "iata": {
      "type": "string",
      "description": "Nearest airport IATA code"
    },
    "country": {
      "type": "string",
      "description": "Resolved country name"
    }
  },
  "additionalProperties": false
}
sk_resolve_location annotations
{
  "readOnlyHint": true,
  "openWorldHint": true,
  "destructiveHint": false
}
sk_resolve_iata — Resolve city name to airport code
Advertised by the server during the last successful anonymous check.
Advertised read-onlyOpen-world

Resolve a city name to an IATA code, or pass through a three-letter code

sk_resolve_iata input schema
{
  "type": "object",
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "required": [
    "input"
  ],
  "properties": {
    "input": {
      "type": "string",
      "minLength": 1,
      "description": "City name code to resolve to IATA code"
    }
  }
}
sk_resolve_iata output schema
{
  "type": "object",
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "required": [
    "iataCode"
  ],
  "properties": {
    "iataCode": {
      "type": "string",
      "description": "Resolved airport IATA code"
    }
  },
  "additionalProperties": false
}
sk_resolve_iata annotations
{
  "readOnlyHint": true,
  "openWorldHint": true,
  "destructiveHint": false
}

Prompts

Not advertised

No prompt definitions available.

Resources

6 advertised

sk_flights_search

Advertised by the server during the last successful anonymous check.

sk_flights_search URI
ui://mcp-app/skiplagged_flights_search.html

MIME type: text/html;profile=mcp-app

sk_flights_search-openai

Advertised by the server during the last successful anonymous check.

sk_flights_search-openai URI
ui://widget/skiplagged_flights_search.html

MIME type: text/html+skybridge

sk_hotels_search

Advertised by the server during the last successful anonymous check.

sk_hotels_search URI
ui://mcp-app/skiplagged_hotels_search.html

MIME type: text/html;profile=mcp-app

sk_hotels_search-openai

Advertised by the server during the last successful anonymous check.

sk_hotels_search-openai URI
ui://widget/skiplagged_hotels_search.html

MIME type: text/html+skybridge

sk_flex_departure_calendar

Advertised by the server during the last successful anonymous check.

sk_flex_departure_calendar URI
ui://mcp-app/skiplagged_flex_chart.html

MIME type: text/html;profile=mcp-app

sk_flex_departure_calendar-openai

Advertised by the server during the last successful anonymous check.

sk_flex_departure_calendar-openai URI
ui://widget/skiplagged_flex_chart.html

MIME type: text/html+skybridge

90-day uptime

A lightweight connection check about every six hours, sampled on hosts with many listings. It shows the server answered, not that its tools work.

Too few checks for a percentage yet (2 of 2 answered).

  1. 2026-11-06: 1 of 1 checks answered
  2. 2026-11-07: 1 of 1 checks answered

30-day availability

Aggregated from read-only remote checks; this is not a tool-execution or security guarantee.

Successful checks
1 of 1 (100%)
Average latency
960 ms
95th percentile latency
960 ms

Maintenance history

Public check and source-refresh events. Editorial and ownership records remain private.

  • · probe · passed · 960 ms · metadata changed · 10 tool(s), 6 resource(s), 0 resource template(s)

Connect from your client

Each snippet registers the same endpoint; pick the client you use.

This server is operated by the named third party. Listing and endpoint checks are not an endorsement or a security audit. Review the operator's permissions, terms, and data handling before connecting. How listings are checked and corrected.

Claude Code

Run this once in a terminal. It registers the remote server. Use --scope project to write .mcp.json for the repo.
Claude Code configuration
claude mcp add --transport http skiplagged-mcp https://mcp.skiplagged.com/mcp

Codex

Run this once. Codex stores MCP servers in ~/.codex/config.toml (or .codex/config.toml in a trusted project).
Codex configuration
codex mcp add skiplagged-mcp --url https://mcp.skiplagged.com/mcp

Cursor

Merge this server into .cursor/mcp.json in your project, then enable skiplagged-mcp in your MCP settings.
Cursor configuration
{
  "mcpServers": {
    "skiplagged-mcp": {
      "url": "https://mcp.skiplagged.com/mcp"
    }
  }
}

Cline

Merge this into cline_mcp_settings.json (Cline → MCP Servers → Configure).
Cline configuration
{
  "mcpServers": {
    "skiplagged-mcp": {
      "type": "streamableHttp",
      "url": "https://mcp.skiplagged.com/mcp",
      "disabled": false
    }
  }
}

VS Code

Merge this server into .vscode/mcp.json. Use MCP: List Servers to start skiplagged-mcp and inspect its tools.
VS Code configuration
{
  "servers": {
    "skiplagged-mcp": {
      "type": "http",
      "url": "https://mcp.skiplagged.com/mcp"
    }
  }
}

Gemini CLI

Run this once. It writes .gemini/settings.json in the current project; pass --scope user for ~/.gemini/settings.json.
Gemini CLI configuration
gemini mcp add --transport http skiplagged-mcp https://mcp.skiplagged.com/mcp

Claude Desktop

Open Claude Settings > Connectors > Add custom connector, enter this server URL and enable it for the conversation. This is a manual remote-connector handoff, not a desktop JSON configuration.
Claude Desktop configuration
https://mcp.skiplagged.com/mcp

Windsurf

Merge this into ~/.codeium/windsurf/mcp_config.json, then refresh MCP in Cascade. Windsurf remote servers use serverUrl, not url.
Windsurf configuration
{
  "mcpServers": {
    "skiplagged-mcp": {
      "serverUrl": "https://mcp.skiplagged.com/mcp"
    }
  }
}

Let your agent find its tools

Find servers like Skiplagged MCP from your agent. Add Koskamo once to search the index for endpoints, access requirements, and client setup. Public discovery needs no key.

Do you run Skiplagged MCP?

Prove ownership with a DNS record, a well-known file, or your Official MCP Registry entry, and your edits publish immediately. Proofs are re-checked weekly; admins can still hide or remove a listing.

Claim this listing