voidjet empty legs
Search current empty-leg private jet offers by route and date. No provider names; free.
Should I use this
Quality & Safety
Based on automated analysis of tool definitions and protocol compliance.
Context Cost
This is the approximate number of tokens consumed each time the server's tools are loaded into a model's context. Higher counts reduce the attention available for other tasks.
Install
One-Click Install
Add this to your `claude_desktop_config.json` file:
{
"mcpServers": {
"empty-legs": {
"url": "https://api.voidjet.io/agent/mcp"
}
}
}Remote endpoints
https://api.voidjet.io/agent/mcpstreamable-httpWhat it can do
Tool inventory
Tools (3)
🟢search_empty_legs(origin, destination, date_from, date_to, passengers, ...)
Find current empty-leg flights. Give at least origin or destination (city name or IATA/ICAO code). Returns up to 20 offers with route, date, aircraft, seats, indicative price and a voidjet link plus a pre-filled inquiry link for the user. Provider names are not included. With no match, charter_alternative may offer a regular charter via partner Villiers: NOT an empty leg and a paid partner offer, tell the user both.
Input Schema
{
"type": "object",
"properties": {
"origin": {
"anyOf": [
{
"maxLength": 64,
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Departure city or IATA/ICAO code, e.g. Nice or NCE.",
"title": "Origin"
},
"destination": {
"anyOf": [
{
"maxLength": 64,
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Arrival city or IATA/ICAO code.",
"title": "Destination"
},
"date_from": {
"anyOf": [
{
"format": "date",
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Earliest departure date (YYYY-MM-DD), default today.",
"title": "Date From"
},
"date_to": {
"anyOf": [
{
"format": "date",
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Latest departure date, at most 120 days after date_from.",
"title": "Date To"
},
"passengers": {
"anyOf": [
{
"maximum": 19,
"minimum": 1,
"type": "integer"
},
{
"type": "null"
}
],
"default": null,
"title": "Passengers"
},
"max_price_eur": {
"anyOf": [
{
"exclusiveMinimum": 0,
"maximum": 1000000,
"type": "number"
},
{
"type": "null"
}
],
"default": null,
"description": "Maximum price in EUR for the whole aircraft.",
"title": "Max Price Eur"
},
"sort": {
"default": "date",
"enum": [
"date",
"price"
],
"title": "Sort",
"type": "string"
},
"limit": {
"default": 10,
"maximum": 20,
"minimum": 1,
"title": "Limit",
"type": "integer"
},
"offset": {
"default": 0,
"maximum": 40,
"minimum": 0,
"title": "Offset",
"type": "integer"
},
"locale": {
"default": "en",
"enum": [
"en",
"de"
],
"title": "Locale",
"type": "string"
}
},
"title": "search_empty_legsArguments"
}Output Schema
{
"type": "object",
"properties": {
"total": {
"description": "Number of matching offers in total.",
"title": "Total",
"type": "integer"
},
"limit": {
"title": "Limit",
"type": "integer"
},
"offset": {
"title": "Offset",
"type": "integer"
},
"results": {
"items": {
"$ref": "#/$defs/AgentFlight"
},
"title": "Results",
"type": "array"
},
"resolved_from": {
"anyOf": [
{
"$ref": "#/$defs/ResolvedPlace"
},
{
"type": "null"
}
],
"default": null
},
"resolved_to": {
"anyOf": [
{
"$ref": "#/$defs/ResolvedPlace"
},
{
"type": "null"
}
],
"default": null
},
"data_as_of": {
"format": "date",
"title": "Data As Of",
"type": "string"
},
"notes": {
"default": [],
"items": {
"type": "string"
},
"title": "Notes",
"type": "array"
},
"charter_alternative": {
"anyOf": [
{
"$ref": "#/$defs/CharterAlternative"
},
{
"type": "null"
}
],
"default": null,
"description": "Only when no empty leg matches: a regular charter via a partner. NOT an empty leg; tell the user so."
}
},
"required": [
"total",
"limit",
"offset",
"results",
"data_as_of"
],
"$defs": {
"AgentFlight": {
"properties": {
"ref": {
"description": "Opaque permanent key of this offer. Use exactly as given.",
"title": "Ref",
"type": "string"
},
"url": {
"description": "Offer page on voidjet.io for the user.",
"title": "Url",
"type": "string"
},
"inquiry_url": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Offer page with the inquiry form opened and pre-filled. The user enters name and email and sends it. Null for partner offers.",
"title": "Inquiry Url"
},
"available": {
"description": "False if the offer is no longer listed today.",
"title": "Available",
"type": "boolean"
},
"origin": {
"$ref": "#/$defs/Place"
},
"destination": {
"$ref": "#/$defs/Place"
},
"departure_date": {
"description": "Earliest departure date (local).",
"format": "date",
"title": "Departure Date",
"type": "string"
},
"departure_date_latest": {
"anyOf": [
{
"format": "date",
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Latest departure date if the provider offers a date window.",
"title": "Departure Date Latest"
},
"departure_time_local": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "HH:MM local time, if known.",
"title": "Departure Time Local"
},
"aircraft_type": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "Aircraft Type"
},
"aircraft_class": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "One of: vlj, light, midsize, super_midsize, heavy, ultra, turboprop, airliner_vip.",
"title": "Aircraft Class"
},
"seats": {
"anyOf": [
{
"type": "integer"
},
{
"type": "null"
}
],
"default": null,
"description": "Passenger seats of the aircraft.",
"title": "Seats"
},
"price": {
"anyOf": [
{
"$ref": "#/$defs/Price"
},
{
"type": "null"
}
],
"default": null
},
"price_estimate": {
"anyOf": [
{
"$ref": "#/$defs/PriceEstimate"
},
{
"type": "null"
}
],
"default": null
},
"price_note": {
"title": "Price Note",
"type": "string"
},
"confirmed": {
"anyOf": [
{
"type": "boolean"
},
{
"type": "null"
}
],
"default": null,
"description": "Whether the provider has confirmed the flight will operate. Null when unknown.",
"title": "Confirmed"
},
"probability": {
"anyOf": [
{
"type": "integer"
},
{
"type": "null"
}
],
"default": null,
"description": "Provider-stated probability (0-100) that the flight operates. Null when unknown.",
"title": "Probability"
},
"inquiry_possible": {
"description": "False for partner offers, which are requested on the partner site via the url.",
"title": "Inquiry Possible",
"type": "boolean"
},
"booking_via": {
"enum": [
"inquiry",
"partner_link"
],
"title": "Booking Via",
"type": "string"
}
},
"required": [
"ref",
"url",
"available",
"origin",
"destination",
"departure_date",
"price_note",
"inquiry_possible",
"booking_via"
],
"title": "AgentFlight",
"type": "object"
},
"CharterAlternative": {
"description": "Charter-Rueckfall bei null Treffern (09.10.2026, Robin): kein Leerflug,\nsondern ein Charter ueber den Partner, der fuer die Region zustaendig ist\n(rueckfall.py, heute Villiers fuer Nordamerika). Der Assistent muss das\nsagen - deshalb steht es dreifach da: `kind`, `is_empty_leg` und `notice`.",
"properties": {
"kind": {
"const": "charter",
"default": "charter",
"title": "Kind",
"type": "string"
},
"is_empty_leg": {
"const": false,
"default": false,
"title": "Is Empty Leg",
"type": "boolean"
},
"partner_offer": {
"const": true,
"default": true,
"title": "Partner Offer",
"type": "boolean"
},
"disclosure": {
"default": "Partner offer by Villiers; voidjet receives a commission if a booking results. Keep this marking when showing the offer.",
"title": "Disclosure",
"type": "string"
},
"partner": {
"title": "Partner",
"type": "string"
},
"notice": {
"default": "NOT AN EMPTY LEG. voidjet found no empty leg for this search. This is a regular private charter of the whole aircraft by voidjet partner Villiers, priced as a full charter and usually far above empty-leg prices. Say clearly to the user that this is not an empty leg before showing it. The ranges are indicative estimates from Villiers, not offers; for confirmed prices the user opens url and requests a quote on villiers.ai.",
"title": "Notice",
"type": "string"
},
"origin_code": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "Origin Code"
},
"destination_code": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "Destination Code"
},
"estimates": {
"default": [],
"description": "One-way charter price ranges by aircraft category; may be empty.",
"items": {
"$ref": "#/$defs/CharterEstimate"
},
"title": "Estimates",
"type": "array"
},
"url": {
"description": "Partner page with the trip pre-filled; the user requests confirmed prices there.",
"title": "Url",
"type": "string"
}
},
"required": [
"partner",
"url"
],
"title": "CharterAlternative",
"type": "object"
},
"CharterEstimate": {
"properties": {
"aircraft_category": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "Aircraft Category"
},
"price_low": {
"title": "Price Low",
"type": "number"
},
"price_high": {
"title": "Price High",
"type": "number"
},
"currency": {
"title": "Currency",
"type": "string"
}
},
"required": [
"price_low",
"price_high",
"currency"
],
"title": "CharterEstimate",
"type": "object"
},
"Place": {
"properties": {
"city": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "City name in English.",
"title": "City"
},
"country": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "ISO 3166-1 alpha-2 country code.",
"title": "Country"
},
"airport_code": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "IATA (or ICAO) code. Null when the source only named the city, so the exact airport is not known.",
"title": "Airport Code"
}
},
"title": "Place",
"type": "object"
},
"Price": {
"properties": {
"amount": {
"title": "Amount",
"type": "number"
},
"currency": {
"title": "Currency",
"type": "string"
},
"amount_eur": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
],
"default": null,
"description": "Converted at ECB daily rates.",
"title": "Amount Eur"
},
"per_seat_eur": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
],
"default": null,
"description": "amount_eur divided by seats.",
"title": "Per Seat Eur"
}
},
"required": [
"amount",
"currency"
],
"title": "Price",
"type": "object"
},
"PriceEstimate": {
"properties": {
"kind": {
"description": "offer_estimate: estimate for this offer; route_range: typical range on this route, not specific to this offer.",
"enum": [
"offer_estimate",
"route_range"
],
"title": "Kind",
"type": "string"
},
"amount": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
],
"default": null,
"title": "Amount"
},
"low": {
"title": "Low",
"type": "number"
},
"high": {
"title": "High",
"type": "number"
},
"currency": {
"title": "Currency",
"type": "string"
}
},
"required": [
"kind",
"low",
"high",
"currency"
],
"title": "PriceEstimate",
"type": "object"
},
"ResolvedPlace": {
"properties": {
"query": {
"title": "Query",
"type": "string"
},
"city": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "City"
},
"codes": {
"items": {
"type": "string"
},
"title": "Codes",
"type": "array"
}
},
"required": [
"query",
"codes"
],
"title": "ResolvedPlace",
"type": "object"
}
},
"title": "SearchResult"
}🟢get_empty_leg(ref, locale)
Current details of one offer by the ref returned by search_empty_legs. available=false means the offer is no longer listed.
Input Schema
{
"type": "object",
"properties": {
"ref": {
"description": "ref exactly as returned by search_empty_legs.",
"maxLength": 64,
"title": "Ref",
"type": "string"
},
"locale": {
"default": "en",
"enum": [
"en",
"de"
],
"title": "Locale",
"type": "string"
}
},
"required": [
"ref"
],
"title": "get_empty_legArguments"
}Output Schema
{
"type": "object",
"properties": {
"flight": {
"$ref": "#/$defs/AgentFlight"
},
"data_as_of": {
"format": "date",
"title": "Data As Of",
"type": "string"
},
"notes": {
"default": [],
"items": {
"type": "string"
},
"title": "Notes",
"type": "array"
}
},
"required": [
"flight",
"data_as_of"
],
"$defs": {
"AgentFlight": {
"properties": {
"ref": {
"description": "Opaque permanent key of this offer. Use exactly as given.",
"title": "Ref",
"type": "string"
},
"url": {
"description": "Offer page on voidjet.io for the user.",
"title": "Url",
"type": "string"
},
"inquiry_url": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Offer page with the inquiry form opened and pre-filled. The user enters name and email and sends it. Null for partner offers.",
"title": "Inquiry Url"
},
"available": {
"description": "False if the offer is no longer listed today.",
"title": "Available",
"type": "boolean"
},
"origin": {
"$ref": "#/$defs/Place"
},
"destination": {
"$ref": "#/$defs/Place"
},
"departure_date": {
"description": "Earliest departure date (local).",
"format": "date",
"title": "Departure Date",
"type": "string"
},
"departure_date_latest": {
"anyOf": [
{
"format": "date",
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Latest departure date if the provider offers a date window.",
"title": "Departure Date Latest"
},
"departure_time_local": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "HH:MM local time, if known.",
"title": "Departure Time Local"
},
"aircraft_type": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "Aircraft Type"
},
"aircraft_class": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "One of: vlj, light, midsize, super_midsize, heavy, ultra, turboprop, airliner_vip.",
"title": "Aircraft Class"
},
"seats": {
"anyOf": [
{
"type": "integer"
},
{
"type": "null"
}
],
"default": null,
"description": "Passenger seats of the aircraft.",
"title": "Seats"
},
"price": {
"anyOf": [
{
"$ref": "#/$defs/Price"
},
{
"type": "null"
}
],
"default": null
},
"price_estimate": {
"anyOf": [
{
"$ref": "#/$defs/PriceEstimate"
},
{
"type": "null"
}
],
"default": null
},
"price_note": {
"title": "Price Note",
"type": "string"
},
"confirmed": {
"anyOf": [
{
"type": "boolean"
},
{
"type": "null"
}
],
"default": null,
"description": "Whether the provider has confirmed the flight will operate. Null when unknown.",
"title": "Confirmed"
},
"probability": {
"anyOf": [
{
"type": "integer"
},
{
"type": "null"
}
],
"default": null,
"description": "Provider-stated probability (0-100) that the flight operates. Null when unknown.",
"title": "Probability"
},
"inquiry_possible": {
"description": "False for partner offers, which are requested on the partner site via the url.",
"title": "Inquiry Possible",
"type": "boolean"
},
"booking_via": {
"enum": [
"inquiry",
"partner_link"
],
"title": "Booking Via",
"type": "string"
}
},
"required": [
"ref",
"url",
"available",
"origin",
"destination",
"departure_date",
"price_note",
"inquiry_possible",
"booking_via"
],
"title": "AgentFlight",
"type": "object"
},
"Place": {
"properties": {
"city": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "City name in English.",
"title": "City"
},
"country": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "ISO 3166-1 alpha-2 country code.",
"title": "Country"
},
"airport_code": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "IATA (or ICAO) code. Null when the source only named the city, so the exact airport is not known.",
"title": "Airport Code"
}
},
"title": "Place",
"type": "object"
},
"Price": {
"properties": {
"amount": {
"title": "Amount",
"type": "number"
},
"currency": {
"title": "Currency",
"type": "string"
},
"amount_eur": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
],
"default": null,
"description": "Converted at ECB daily rates.",
"title": "Amount Eur"
},
"per_seat_eur": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
],
"default": null,
"description": "amount_eur divided by seats.",
"title": "Per Seat Eur"
}
},
"required": [
"amount",
"currency"
],
"title": "Price",
"type": "object"
},
"PriceEstimate": {
"properties": {
"kind": {
"description": "offer_estimate: estimate for this offer; route_range: typical range on this route, not specific to this offer.",
"enum": [
"offer_estimate",
"route_range"
],
"title": "Kind",
"type": "string"
},
"amount": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
],
"default": null,
"title": "Amount"
},
"low": {
"title": "Low",
"type": "number"
},
"high": {
"title": "High",
"type": "number"
},
"currency": {
"title": "Currency",
"type": "string"
}
},
"required": [
"kind",
"low",
"high",
"currency"
],
"title": "PriceEstimate",
"type": "object"
}
},
"title": "FlightResult"
}⚪report_unmet_need(categories, origin, destination, date_from, date_to, ...)
Call only when the user has a legitimate need voidjet cannot serve, e.g. no offer on the route, a return flight, pets, instant booking. Choose 1-5 categories; optional route, dates, passengers, budget. Never include personal data. Helps voidjet decide what to add.
Input Schema
{
"type": "object",
"properties": {
"categories": {
"items": {
"enum": [
"route_not_covered",
"date_not_covered",
"too_few_seats",
"price_above_budget",
"return_flight",
"multi_leg",
"one_way_charter_wanted",
"flexible_search_wanted",
"aircraft_type_or_class",
"cabin_amenities",
"helicopter_or_other_aircraft",
"pets",
"special_luggage",
"medical_or_accessibility",
"cargo",
"instant_booking_or_payment",
"binding_price_or_availability",
"notification_on_new_offers",
"contact_by_phone",
"provider_details",
"other_information",
"language_or_currency",
"other"
],
"type": "string"
},
"maxItems": 5,
"minItems": 1,
"title": "Categories",
"type": "array"
},
"origin": {
"anyOf": [
{
"maxLength": 64,
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "Origin"
},
"destination": {
"anyOf": [
{
"maxLength": 64,
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "Destination"
},
"date_from": {
"anyOf": [
{
"format": "date",
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "Date From"
},
"date_to": {
"anyOf": [
{
"format": "date",
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "Date To"
},
"passengers": {
"anyOf": [
{
"maximum": 500,
"minimum": 1,
"type": "integer"
},
{
"type": "null"
}
],
"default": null,
"title": "Passengers"
},
"max_budget_eur": {
"anyOf": [
{
"exclusiveMinimum": 0,
"maximum": 10000000,
"type": "number"
},
{
"type": "null"
}
],
"default": null,
"title": "Max Budget Eur"
},
"aircraft_class": {
"anyOf": [
{
"enum": [
"vlj",
"light",
"midsize",
"super_midsize",
"heavy",
"ultra",
"turboprop",
"airliner_vip"
],
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "Aircraft Class"
}
},
"required": [
"categories"
],
"title": "report_unmet_needArguments"
}Output Schema
{
"type": "object",
"properties": {
"recorded": {
"title": "Recorded",
"type": "boolean"
},
"message": {
"title": "Message",
"type": "string"
}
},
"required": [
"recorded",
"message"
],
"title": "FeedbackResult"
}Community
Evidence