AviationHS

HS hangar sourcing Quote engine v1 MCP streamable http Contracted operators part 135

mcp.aviationhs.org/mcp · streamable http

The quote engine, as a protocol.

5 read-only tools, no key and no account. Same computation as every page on this site — ask the server what a trip costs and you get the number the page would have shown you.

Server
TransportStreamable HTTP
AuthNone — read-only surface
Read tools5 · no key
Write tools2 · not built
Airports847
Aircraft25

Connect

Any MCP client. The read-only surface needs nothing — no signup, no key, no rate limit worth mentioning. That is deliberate: an assistant that has to ask for credentials before it can price a flight will never price a flight.

{
  "mcpServers": {
    "aviationhs": { "url": "https://mcp.aviationhs.org/mcp" }
  }
}

Tools

Every tool returns a reason alongside its result. A refusal that does not say why is a bug.

MCP tool reference
ToolArguments ReturnsAuth
search_airportsFind a US airport by name, city, ICAO or IATA code — or every field within reach of one, filtered by usable runway length. query? · near_icao? · within_nm? · min_runway_ft? · state? · limit? Airport[] public
list_aircraftThe reference fleet with published range, cruise, wingspan and balanced field length, plus an indicative hourly range. pax? · min_range_nm? · max_wingspan_ft? · class? Aircraft[] public
check_runwayWhether one aircraft can use one field, accounting for elevation and any published wingspan or weight limit. icao · aircraft { status, needed_ft, available_ft, reason } public
estimate_flight_timeGreat-circle distance with the standard routing allowance, divided by published cruise, plus ground time — and whether the leg needs a fuel stop. from · to · aircraft { distance_nm, block_time_h, fuel_stop } public
get_quotePrice a trip: every aircraft in the reference fleet that carries the party, with the ones that cannot use either runway excluded and the reason given. from · to · pax? · date? Quote public
create_trip_requestOpens a request against a quote. Creates a lead for a human broker — never a booking, never a payment. quote_id · contact · notes? { request_id, status } not built
get_request_statusWhere a request stands once a broker has taken it to contracted operators. request_id { status, operator?, confirmed_price? } not built
list_empty_legsRepositioning legs already contracted, with the discount against a full charter. from? · to? · after? · before? EmptyLeg[] not built

Nothing on this server can book a flight. The write tools open a request that a human broker takes to a contracted operator. Price, aircraft and operator are confirmed in writing before anything is owed. An assistant can assemble the request; a person signs it.

Every tool description carries the broker disclosure required by 14 CFR Part 295, so an assistant relaying a price to a passenger relays the caveat with it.

REST, for everything that is not an agent

The same engine over plain HTTP, described by an OpenAPI 3.1 document at /v1/openapi.json.

curl "https://api.aviationhs.org/v1/quote?from=KTEB&to=KASE&pax=6"

{
  "distance_nm": 1503,
  "available": 6,
  "excluded": [
    { "aircraft": "Gulfstream G650ER",
      "reason": "wingspan 99.6 ft exceeds the 95 ft limit at KASE" },
    { "aircraft": "Global 7500",
      "reason": "wingspan 104 ft exceeds the 95 ft limit at KASE" }
  ],
  "options": [ ... ],
  "disclaimer": "Indicative broker estimate. AviationHS is an air charter broker
                 under 14 CFR Part 295, not a direct air carrier."
}

Embed it

Concierge desks, family offices, hotel and event apps run the quote engine under their own brand and keep a share of the booking. The widget is one script tag; the MCP server is one URL.