Skip to main content
Glama

Search Skyscanner flights

skyscanner_search_flights

Search live Skyscanner (skyscanner.pl) fares for a one-way or round trip: the itineraries Skyscanner ranks best — total price in PLN, airlines, per-leg local times, duration, stops, self-transfer flag and a booking link — plus the cheapest and fastest fare across the whole search. The results page is rendered live through a paid unblocker, so a call takes ~20–40 s; finished searches are cached for 5 minutes. search_complete: false means Skyscanner was still collecting prices when the page was captured (calling again usually returns the finished search). For stop/time/airline filters or other currencies use google_flights_search. Result shape: { source, fetched_at, query, trip_type, search_url, currency, search_complete, providers_checked, providers_total, total_results, summary: { best, cheapest, fastest } (each { price_per_person, duration_minutes }), count, itineraries: [...], note } — the list key is itineraries, never flights or results. Each itinerary: { price, price_per_person, currency, airlines, legs: [...], self_transfer, offers_count, url }; each leg: { origin, origin_name, destination, destination_name, departure, arrival, duration_minutes, stops, stopovers, airlines, change_airport }. price is a number — the total for all passengers and both directions, taxes included; price_per_person is the fare per passenger; departure/arrival are local times 'YYYY-MM-DDTHH:MM'; a round trip has two legs (outbound, then return) under one price.

Input Schema

NameRequiredDescriptionDefault
adultsNoNumber of adults, 1–8. Default 1.
originYesOrigin: IATA airport code (e.g. WAW) or Skyscanner city code (e.g. LOND = all London airports).
no_cacheNoBypass the 5-minute result cache and render a fresh search.
cabin_classNoCabin class. Default economy.
destinationYesDestination: IATA airport code (e.g. LHR, BCN) or Skyscanner city code (e.g. LOND).
return_dateNoReturn date, YYYY-MM-DD. Omit for a one-way search.
departure_dateYesDeparture date, YYYY-MM-DD (today or later).

Output Schema

NameRequiredDescriptionDefault
noteYes
countYes
queryYes
sourceYes
summaryYes
currencyNo
trip_typeYes
fetched_atYes
search_urlYes
itinerariesYes
total_resultsNo
providers_totalNo
search_completeYes
providers_checkedNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4.5/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the full burden and does so well: ~20–40 s latency, a paid unblocker behind live rendering, 5-minute result caching, and the meaning of `search_complete: false` with its recovery action. Price semantics (total incl. taxes vs per-person) and local-time formatting are also disclosed.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Front-loaded and readable, but the bulk is an exhaustive enumeration of the result object (itinerary, leg, price, departure/arrival fields) that duplicates the existing output schema. The 'list key is `itineraries`, never `flights` or `results`' hint only earns its place if the output schema is loose; otherwise it is filler.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

A complex live-scrape tool with an output schema, and the description still covers latency, caching, partial-result semantics and price interpretation — everything an agent needs to call it correctly and interpret a call that looks thin.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so all seven parameters are already documented (IATA/city codes, date patterns, cabin enum, adults range, no_cache). The description adds no parameter-level meaning beyond the schema and instead spends its words on return shape — baseline 3 is correct.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Specific verb + resource + scope: 'Search live Skyscanner (skyscanner.pl) fares for a one-way or round trip,' and it names the concrete outputs (itineraries, best/cheapest/fastest summary). It also names the sibling it is not for filtered search, so an agent can distinguish without opening a schema.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicit routing guidance: 'For stop/time/airline filters or other currencies use google_flights_search,' plus the one-way vs round-trip condition ('Omit return_date for one-way' via schema) and retry guidance for `search_complete: false`. It also warns about the 5-minute cache and how to bypass it.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources