Skip to main content
Glama

skyaccess

Search empty leg flights

search_empty_legs
Read-onlyIdempotent

Search available empty leg flights by origin, destination, date range, passenger count, and an optional max_price ceiling. Returns up to 5 matching flights with route, departure time, price, aircraft type, available seats, and a booking link. Use this to find discounted private jet availability for a specific route. A flight with price: null has no published price ("Contact for price"); such flights are returned even when max_price is set, so never present one as being within the cap.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
originNoDeparture city or airport code (e.g. "Los Angeles" or "LAX")
max_priceNoOptional price ceiling in USD (all-in customer price). Only legs at or below this figure are returned. One exception, by design: legs whose operator has not confirmed they will honour a published price are still returned regardless of the cap, with `price: null` — describe those as "Contact for price" and do NOT tell the customer they fall within the cap, because their price is unknown, not low.
passengersNoNumber of passengers
destinationNoArrival city or airport code (e.g. "Las Vegas" or "KLAS")
departureDateToNoLatest departure date in ISO format
departureDateFromNoEarliest departure date in ISO format (e.g. "2026-07-10")

Schema Changelog

Changes observed during successful MCP inspections. Dates show when Glama detected each change.

  1. First observed

TDQS

A4.5/5.0
Behavior5/5

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

Annotations already convey read-only, idempotent, and non-destructive behavior. The description adds critical beyond-annotation context: returns up to 5 matches, enumerates returned fields, and discloses the non-obvious 'price: null' exception where flights are returned even when max_price is set and must never be presented as within the cap.

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

Conciseness5/5

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

Three sentences: purpose, return contents, and a crucial pricing caveat. Each sentence earns its place and the most important behavioral exception is clearly front-loaded and separated from the rest.

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?

With no output schema, the description compensates by specifying the output shape: up to 5 flights with route, departure time, price, aircraft type, seats, and booking link. Combined with the detailed input schema and strong annotations, the description gives an agent everything needed to call the tool correctly.

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 description coverage is 100%, so the schema already documents every parameter, including the max_price exception. The description mostly restates the parameter names and the null-price caveat rather than adding materially new parameter-level meaning.

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?

The description opens with a specific verb and resource: 'Search available empty leg flights by origin, destination, date range, passenger count, and an optional max_price ceiling.' It clearly distinguishes itself from siblings by focusing on empty-leg availability rather than charter estimates, flight details, or booking actions.

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

Usage Guidelines4/5

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

It explicitly states when to use the tool: 'Use this to find discounted private jet availability for a specific route.' It does not name alternatives or state when not to use it, but the sibling list and clear purpose make the intended usage sufficiently clear.

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.

TDQS

A4.2/5.0
Disambiguation4/5

search_empty_legs, get_flight, and booking_handoff all return booking links, so booking_handoff overlaps somewhat with get_flight's existing link output. However, each tool's focus (multi-result search, single-flight detail, customer handoff link) is generally clear from the descriptions.

Naming Consistency4/5

Four tools follow a clear verb_noun pattern: search_empty_legs, get_flight, get_charter_estimate, and request_booking. booking_handoff breaks this pattern as a noun-led compound, but the naming remains readable and only mildly inconsistent.

Tool Count5/5

Five tools is well-scoped for this private aviation domain: flight search, flight detail, charter pricing, and two distinct booking paths. Each tool serves a meaningful step in the workflow without unnecessary overlap or bloat.

Completeness4/5

The set covers the core workflows: discovering empty-leg flights, reviewing a specific flight, handing off a booking link, estimating charter prices, and submitting charter requests. Missing status or cancellation endpoints for in-progress requests are minor gaps since specialist follow-up happens outside the server.

Resources