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.
| Transport | Streamable HTTP |
|---|---|
| Auth | None — read-only surface |
| Read tools | 5 · no key |
| Write tools | 2 · not built |
| Airports | 847 |
| Aircraft | 25 |
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.
| Tool | Arguments | Returns | Auth |
|---|---|---|---|
| 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.
Reference
- llms.txt for AI crawlers
- sitemap.xml 1,710+ URLs
- Fleet reference