Skip to main content
Glama

Server Details

Search 5,000+ live empty leg flights, get charter estimates and booking links. Free, no API key.

If you are the author of this connector, you can claim ownership by verifying the domain or GitHub account it belongs to. Claimed connector authors can inspect health checks, view analytics, and manage their listing.
Status
Healthy
Uptime
99.9% over 25 days
Last Tested
Transport
Streamable HTTP · MCP 2025-11-25
URL
Repository
sky-access/skyaccess-mcp
GitHub Stars
0
Server Listing
skyaccess-mcp

TDQS

A4.1/5.0

Scored across 5 tools

Disambiguation5/5

Each tool targets a distinct action or resource: search empty legs, get a specific flight, get charter estimates, hand off a booking link, or submit a booking request. The descriptions explicitly clarify the boundary between booking_handoff and request_booking, preventing confusion.

Naming Consistency4/5

Most tools follow a verb_noun pattern (search_empty_legs, get_flight, get_charter_estimate, request_booking), but booking_handoff uses a noun_noun pattern, creating a minor inconsistency. Still, all names are snake_case and readable.

Tool Count5/5

With 5 tools, the set is well-scoped for the domain of private jet empty legs and charter bookings. Each tool serves a clear purpose without redundancy or excessive granularity.

Completeness4/5

The tools cover the core lifecycle: searching empty legs, retrieving flight details, estimating charter prices, handing off booking links, and submitting booking requests. Minor gaps exist, such as tracking the status of a request or modifying an enquiry, but these are not critical for the stated purpose.

Available Tools

5 tools
booking_handoffGet the booking link for an empty leg flightA
Read-onlyIdempotent
Inspect

Return the SkyAccess booking page link for a specific empty leg flight, for handing to a customer so they can review and book it themselves. This is read-only: it does not create, hold, modify or cancel any booking, and no booking exists until the customer completes it on the page. Use request_booking instead if the customer wants a specialist to contact them.

ParametersJSON Schema
NameRequiredDescriptionDefault
flightIdYesThe flight id returned in the `flightId` field of a search_empty_legs result

TDQS

A4.5/5.0
Behavior4/5

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

Annotations already declare readOnlyHint=true, idempotentHint=true and destructiveHint=false, so the safety profile is covered. The description still adds real context beyond that: no booking is created, held, modified or cancelled, and 'no booking exists until the customer completes it on the page' — a non-obvious state guarantee an agent would otherwise have to guess.

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, front-loaded with the primary action, then the safety/state clarification, then the routing rule. No redundant restatement of the title or schema.

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?

Although there is no output schema, the description states what is returned (the booking page link) and clarifies that nothing is persisted server-side, which is exactly the ambiguity an agent would face. Nothing needed to invoke or interpret the result is missing.

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% and the single flightId is fully documented in the schema, including its provenance from search_empty_legs results. The description adds no parameter-level detail, so the schema carries the load — baseline 3.

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?

States a specific verb and resource ('Return the SkyAccess booking page link for a specific empty leg flight') and immediately scopes it to handing off to a customer. This is clearly distinguishable from search_empty_legs (find flights) and request_booking (specialist contact) among the siblings.

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?

Gives the positive condition (customer will review and book themselves) and an explicit alternative with its triggering condition: 'Use request_booking instead if the customer wants a specialist to contact them.' Nothing is left to inference.

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

get_charter_estimateGet charter price estimateA
Read-onlyIdempotent
Inspect

Returns an indicative price range (min/max USD) for a private charter flight between two locations. Optionally filter by aircraft category and passenger count. When no category is specified, returns estimates for each aircraftCategory value that suits the route and group size.

ParametersJSON Schema
NameRequiredDescriptionDefault
originYesDeparture city or airport code (required), e.g. "Los Angeles" or "KLAX"
passengersNoNumber of passengers (used to filter suitable aircraft)
destinationYesArrival city or airport code (required), e.g. "New York" or "KJFK"
aircraftCategoryNoPreferred aircraft category. One of: TURBOPROP, LIGHT_JET, MID_SIZE_JET, SUPER_MID_SIZE_JET, HEAVY_JET, ULTRA_LONG_RANGE, VERY_LIGHT_JET. When omitted, estimates for all suitable categories are returned.

TDQS

A3.7/5.0
Behavior4/5

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

Annotations already declare readOnlyHint, idempotentHint and destructiveHint=false, so the safety profile is covered. The description adds value beyond them by disclosing the default branch behavior (all suitable categories returned when category is omitted) and the nature of the output (indicative min/max USD, not a firm quote).

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

Conciseness4/5

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

Three tight sentences, front-loaded with the purpose and output format. The final sentence duplicates the aircraftCategory schema description ('When omitted, estimates for all suitable categories are returned'), which is the only wasted clause.

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

Completeness4/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 correctly carries the return-value burden by naming the min/max USD range. Combined with 100% schema coverage and full annotation safety hints, an agent has what it needs; only the sibling-routing question remains unaddressed.

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 all four parameters are already documented, including the enum values and the 'used to filter suitable aircraft' note on passengers. The description only echoes the aircraftCategory omission behavior already stated in the schema, adding no new syntax or format guidance.

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

Purpose4/5

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

States a specific verb and resource (returns a price estimate for a private charter flight) plus the exact return shape (min/max USD range between two locations). The purpose is unmistakable, though it does not explicitly contrast itself with siblings like get_flight or search_empty_legs.

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

Usage Guidelines3/5

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

It explains the optional aircraftCategory filter and what happens when it is omitted, which is useful context for calling it. However, it never says when to reach for this tool instead of get_flight, request_booking, or search_empty_legs, leaving the routing decision to inference.

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

get_flightGet a single empty leg flight by idA
Read-onlyIdempotent
Inspect

Look up one empty leg flight by its id and return the same fields search_empty_legs returns: route, departure time, all-in price, aircraft type, available seats, amenities and a booking link. Use this to re-check a specific flight you found earlier. Returns a not-available message if the flight is no longer published.

ParametersJSON Schema
NameRequiredDescriptionDefault
flightIdYesThe flight id returned in the `flightId` field of a search_empty_legs result

TDQS

A4.5/5.0
Behavior5/5

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

Beyond the readOnly and idempotent annotations, the description discloses the exact response shape (same fields as search_empty_legs, with an enumerated list) and an important edge case: a not-available message if the flight is no longer published. This gives the agent useful expectations about the call's behavior.

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?

The description is three sentences, front-loads the core action, and every sentence earns its place: what it does, the returned fields, when to use it, and the stale-flight edge case. There is no redundant wording.

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?

For a simple single-parameter read-only lookup with no output schema, the description is complete: it specifies the input, the return fields, the usage context, and the not-found behavior. Sibling tools and annotations cover the remaining context.

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?

The schema already documents flightId fully, including its source in the search_empty_legs result, and schema coverage is 100%. The description adds no new parameter meaning beyond saying 'by its id,' so the baseline score of 3 is appropriate.

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 uses a specific verb ('Look up') and a precise resource ('one empty leg flight by its id'), and it clearly distinguishes this tool from the sibling search_empty_legs by noting it returns the same fields for a single known flight. The purpose is unambiguous and differentiated.

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?

The description gives a clear use case: re-check a specific flight found earlier via search_empty_legs. It implies the alternative (use search_empty_legs for finding flights) by naming that sibling, though it does not explicitly state when not to use this tool or list all alternative tools.

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

request_bookingRequest a charter bookingAInspect

Submit a charter flight booking request to SkyAccess. This sends the traveler's name, email and trip details (route, date, passengers and any notes) to SkyAccess so a specialist can follow up. A SkyAccess specialist will follow up with the requester by email shortly to confirm availability and pricing. No payment is taken and no booking is created: this only starts the enquiry. Privacy policy: https://skyaccess.com/privacy

ParametersJSON Schema
NameRequiredDescriptionDefault
nameYesFull name of the requester (required)
emailYesEmail address of the requester (required). A specialist will reply here.
notesNoOptional notes or special requests (e.g. catering, pet, preferred aircraft)
originYesDeparture city or airport (required), e.g. "Los Angeles" or "LAX"
passengersYesNumber of passengers (required)
destinationYesArrival city or airport (required), e.g. "Miami" or "KMIA"
departureDateYesDeparture date in ISO format (required), e.g. "2026-08-15"

TDQS

A3.9/5.0
Behavior4/5

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

Beyond the annotations (readOnlyHint=false, destructiveHint=false, idempotentHint=false, openWorldHint=false), the description adds real behavioral context: no payment is taken, no booking is created, and the follow-up happens by email. It does not mention that resubmitting creates a duplicate enquiry, which the idempotentHint=false implies.

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

Conciseness4/5

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

Front-loaded with the action, then the consequence, then the no-payment/no-booking caveat usefully placed before the privacy link. Tightly written, though the privacy URL sentence is boilerplate that adds little for tool selection.

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

Completeness4/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 carries the burden of telling the agent what happens after the call, and it does so (email follow-up from a specialist). Minor gap: it does not indicate what the tool returns or any handling of invalid/duplicate submissions.

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% and every field already documents itself, including examples and required status. The description only re-enumerates the same fields (route, date, passengers, notes) without adding format or validation guidance, so baseline 3 is appropriate.

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?

States a specific verb and resource ('Submit a charter flight booking request to SkyAccess') and immediately delimits scope: this starts an enquiry and does not create a booking. That distinguishes it from a true booking/handoff tool such as booking_handoff without needing to open either schema.

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

Usage Guidelines3/5

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

The description clarifies that this is an enquiry-only path and that a specialist follows up, which implies when to use it. However it never names an alternative sibling (e.g. get_charter_estimate for pricing, booking_handoff for confirmed bookings) or states a when-not condition, so routing is left largely to inference.

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

search_empty_legsSearch empty leg flightsA
Read-onlyIdempotent
Inspect

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 (shown on SkyAccess as "Contact for price"). Such flights are included even when max_price is set, because their price is unknown; they are not confirmed to be within the cap.

ParametersJSON Schema
NameRequiredDescriptionDefault
originNoDeparture city or airport code (e.g. "Los Angeles" or "LAX")
max_priceNoOptional price ceiling in USD (all-in customer price). Legs priced above this figure are excluded. Legs with no published price (price: null, shown as "Contact for price") are still included because their price is unknown; they are not confirmed to be within the cap.
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")

TDQS

A4/5.0
Behavior4/5

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

Annotations already cover the safety profile (readOnly, idempotent, non-destructive, closed-world), so the description's job is to add behavioral detail, which it does: up to 5 results returned, the exact result fields, and the non-obvious rule that price:null legs bypass the max_price cap. That null-price edge case is real behavior an agent could not predict from the schema alone.

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

Conciseness4/5

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

Three sentences, well front-loaded: purpose and filters first, return shape second, usage context third, with the max_price caveat last. Slightly redundant with the schema's max_price text, but nothing is wasteful.

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 supplies the return fields and the result cap, and it discloses the one surprising behavioral rule (unknown-priced legs included despite max_price). Combined with annotations covering safety, an agent has everything needed to call and interpret this tool.

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% and every parameter is documented in the schema, including the max_price null-price caveat, which the description largely restates. Baseline 3 is appropriate since the schema carries the parameter burden and the description adds no new syntax or format detail.

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?

States a specific verb and resource (search empty leg flights) plus the exact filter set. The siblings (get_flight, request_booking, booking_handoff, get_charter_estimate) are retrieval or booking tools, so the search-and-filter purpose is unambiguous without opening any schema.

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

Usage Guidelines3/5

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

"Use this to find discounted private jet availability for a specific route" implies the context of use, but there is no explicit when-not-to-use, no mention of when to prefer get_flight or get_charter_estimate, and no stated prerequisites. Adequate but leaves routing to inference.

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

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

  1. 3 tool updates
    • Changedget_charter_estimate2 fields changed
      • changedInput schema / properties / destination / description
        Previous value: -"Arrival city or airport code (required) — e.g. \"New York\" or \"KJFK\""New value: +"Arrival city or airport code (required), e.g. \"New York\" or \"KJFK\""
      • changedInput schema / properties / origin / description
        Previous value: -"Departure city or airport code (required) — e.g. \"Los Angeles\" or \"KLAX\""New value: +"Departure city or airport code (required), e.g. \"Los Angeles\" or \"KLAX\""
    • Changedrequest_booking4 fields changed
      • changedInput schema / properties / departureDate / description
        Previous value: -"Departure date in ISO format (required) — e.g. \"2026-08-15\""New value: +"Departure date in ISO format (required), e.g. \"2026-08-15\""
      • changedInput schema / properties / destination / description
        Previous value: -"Arrival city or airport (required) — e.g. \"Miami\" or \"KMIA\""New value: +"Arrival city or airport (required), e.g. \"Miami\" or \"KMIA\""
      • changedInput schema / properties / email / description
        Previous value: -"Email address of the requester (required) — a specialist will reply here"New value: +"Email address of the requester (required). A specialist will reply here."
      • changedInput schema / properties / origin / description
        Previous value: -"Departure city or airport (required) — e.g. \"Los Angeles\" or \"LAX\""New value: +"Departure city or airport (required), e.g. \"Los Angeles\" or \"LAX\""
    • Changedsearch_empty_legs1 field changed
      • changedInput schema / properties / max_price / description
        Previous value: -"Optional 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."New value: +"Optional price ceiling in USD (all-in customer price). Legs priced above this figure are excluded. Legs with no published price (price: null, shown as \"Contact for price\") are still included because their price is unknown; they are not confirmed to be within the cap."
  2. 5 tool updates
    • First observedbooking_handoff
    • First observedget_charter_estimate
    • First observedget_flight
    • First observedrequest_booking
    • First observedsearch_empty_legs

Related MCP Connectors

Related MCP Servers

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.