Altivo Jets
Server Details
Live private jet empty legs, charter estimates in 12 countries and quote requests.
- Status
- Healthy
- Last Tested
- Transport
- Streamable HTTP · MCP 2025-11-25
- URL
- Repository
- prateek7779-maker/altivo-mcp
- GitHub Stars
- 0
- Server Listing
- Altivo Jets MCP Server
TDQS
Scored across 9 tools
The tools are mostly well-differentiated: reference lists (markets, aircraft, routes, operators), pricing (get_charter_estimate, get_empty_leg, search_empty_legs) and enquiry paths (request_quote, booking_handoff) are distinct, and descriptions explicitly call out boundaries like estimate vs quote. The only mild overlap is request_quote vs booking_handoff, since both are booking-request paths, but the read-only vs desk-handoff distinction is spelled out.
Nearly all names follow a clean verb_noun snake_case pattern (find_operators, get_charter_estimate, list_markets, request_quote, search_empty_legs). booking_handoff breaks the pattern with no verb and a noun_noun form, a minor deviation in an otherwise consistent set.
Nine tools sit squarely in the well-scoped range and each maps to a distinct facet of the charter-booking domain. No filler or redundant tools are apparent, and the surface is neither thin nor bloated.
Coverage is strong for an information-and-enquiry surface: markets, aircraft, routes, operators, estimates, empty-leg search and re-read, quote requests, and self-booking handoff are all present. Minor gaps exist around retrieving a submitted quote's status or operator-specific detail, but core traveller workflows are covered.
Available Tools
9 toolsbooking_handoffGet the booking link for an empty legARead-onlyIdempotentInspect
Return the altivojets.com page where the traveller reviews an empty leg and sends the booking request themselves. Read-only: creates no booking, hold or payment and sends no details to Altivo.
| Name | Required | Description | Default |
|---|---|---|---|
| ref | Yes | Leg reference from search_empty_legs. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly/idempotent/non-destructive, and the description adds value beyond them by enumerating what does NOT happen: no booking, hold, or payment is created and no traveller details are sent to Altivo. That data-sharing and side-effect disclosure is exactly the context annotations cannot carry.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two tight sentences with zero filler; the core action is front-loaded and the safety caveat follows immediately. Nothing could be cut without losing information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple read-only link generator with no output schema and a fully documented single param, the description is nearly complete. Minor gaps remain: it doesn't state that the return value is a URL/link, nor anything about link validity or expiry.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Only one parameter, and schema coverage is 100% ('Leg reference from search_empty_legs' already documents origin and format). The description adds nothing about the ref beyond what the schema says, so the baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource: returns the altivojets.com page for reviewing an empty leg and submitting a booking request. It clearly distinguishes itself from siblings like search_empty_legs (find legs) and request_quote (agent-initiated booking) by making the self-service handoff explicit.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is implied rather than stated: the traveller sends the request themselves, which contrasts with request_quote, but no sibling is named and no explicit when-to-use condition (e.g. 'call after search_empty_legs when the traveller wants to book directly') is given.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
find_operatorsFind licensed charter operatorsARead-onlyIdempotentInspect
Licensed charter operators from the regulators' published lists, by market, base city or aircraft size: name, base city, licence type, fleet size and models, and the profile page. For trips, use request_quote; the desk sources and books through these operators.
| Name | Required | Description | Default |
|---|---|---|---|
| city | No | Optional base city. | |
| limit | No | How many (1 to 25, default 10). | |
| market | No | Market by country, e.g. "India", "US", "UK", "UAE" (list_markets has the full list). Optional. | |
| category | No | Optional size. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already establish readOnly, idempotent and non-destructive behavior, so the bar is lower; the description still adds meaningful context by stating the data comes from regulators' published lists and that bookings are sourced through these operators. It omits pagination/limit behavior, but the value-add beyond the annotations is real.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences with no filler: the first front-loads what is returned and how it can be filtered, the second immediately routes the agent elsewhere for trips. Nothing is padded or repeated.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
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 return-value burden and does so by enumerating the fields returned, including the profile page. It also names the sibling to use for booking, leaving little an agent needs beyond the already-complete input schema.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
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 in the schema with defaults, bounds and an enum. The description restates the filter axes (market, base city, aircraft size) without adding format or constraint detail, which is the expected baseline when the schema does the heavy lifting.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names the exact resource (licensed charter operators), its provenance (regulators' published lists), the filter dimensions (market, base city, aircraft size) and the returned fields (name, base city, licence type, fleet, profile page). It is clearly distinct from request_quote, though it never addresses the potential overlap with list_aircraft and fleet models.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
"For trips, use request_quote" gives an explicit alternative plus the condition that selects it, and the closing clause explains the relationship between the two tools. It offers no guidance on when to prefer this over list_aircraft or get_charter_estimate, so it stops short of full when/when-not coverage.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_charter_estimateEstimate a private charterARead-onlyIdempotentInspect
Indicative full-charter price by aircraft size, one-way or return, in the local currency of the departure market: price range before taxes, estimated taxes, an all-in range, flight time and fuel stops, with the recommended size. Uses the same rates and rules as the altivojets.com calculator. An estimate, not a quote: the operator's quote confirms positioning, landing and handling.
| Name | Required | Description | Default |
|---|---|---|---|
| date | No | Departure date, YYYY-MM-DD (applies seasonal pricing). | |
| origin | Yes | Departure city or airport, e.g. "Mumbai", "BOM", "VABB", "Teterboro" or "KTEB". | |
| currency | No | Optional 3-letter currency for an indicative conversion. | |
| passengers | No | Number of passengers (default 4). | |
| destination | Yes | Arrival city or airport, e.g. "Mumbai", "BOM", "VABB", "Teterboro" or "KTEB". | |
| return_date | No | Return date for a round trip, YYYY-MM-DD. | |
| aircraft_category | No | Optional size. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly/idempotent/non-destructive, so the bar is lower; the description still adds real context: pricing is indicative and excludes the exclusions named (positioning, landing, handling), rates mirror the public altivojets.com calculator, and currency follows the departure market. It does not cover auth, rate limits, or latency, so it is not a 5.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three sentences, front-loaded with the pricing scope before the output inventory and the estimate-vs-quote caveat. Dense but nearly every clause carries information; the enumeration of outputs is long but necessary in the absence of an output schema.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
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 return-shape burden and discharges it fully by listing every return field, plus the estimate/quote caveat. For a read-only 7-param tool with full schema coverage, nothing an agent needs to invoke it correctly is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the baseline is 3, but the description adds meaning the schema does not: the default currency is the local currency of the departure market unless the currency param overrides it, and the price is driven by aircraft size and one-way vs. return. These map to aircraft_category, return_date, and currency beyond the schema's own wording.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb+resource ('indicative full-charter price') and enumerates the exact outputs: price range before taxes, estimated taxes, all-in range, flight time, fuel stops, recommended size. This clearly separates it from siblings like request_quote and find_operators, which 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.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The closing sentence gives explicit positioning: 'An estimate, not a quote: the operator's quote confirms positioning, landing and handling.' This tells the agent when this tool is the right choice versus a firm quote. It stops short of naming the request_quote sibling directly, so the routing is clear but not fully explicit.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_empty_legGet one empty legARead-onlyIdempotentInspect
Re-read one live empty leg by the ref a search returned, priced for the party size. Says it is no longer available once booked, withdrawn or flown.
| Name | Required | Description | Default |
|---|---|---|---|
| ref | Yes | Leg reference from search_empty_legs, e.g. "EL-3F5967". | |
| currency | No | Optional 3-letter currency for an indicative conversion. | |
| passengers | No | Number of passengers. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover read-only, idempotent, non-destructive and closed-world, so the description's added value is the availability semantics: the record is 'live' and 'says it is no longer available once booked, withdrawn or flown'. That tells the agent to expect a stale/invalid outcome rather than a hard error — genuine context beyond the structured hints, though it omits what an unavailable result looks like.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two tight sentences with zero filler: the identity and lookup key come first, the availability caveat second. Nothing is repeated from the title and every clause carries information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema the description must hint at the return: it discloses that pricing is party-size dependent and that the leg can report as unavailable. What the response actually contains (fields, aircraft, route) is left unstated, a minor gap for a single-record fetch.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so baseline is 3; the description earns a bump by tying 'priced for the party size' to `passengers`, explaining that party size affects the returned price — a causal link the schema does not state. `currency` and the exact ref format remain schema-only.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource ('Re-read one live empty leg') plus the keying mechanism ('by the `ref` a search returned'), which implicitly distinguishes it from search_empty_legs and booking_handoff. It stops short of naming the sibling outright, but an agent can still tell what this does.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is implied rather than stated: 'the `ref` a search returned' tells the agent a prior search is required, and the schema confirms search_empty_legs is the source. There is no explicit when-not guidance or mention of alternatives such as re-running the search instead of re-reading.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_aircraftList aircraft sizes and ratesBRead-onlyIdempotentInspect
Aircraft sizes (turboprops to heavy jets and helicopters) with seats, range, the market's indicative hourly rate and the models most flown there by licensed operators.
| Name | Required | Description | Default |
|---|---|---|---|
| market | No | Market by country, e.g. "India", "US", "UK", "UAE" (list_markets has the full list). Optional. | |
| category | No | Optional size. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, and openWorldHint=false, so the safety profile is covered. The description adds that rates are 'indicative', which is useful context, but does not disclose pagination, full return shape, or filtering behavior beyond what the schema implies.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single efficient sentence that front-loads the resource and enumerates attributes. No redundancy, though it could be slightly more structured with a leading verb.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description gives a reasonable idea of return fields (seats, range, rate, models) but omits pagination and the exact format. For a listing tool with annotations covering safety, it is adequately but not richly complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so both parameters are already documented, including the enum for category and the market example. The description adds that the market is the market where models are most flown, but does not explain the filter semantics beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states the resource (aircraft sizes) and its attributes (seats, range, hourly rate, models), and names the specific category range. It doesn't explicitly differentiate from siblings like get_charter_estimate or find_operators, but the resource is clearly distinct.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No explicit when-to-use or when-not-to-use guidance, and no alternatives named. The schema indicates both parameters are optional, implying a broad listing, but the description does not state that it returns all aircraft when unfiltered.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_marketsList marketsBRead-onlyIdempotentInspect
Countries Altivo Jets serves, each with its currency, home aviation regulator and licence, and the local site and empty legs page.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, destructiveHint=false and openWorldHint=false, so the safety profile is fully covered. The description's added value is the shape of the returned data (fields per market), but it says nothing about caching, stability of the market list, or auth requirements, so it adds only modest context.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single compact sentence with no filler, and the most informative part (what each market entry contains) is front-loaded. It is a noun fragment rather than a complete statement of action, a minor structural weakness.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
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 describing return values, and it does enumerate the fields returned per market. For a static, well-bounded reference list that is close to sufficient, though it omits ordering, count, or whether pagination applies.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool takes no parameters, and the schema confirms an empty object with additionalProperties false, so there is nothing for the description to clarify. Baseline 4 applies for a zero-parameter tool.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names the resource (countries Altivo Jets serves) and enumerates the payload (currency, aviation regulator and licence, local site and empty legs page). The listing verb is only implied by the name rather than stated, and it does not explicitly distinguish itself from siblings like list_routes or find_operators, though the resource set is clearly disjoint.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use or when-not-to-use guidance and no named alternative among the siblings. For a zero-parameter enumeration tool the invocation is unambiguous, but the description leaves the agent to infer the context entirely.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_routesList popular routesARead-onlyIdempotentInspect
Popular private jet routes by market, ordered by search demand, each with a from price, typical aircraft, flight time, live empty legs on the route and its altivojets.com guide page.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | How many routes (1 to 50, default 25). | |
| market | No | Market by country, e.g. "India", "US", "UK", "UAE" (list_markets has the full list). Optional. | |
| origin | No | Optional departure city or airport, e.g. "Mumbai", "BOM", "VABB", "Teterboro" or "KTEB". |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare this a safe, idempotent, non-destructive read, so the description's job is to add context—and it does: results are ordered by search demand and each entry carries a from price, typical aircraft, flight time, live empty legs, and a guide page URL. With no output schema, this disclosure of return shape is the main behavioral value it provides.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single densely packed sentence with the resource and ordering front-loaded and no filler. The trailing enumeration of fields is long but each item is informative for an agent that has no output schema.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a read-only, zero-required-parameter list tool with annotations covering the safety profile, the description supplies the missing return-shape information that the absent output schema would otherwise carry. The remaining gap is routing guidance toward the empty-leg and market siblings, which is not covered anywhere.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so limit, market, and origin are already fully documented with examples and defaults. The description adds only the implied 'by market' filtering dimension, which the schema already states—baseline 3.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a concrete resource ('popular private jet routes'), its scoping dimension ('by market'), and its ordering ('by search demand'), so an agent can tell it apart from list_markets or search_empty_legs. It reads more as a description of the returned collection than as an action verb, and no sibling is named explicitly, which keeps it just short of a 5.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use or when-not-to-use guidance and no alternative tool is named, even though siblings like list_markets and search_empty_legs overlap in subject matter. Usage must be inferred entirely from the fact that it lists popular routes.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
request_quoteRequest a charter quote or empty leg bookingAInspect
Send the traveller's trip and contact details to the Altivo Jets desk, for a full charter or a specific empty leg (empty_leg_ref). A specialist contacts the traveller by email or phone to confirm aircraft, availability and the all-in price, and names the operator on the quote. No payment is taken and nothing is booked or held by this call. Use only when the traveller asks Altivo to contact them, and confirm their name and email first.
| Name | Required | Description | Default |
|---|---|---|---|
| date | Yes | Departure date, YYYY-MM-DD. | |
| name | Yes | Traveller's full name. | |
| Yes | Traveller's email; the desk replies here. | ||
| notes | No | Optional notes: luggage, pets, catering, timing. | |
| phone | No | Traveller's phone with country code (optional, speeds up the reply). | |
| origin | Yes | Departure city or airport, e.g. "Mumbai", "BOM", "VABB", "Teterboro" or "KTEB". | |
| passengers | Yes | Number of passengers. | |
| destination | Yes | Arrival city or airport, e.g. "Mumbai", "BOM", "VABB", "Teterboro" or "KTEB". | |
| return_date | No | Return date for a round trip, YYYY-MM-DD. | |
| empty_leg_ref | No | Optional: the empty leg reference the traveller wants. | |
| aircraft_category | No | Optional preferred size. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations declare readOnlyHint=false, openWorldHint=true, idempotentHint=false, destructiveHint=false, but say nothing about consequences. The description adds real value by stating no payment is taken and nothing is booked or held, and that a human specialist follows up to confirm aircraft, availability, price and operator. It does not warn that repeated calls create duplicate requests (idempotentHint=false), which is the one notable remaining gap.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Four tight sentences, front-loaded with what the tool does, followed by the outcome, then the negative constraints, then the usage condition. No filler and each sentence carries distinct information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For an 11-parameter, non-read-only request tool with no output schema, the description covers the essential unknowns: what is sent, who acts next, that no money or hold is involved, and the precondition for calling. Nothing an agent needs in order to call this correctly is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the baseline is 3. The description adds selection semantics beyond the schema by explaining that empty_leg_ref switches the request to a specific empty leg rather than a general charter, and that name/email are the confirmation channel — useful framing the field-level descriptions do not establish.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource: send trip/contact details to the Altivo Jets desk for a full charter or a specific empty leg. It also disambiguates from siblings like get_charter_estimate and booking_handoff by making clear this is a request-for-contact rather than a price lookup or a completed booking.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Gives a clear precondition — 'Use only when the traveller asks Altivo to contact them, and confirm their name and email first' — plus the selector between modes (full charter vs. specific empty leg via empty_leg_ref). It does not explicitly name the alternative tools (e.g., get_charter_estimate for instant pricing), so it falls short of full routing guidance.
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 flightsARead-onlyIdempotentInspect
Search live empty leg flights (whole aircraft, discounted repositioning flights) by origin, destination, date window, passengers, market and an optional price ceiling. Returns up to limit legs (default 5, max 20) with route, departure window, aircraft and seats, the whole-aircraft price in local currency, estimated taxes, an all-in estimate, the full-charter comparison and a booking link. Operators are not named on empty legs. Inventory changes constantly; re-run rather than reuse old results.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | How many legs to return (1 to 20, default 5). | |
| market | No | Market by country, e.g. "India", "US", "UK", "UAE" (list_markets has the full list). Optional. | |
| origin | No | Departure city or airport, e.g. "Mumbai", "BOM", "VABB", "Teterboro" or "KTEB". | |
| date_to | No | Latest departure date, YYYY-MM-DD. | |
| currency | No | Optional 3-letter currency to add an indicative conversion and to read max_price in, e.g. USD or EUR. | |
| date_from | No | Earliest departure date, YYYY-MM-DD. | |
| max_price | No | Price ceiling for the whole aircraft, in `currency` when given, else in each leg's own currency. | |
| passengers | No | Number of passengers (legs with fewer seats are excluded). | |
| destination | No | Arrival city or airport, e.g. "Mumbai", "BOM", "VABB", "Teterboro" or "KTEB". |
TDQS
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 earns credit by adding things annotations cannot: results cap at limit (default 5, max 20), prices are whole-aircraft in local currency with estimated taxes and an all-in estimate, operators are deliberately withheld, and inventory churns so results should be re-run rather than cached. That is substantive behavioral context beyond the structured fields.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three sentences, front-loaded with the what/where, then what comes back, then the freshness rule. Dense but each clause carries information. The long enumeration of return fields is slightly list-heavy, though it is doing real work given there is no output schema.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
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 compensates by enumerating the returned fields (route, departure window, aircraft, seats, price, taxes, all-in, charter comparison, booking link). The one gap is that all nine parameters are optional, yet the description never states which inputs are effectively needed to get meaningful results (e.g. origin/destination/date window).
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
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 all nine parameters including formats, bounds and examples; the baseline of 3 applies. The description merely restates the high-level dimensions and the default/max limit, adding no format or interaction detail beyond what the schema provides.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource ('Search live empty leg flights') and immediately defines the domain term parenthetically as 'whole aircraft, discounted repositioning flights'. The description also scopes the search axes (origin, destination, date window, passengers, market, price ceiling), which cleanly distinguishes it from the single-record sibling get_empty_leg and the pricing sibling get_charter_estimate.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is implied by the search axes and by the note that operators are not named, which tells the agent when this tool won't answer a 'which operator' question. However, no sibling is named and no explicit when-to-use / when-not-to-use condition is given (e.g. 'use get_empty_leg once you have a specific leg id, use get_charter_estimate for non-empty-leg pricing').
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.
9 tool updates
- First observed
booking_handoff - First observed
find_operators - First observed
get_charter_estimate - First observed
get_empty_leg - First observed
list_aircraft - First observed
list_markets - First observed
list_routes - First observed
request_quote - First observed
search_empty_legs
Related MCP Connectors
Instant private jet charter price estimates and confirmed live quotes, worldwide.
Search 5,000+ live empty leg flights, get charter estimates and booking links. Free, no API key.
Search empty-leg private jet offers; prepare inquiries and alerts the user confirms by email.
Ferry-flight price estimates + aircraft, airport, FAA-registry, route & live-flight data.
Related MCP Servers
AlicenseNot gradedqualityAmaintenanceEnables AI clients to search discounted private-jet empty-leg flights, retrieve flight details, obtain booking links, estimate charter prices, and submit charter enquiries.44 npm1MIT- AlicenseAqualityCmaintenanceGive AI agents the ability to search private jets, compare aircraft, get quotes, and submit charter requests through natural language.714 npmMIT
- AlicenseNot gradedqualityCmaintenanceProvides live ADS-B aircraft positions and enables searching by registration, ICAO hex, or callsign, viewing nearby traffic sorted by distance, finding the closest aircraft, filtering by type or military status, and looking up airport information.MIT
- FlicenseNot gradedqualityDmaintenanceEnables users to find the best ski resort snow conditions worldwide and search for flights to get there.-
Glama MCP Gateway
Add one secure layer between your agents and this server.