voidjet empty legs
Search current empty-leg private jet offers by route and date. No provider names; free.
Sollte ich dies verwenden
Qualität und Sicherheit
Basierend auf einer automatisierten Analyse der Tool-Definitionen und der Einhaltung des Protokolls.
Kontextkosten
Dies ist die ungefähre Anzahl der Tokens, die jedes Mal verbraucht werden, wenn die Tools des Servers in den Kontext eines Modells geladen werden. Höhere Werte verringern die Aufmerksamkeit, die für andere Aufgaben verfügbar ist.
Installieren
Installation mit einem Klick
Fügen Sie dies Ihrer Datei `claude_desktop_config.json` hinzu:
{
"mcpServers": {
"empty-legs": {
"url": "https://api.voidjet.io/agent/mcp"
}
}
}Remote-Endpunkte
https://api.voidjet.io/agent/mcpstreamable-httpWas es kann
Tool-Inventar
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.
Eingabe-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"
}Ausgabe-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.
Eingabe-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"
}Ausgabe-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.
Eingabe-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"
}Ausgabe-Schema
{
"type": "object",
"properties": {
"recorded": {
"title": "Recorded",
"type": "boolean"
},
"message": {
"title": "Message",
"type": "string"
}
},
"required": [
"recorded",
"message"
],
"title": "FeedbackResult"
}Community
Nachweis