WAY / Flight dispatcher MCP server
OPEN SOURCE / SELF-HOSTED / MCP SERVER
Real flights, dispatched.
Tell Waycrew the flight you want to fly and it finds a real airline schedule, waits for your approval, then generates your SimBrief plan. Every briefing starts with where to spawn and a simulation-grade takeoff N1 target with its range.
Run it on your own keys.
For flight simulation only. Never use any output of this project for real-world flight planning or aircraft operation. Waycrew does not connect to or control the simulator.
- Audience
- Infinite Flight pilots who want to fly real-world schedules and are comfortable self-hosting with their own ChatGPT plan, FlightAware AeroAPI key, SimBrief account with a Navigraph password, and Browserbase key.
- Problem
- Flying a real schedule means finding a flight that actually operates, filling in SimBrief by hand, and working out where to spawn and what thrust to set.
- Solution
- One agent handles the conversation while fixed tools handle flight lookup, the approval gate, SimBrief generation, plan matching and the thrust estimate. No SimBrief plan is generated until you approve the exact dispatch.
STATIC SAMPLE / NO NETWORK CALLS
Approve the dispatch. Read the briefing.
A local walk-through of the approval gate and the briefing it unlocks. The briefing values come from a live end-to-end run on October 31, 2026; the approval layout is illustrative. Nothing here contacts FlightAware, SimBrief, Browserbase or a model.
Dispatch leg 1 for approval
- Flight
- UA599 · KIAD → KDEN
- Departure
- Sched out 2026-11-01 17:20 EST (22:20Z)
- Aircraft
- A21N · LEAP-1A32
- Connection
- Single leg
- Thrust status
- FLEX estimate available · simulation-grade
Approving lets the agent fill SimBrief's dispatch form in a cloud browser and generate this plan once. Declining generates nothing.
UA599 KIAD → KDEN briefing
Gate C28
Historical: used by the most recent completed UA599 (2026-10-30, FlightAware). Today's gate is not assigned yet.
FLEX · N1 0.911 × full-thrust N1
LEAP-1A32. An estimate with a range, not verified aircraft data.
- Runways
- KIAD 01R → KDEN 16R
- Aircraft
- A21N LEAP-1A32
- Cruise
- FL360
- Distance
- 1259 nm
- ETE
- 03:27:38
- Block fuel
- 11872 kgs
- Runway
- 01R
- Flaps
- 1
- V1 / VR / V2
- 155 / 159 / 161
- Bleeds
- ON
Flight: UA599, real aircraft A21N. Departure: sched out 2026-11-01 17:20 EST (2026-11-01T22:20:00Z).
Nothing was generated.
No cloud browser opened and no SimBrief plan was created. You can then ask the agent for a different flight, time or aircraft, which comes back for a new approval.
01 / What it makes easier
What it does. Stated plainly.
The open-source flight dispatcher for Infinite Flight pilots. Describe a flight, approve the exact dispatch, and get a SimBrief plan plus a briefing that starts with where to spawn and the takeoff N1 to set.
Real flights only
It searches live and recent schedules through FlightAware AeroAPI and never invents a flight number. If today's gate isn't assigned yet, it gives the most recent operation's gate and labels it historical.
Approve before generating
You see the exact flight, airports, departure time, connection, aircraft and thrust status before a SimBrief plan is generated or a cloud browser opens. Flight research happens first, so AeroAPI requests billed to your key can occur before approval.
One SimBrief plan per approval
After you approve, it fills SimBrief's dispatch form in a Browserbase cloud browser, reads every field back, and clicks Generate once for that approved revision. It never repeats a Generate whose outcome is uncertain.
Takeoff N1 with a range
N1 targets come from SimBrief's takeoff solution and the lapse shape of FlyByWire's open A32NX thrust model. They are simulation-grade estimates; aircraft it can't model get a clear "unavailable" instead of a guess.
Whole trips and revisions
Each leg is dispatched and kept separately and must leave at least 45 minutes after the previous leg lands. Numbered revisions are each approved, generated and finalized on their own, and earlier plans are kept.
Track or stop a trip
Ask where a trip stands at any time, even after a server restart. Cancel stops the work at the next safe point and withdraws approvals not yet generated, while finished plans are kept. A Generate click already made is never undone or repeated.
02 / Working model
How it works. What was measured.
One agent handles the conversation while fixed tools handle flight lookup, the approval gate, SimBrief generation, plan matching and the thrust estimate. No SimBrief plan is generated until you approve the exact dispatch.
Describe
Ask in plain language, like "Dulles to Denver tomorrow evening in the A321neo." The agent looks up real flights and asks about anything it can't settle.
Approve
Review the exact dispatch and approve or decline it. Approval gates SimBrief generation; the gate refuses dispatches you shouldn't be asked to approve.
Brief
Get the generated SimBrief plan and a briefing that leads with spawn gate and takeoff thrust. It never claims your plan was imported, your aircraft spawned or your thrust was set.
On the production server, a private A20N trip generated KIAD→KEWR and KEWR→KIAD once each, in 39 and 38 browser seconds. A third leg's pending approval was cancelled and then refused; both finished briefings were kept and no browser was left running.
v0.5.1 checks passed with three Postgres-only skips. CI also builds the release image and starts the browser driver inside it, after v0.5.0 shipped a driver that could not run there.
The last two full runs of 100 scripted first messages passed every safety check. These are single runs, not performance statistics.
“Nothing goes to SimBrief until you approve the exact dispatch.”
03 / Product narrative
Product narrative
Waycrew is for pilots who want to fly real-world schedules without assembling them by hand. You describe the flight; it finds a flight that actually operates, asks you to approve the exact dispatch, fills in SimBrief for you, and hands back a briefing that starts with what you set first in the simulator.
What’s new
Summarized from the changelog. Every release is a vX.Y.Z tag with a GitHub Release.
- v0.5.1 — November 13, 2026. SimBrief generation works again after v0.5.0 shipped a browser driver that could not run in the deployed image; v0.5.0 was rolled back within the hour. A cancelled turn now reports
cancelled. CI starts the browser driver inside the release image so this cannot ship again. - v0.5.0 — November 13, 2026. Durable trip progress: a new
trip_progresstool reports every leg’s stage, the pending approval and anything uncertain, even after a restart. A newcancel_triptool stops work at the next safe point and withdraws approvals not yet generated. Each turn is bounded at 600 seconds. - v0.4.7 — November 12, 2026. Generate Flight is clicked directly after the form is filled, keeping SimBrief’s own route suggestion. Route Finder had hung past its wait on a transatlantic route, so generation never started.
What a briefing contains
- Spawn: the gate FlightAware reports, or the most recent operation’s gate labeled historical.
- Takeoff thrust: thrust mode and an N1 target with its range, or “unavailable” and why.
- Flight and departure: the real flight number and aircraft, or your private callsign, with scheduled and estimated departure in local time and UTC.
- SimBrief plan: runways, aircraft and engine, cruise level, distance, time en route, block fuel and takeoff weight, confirmed against the generated plan.
- Takeoff: runway, flaps, V-speeds and bleeds from SimBrief’s takeoff performance.
What you need
It is early-release, single-owner, self-hosted software. Bring your own ChatGPT plan, a FlightAware AeroAPI key, a SimBrief account with a Navigraph email and password, and a Browserbase API key. No credentials, hosted service or plan access are included. Run it from the terminal on one machine, or self-host the remote MCP server on Cloudflare behind Cloudflare Access. The agent guide and deployment guide cover setup.
The cloud browser signs in to SimBrief with your Navigraph credentials and keeps that login between runs, signing in again on demand when a session finds it signed out.
Evidence, dated
- November 13, 2026 — v0.5.1 production acceptance. A private three-leg A20N trip: KIAD–KEWR and KEWR–KIAD were approved leg by leg and generated once each (39 and 38 browser seconds); the third leg’s approval was cancelled and a later approval attempt was refused. Both finished briefings were kept and zero browsers were left active. Cancelling while a browser session is open, and the 600-second turn deadline, are covered by controlled tests but were not exercised live (release record).
- November 13, 2026 — release checks. 478 tests passed, with three Postgres-only skips. The 28 controlled MCP workflow cases, five trip-control cases and the original eight regression definitions are in place.
- October 31, 2026 — agent evaluation. Against 100 scripted first messages in 11 categories, two consecutive full runs passed every safety check: no invented flight numbers, no assumed dates, correct airports, and unsupported thrust disclosed before approval.
Status and limits
- Thrust targets are simulation-grade estimates. Zero of the 51 current Infinite Flight aircraft are verified against reference data (aircraft coverage).
- Client journeys are not yet acceptance-verified. The MCP server is built for clients such as ChatGPT, Claude and Codex, but each client’s own end-to-end journey has not yet passed acceptance.
- FlightAware research can cost money before approval. Approval gates SimBrief generation, not flight lookup.
- FlightAware only sees about two days ahead. Flights further out have no live schedule or gate.
- It does not connect to the simulator. It never claims your plan was imported, your aircraft spawned, or your thrust was set. A crew scheduler and a local flight engineer that reads Infinite Flight’s Connect API are on the roadmap, not built.
- For flight simulation only. Never use any output of this project for real-world flight planning or aircraft operation.
License
Waycrew is distributed under GPL-3.0-only. Its takeoff N1 estimator ports the thrust-limit lapse shape of FlyByWire’s GPL-3.0 A32NX model. Read the changelog for every release.