find_departure_windows
ChatGPTFind the best departure times for a route by running full PlaneWX briefings for a few candidate times (up to 3 per leg, 6 per ask), without saving trips. Use this when the pilot asks when to fly. Honors allowed_ranges (calendar free time) and optional constraints: latest arrival, arrive before sunset, day only, night only (for example to plan night landings), tighter crosswind, ceiling or visibility. When flight_rules or cruise_altitude_ft is omitted, uses the aircraft default_flight_rules and preferred altitude (EITHER falls back to the pilot's profile minimums, then VFR). Explicit args always win. Times that fail a time or daylight constraint are skipped before scoring and do not count. Scored windows that exceed a constraint are flagged in constraint_hits. Constraints never change the WX Score. Returns WX Scores, bands (Favorable, Marginal or Unfavorable), data_confidence beside each score, top_reasons, checked_with_no_deductions, checks, comparison_summary, performance (density altitude; TBM 900 runway performance when present, display-only and never scored; null when absent), forecast_basis, ete_basis, ETD, ETA, sun, and links, ranked best first, with fields ready to hand to a flight planning app. When top_reasons is empty, checked_with_no_deductions and checks explain the score. Each scored window counts 1 toward today's MCP briefings. If pending is greater than 0, call get_window_results with ask_id. Missing data is never good weather. Results include the full briefing links. Presents facts only; the pilot makes the go/no-go decision.
get_my_limits
ChatGPTRead the signed-in pilot's PlaneWX limits from the same counters that enforce them: plan and trial status (with trial end date), daily MCP scoring cap used and remaining with local reset time, candidates per leg per window search, the 10-minute burst limit, the read-tool rate limit, weekly refresh limit, saved and monitored trip plan limits, and the trial briefing pool when on trial. For trials, notes that paid Pro Plus gets the paid daily scoring cap. Daily used and remaining need a resolvable home time zone (home_timezone or home airport); without one, those fields are null and a timezone note is returned (scoring tools can still count usage by departure-airport zone). Call this when the pilot asks "What are my limits?". Does not score, does not spend a briefing, and never returns Self Debrief notes.
get_pilot_profile
ChatGPTRead the signed-in pilot's PlaneWX profile: plan, home airport, default aircraft, aircraft (tail number, type, and per-aircraft effective minimums), personal minimums (VFR and IFR sets), and MCP briefing usage for today. Values marked default are PlaneWX defaults (VFR 3000 ft / 5 SM, IFR 500 ft / 3 SM) and count as the pilot's minimums. Per-aircraft effective_minimums are the sets the WX Score uses for that tail before per-airport overrides (aircraft overrides win over pilot values). Logbook hours, currency and medical are not stored here. Does not build or score a briefing. For the full limit breakdown (daily scoring, burst, read rate, weekly refresh, trial pool), use get_my_limits.
get_trip_briefing
ChatGPTRead the latest stored PlaneWX briefing for one of the pilot's saved trips (owner only). Prefer this when explaining or discussing a saved trip so you report the same WX Score the PlaneWX app shows. Requires trip_id from list_trips. Returns the stored score, band (Favorable, Marginal or Unfavorable), no-go state, generated time and age, score breakdown, cautions, pre-flight checks, terminal weather, en-route hazards, and the other owner-visible briefing sections. Trip identity includes route (VIA string or Direct; never DCT when waypoints exist), structured waypoints, planned_altitude_ft (trip cruise altitude), and briefing_scored_altitude_ft (altitude the stored briefing was scored at; may differ from planned). Prefer those altitude labels over cruise_altitude_ft. Core includes notamSummary: a compact NOTAM summary with departure, arrival, alternates or diversions, en route, TFRs, and closed runways, each with source and effective start and end times. When notamSummary.truncated is true or omitted_parts includes notams, call again with part=notams for the full NOTAM section from the stored briefing. Also returns frats for the trip: by default only the latest FRAT (newest by saved time from created_at, ties broken by id). Pass include_frat_history true to include earlier FRATs newest first. Never recomputes a score and never fetches fresh weather. If truncated is true, call again with part set to an omitted_parts value (core, weather, enroute, notams, narrative, or extras). If there is no stored briefing, say so and do not call score_trip unless the pilot asks. Does not count toward the daily scoring cap. Presents facts only; the pilot makes the go/no-go decision.
get_window_results
ChatGPTRead stored results for a find_departure_windows ask_id. Use when the first call returned pending greater than 0, or to refresh ranked windows. Does not start new briefings and does not count toward the daily cap. Missing data is never good weather. Results include the full briefing links. Returns the same fields as find_departure_windows, including sun, checks, comparison_summary, performance (density altitude; TBM 900 runway performance when present, display-only and never scored; null when absent), forecast_basis, ete_basis, constraint_hits and skipped times. Presents facts only; the pilot makes the go/no-go decision.
list_trips
ChatGPTList the signed-in pilot's saved PlaneWX trips (owner only). status controls which trips: upcoming (default, ETD now or later), past (ETD before now), or all. Optional from and to narrow the list by ETD date (date only is read in the pilot's home time zone). Optional cursor pages through results using the next_cursor from a prior call; omit cursor for the first page. Optional limit (default 10, clamped 1 to 25, clamped 1 to 5 when include_details is true) and include_past_hours (upcoming only, default 0, clamped 0 to 24) for a just departed trip. Optional max_briefed_score (0 to 100) keeps only past rows whose briefed WX Score at ETD was at or below this value; rows with no briefed score are excluded; ignored for status upcoming. Returns trip_id values for get_trip_briefing, plus route (VIA waypoint string matching the app briefing header, or Direct only when there are truly no waypoints and no filed route; never report DCT when waypoints exist), structured waypoints, is_direct, aircraft, ETD in UTC and the pilot's home time zone (or the trip departure zone when home is unset), flight rules, stored WX Score and band (Favorable, Marginal or Unfavorable) from the latest briefing without re-scoring, last briefed time, monitored or paused, and a link to the trip. Upcoming rows include a short briefing_summary when the stored briefing has one. Past rows add briefed_wx_score (the WX Score at ETD from briefing history plus the current briefing timestamp, null when every candidate is after ETD), actual_vs_forecast (present only when a post flight debrief exists, otherwise not_available), flew (true only when the pilot submitted a Self Debrief, otherwise null, never false), and self_debrief. Default (compact) self_debrief includes private_notes capped at 300 characters with private_notes_truncated true when cut (false when null, empty, or within the cap). When past_details_unavailable is true, or actual_vs_forecast.reason is unavailable, that is a temporary read problem (for example the light history function is missing), not proof that no debrief or Self Debrief exists; briefed_wx_score may then reflect only the current briefing. Past includes archived trips (matching Past Flights). All includes archived only when the ETD is already past; future archived trips are treated like cancelled upcoming and omitted. Bounded by a one year lookback when from is omitted. Every trip includes frats, the pilot's saved FRAT risk assessments for that trip. By default only the latest FRAT per trip is returned (newest by saved time from created_at, ties broken by id). Pass include_frat_history true to get earlier FRATs too, newest first (capped). Each FRAT has overall_risk, recommendation, decision, and saved_at only when a final decision was recorded. An empty frats list means none were saved, unless frats_unavailable is true, which is a temporary read problem and not proof that none exist. include_details (default false) switches self_debrief and each FRAT from a short summary to every stored Self Debrief field and every FRAT answer step (Self Debrief strings including private_notes capped at 400 characters with private_notes_truncated true when cut; with include_frat_history at most 2 FRATs per trip), and clamps limit to 1 to 5. If the as-sent page would exceed the byte budget, trailing rows are dropped (page_trimmed_for_size true) and next_cursor resumes at the first dropped row. If the page is still over budget after every free-text shrink step, warning is response_over_budget with response_bytes. Example prompts: "What upcoming trips do I have?" and "Show my FRATs where I chose no-go this year". Sample past row with include_details true (fake ids): id 1001, route KGDJ to 8V2, etd_utc 2026-09-14T15:00:00.000Z, briefed_wx_score.score 58, briefed_wx_score.band Marginal, briefed_wx_score.source current_briefing, flew true, self_debrief with submitted_at 2026-09-14T22:10:00.000Z, flight_purpose personal, private_notes "Stable approach, light chop in cruise", private_notes_truncated false, phase_notes for cruise and landing, frats one entry id fr…
report_discrepancy
ChatGPTOptional feedback when a pilot or assistant sees a factual mismatch between PlaneWX and another briefing. Logs only the signed-in user id, a short free-text note, and an optional candidate_id or trip_id. Does not change scores, caps, or stored briefings.
resolve_airport
ChatGPTResolve an airport from a name, city, City ST, ICAO, or FAA id. Returns candidate matches with both icao and faa_id. When needs_choice is true, ask which airport is meant rather than guessing. Exact id hits with one match set needs_choice false. Use the returned id in later PlaneWX tools. When handing an airport to another app, give both icao and faa_id. Small airports with digits in the id often have no ICAO code.
save_candidate_as_trip
ChatGPTSave a scored MCP candidate as a normal PlaneWX trip. Requires the briefings permission. Copies route, departure time, aircraft, cruise altitude and flight rules from the candidate. Does not copy the candidate WX Score. The new trip gets its own fresh briefing under normal trip rules and schedule. Honors the same saved-trip plan limits as creating a trip in the app. Idempotent: saving the same candidate again returns the same trip.
score_trip
ChatGPTRun one full PlaneWX briefing for a route, departure time and aircraft, scored against the minimums the WX Score uses (aircraft overrides where set, else pilot), without saving a trip. Use this only when the pilot asks to re-score or refresh. For explaining a saved trip, use get_trip_briefing instead. Returns the WX Score, band (Favorable, Marginal or Unfavorable), data_confidence beside the score, top_reasons, checked_with_no_deductions (at 100), checks (every check that ran, including 0-point and shadow-only items), comparison_summary (ceiling, visibility, flight category, minimums, crosswind), performance (density altitude; TBM 900 runway performance when present, display-only and never scored; null when absent), forecast_basis, ete_basis, limits the forecast exceeds, ETD, ETE and ETA, sunrise and sunset, data time, and a link to the full briefing. When top_reasons is empty, checked_with_no_deductions and checks explain the score. comparison_summary fields mean weather was read. When flight_rules or cruise_altitude_ft is omitted, uses the aircraft default_flight_rules and preferred altitude (EITHER falls back to the pilot's profile minimums, then VFR). Explicit args always win. Optional constraints (latest arrival, arrive before sunset, day only, night only, tighter crosswind, ceiling or visibility) are checked and reported in constraint_hits. They never change the WX Score, and they can only be tighter than the minimums the WX Score uses. Pass constraint values only, never medical or logbook records. Counts 1 toward today's MCP briefings. If data_status is not ok, the score is not available yet. Missing data is never good weather. Results include the full briefing link. Presents facts only; the pilot makes the go/no-go decision.
find_departure_windows
Claudeget_pilot_profile
Claudeget_trip_briefing
Claudeget_window_results
Claudelist_trips
Claudereport_discrepancy
Clauderesolve_airport
Claudesave_candidate_as_trip
Claudescore_trip
Claude