{"schema_version":"2025-03-26","name":"serpradio","display_name":"SERP Radio - Flight Intelligence API","description":"Real-time flight deal intelligence, pricing signals, and editorial broadcast context for NYC metro airports (JFK, LGA, EWR).","auth":{"type":"none"},"endpoints":{"tool_manifest":"https://serpradio.com/api/mcp/tools","editorial_daily":"https://serpradio.com/api/mcp/editorial/daily","llms_txt":"https://serpradio.com/llms.txt","tool_schema_index":"https://serpradio.com/protocol/v1/tools/"},"tools":[{"name":"get_board_feed","description":"Live split-flap board of current flight deals from NYC airports. Returns routes with prices, momentum scores, and VET signals.","endpoint":"https://serpradio.com/api/board/feed","method":"GET","parameters":[]},{"name":"get_live_deals","description":"Current best flight deals across all monitored routes. Sorted by value score.","endpoint":"https://serpradio.com/api/book/live/deals","method":"GET","parameters":[]},{"name":"get_live_featured","description":"Editorially featured flight deals - curated highlights.","endpoint":"https://serpradio.com/api/book/live/featured","method":"GET","parameters":[]},{"name":"get_network_state","description":"Network overview including DEFCON, hot routes, and aggregate market mood.","endpoint":"https://serpradio.com/api/net-vet/state","method":"GET","parameters":[]},{"name":"get_route_view","description":"Detailed view of a single flight route including price history, best time to book, carrier breakdown, and narrative insights.","endpoint":"https://serpradio.com/api/route-view","method":"GET","parameters":[{"name":"origin","type":"string","required":true,"description":"Origin IATA code (e.g. JFK, LGA, EWR)"},{"name":"dest","type":"string","required":true,"description":"Destination IATA code (e.g. CUN, LHR, MIA)"}]},{"name":"get_route_enriched","description":"Extended enriched route data with editorial narrative, pricing signals, and market context.","endpoint":"https://serpradio.com/api/book/x/enriched/{origin}/{dest}","method":"GET","parameters":[{"name":"origin","type":"string","required":true,"description":"Origin IATA code"},{"name":"dest","type":"string","required":true,"description":"Destination IATA code"}]},{"name":"get_best_time_to_book","description":"Optimal booking windows for a route based on historical pricing patterns.","endpoint":"https://serpradio.com/api/routes/best-time-to-book","method":"GET","parameters":[{"name":"origin","type":"string","required":true,"description":"Origin IATA code"},{"name":"dest","type":"string","required":true,"description":"Destination IATA code"}]},{"name":"get_corridor","description":"Corridor intelligence between two airports - carrier mix, seasonal patterns, and competitive landscape.","endpoint":"https://serpradio.com/api/corridor/{origin}/{destination}","method":"GET","parameters":[{"name":"origin","type":"string","required":true,"description":"Origin IATA code"},{"name":"destination","type":"string","required":true,"description":"Destination IATA code"}]},{"name":"get_seo_destinations","description":"All available destination pages - browse the full route catalog with slug-based URLs.","endpoint":"https://serpradio.com/api/book/seo/destinations","method":"GET","parameters":[]},{"name":"get_trending","description":"Currently trending routes based on search demand and price movement.","endpoint":"https://serpradio.com/api/book/x/trending","method":"GET","parameters":[]},{"name":"get_airport","description":"Airport details, snapshot, available routes, airlines, and current deals.","endpoint":"https://serpradio.com/api/airports/{code}","method":"GET","parameters":[{"name":"code","type":"string","required":true,"description":"IATA airport code (e.g. JFK, CUN, BCN)"}]},{"name":"get_airport_deals","description":"Current deals available from or to a specific airport.","endpoint":"https://serpradio.com/api/airports/{code}/deals","method":"GET","parameters":[{"name":"code","type":"string","required":true,"description":"IATA airport code"}]},{"name":"get_signal_latest","description":"Latest market signals - price drops, momentum shifts, and anomaly detections across monitored routes.","endpoint":"https://serpradio.com/api/signal/latest","method":"GET","parameters":[]},{"name":"get_pricing","description":"Quick current pricing check for a specific monitored route.","endpoint":"https://serpradio.com/api/pricing/quick","method":"GET","parameters":[{"name":"origin","type":"string","required":true,"description":"Origin IATA code (e.g. JFK, LGA, EWR)"},{"name":"destination","type":"string","required":true,"description":"Destination IATA code (e.g. LHR, CUN, MIA)"}]},{"name":"get_seasonal","description":"Seasonal travel guide - best destinations for a given season with pricing context.","endpoint":"https://serpradio.com/api/seasonal/{season}","method":"GET","parameters":[{"name":"season","type":"string","required":true,"description":"Season slug: spring, summer, fall, winter, holidays"}]},{"name":"get_route_faq","description":"Frequently asked questions for a specific route generated from real pricing and schedule data.","endpoint":"https://serpradio.com/api/faq/route","method":"GET","parameters":[{"name":"origin","type":"string","required":true,"description":"Origin IATA code"},{"name":"dest","type":"string","required":true,"description":"Destination IATA code"}]},{"name":"get_flight_reliability","description":"Operational reliability profile for an airport computed from FAA NAS status + METAR history: calmest/busiest days of week, time blocks, IFR and ground-stop frequency. Deterministic government-data-backed facts — status 'pending' while history is still accumulating.","endpoint":"https://serpradio.com/api/v2/airports/{airport_code}/reliability","method":"GET","parameters":[{"name":"airport_code","type":"string","required":true,"description":"IATA airport code (e.g. JFK, LGA, EWR)"}]},{"name":"get_best_time_to_travel","description":"Cheapest-AND-pleasant month ranking for a destination: price seasonality joined with monthly climate normals (temperature, rain days). Returns sweet-spot months with per-month score breakdowns.","endpoint":"https://serpradio.com/api/v2/destinations/{destination_slug}/best-time-to-travel","method":"GET","parameters":[{"name":"destination_slug","type":"string","required":true,"description":"Destination slug (e.g. cancun, london)"}]},{"name":"get_route_reliability","description":"DOT/BTS on-time reliability for a specific route: overall on-time and cancellation rates, most/least reliable departure days, and per-carrier comparison. Deterministic US government ground truth — status 'pending' until enough monthly coverage exists.","endpoint":"https://serpradio.com/api/v2/routes/{origin}/{destination}/reliability","method":"GET","parameters":[{"name":"origin","type":"string","required":true,"description":"Origin IATA code (e.g. JFK, LGA, EWR)"},{"name":"destination","type":"string","required":true,"description":"Destination IATA code (e.g. MIA, CUN, LAX)"}]},{"name":"get_airport_ops_now","description":"Current operational status for an airport: FAA ground stops/delays, METAR flight category, visibility, wind — the live disruption picture.","endpoint":"https://serpradio.com/api/disruptions/{airport}","method":"GET","parameters":[{"name":"airport","type":"string","required":true,"description":"IATA airport code (e.g. JFK, LGA, EWR)"}]},{"name":"query_oracle","description":"Ask the SERP Radio oracle a natural-language question about flights, deals, or travel from NYC. Returns AI-generated insights grounded in live data.","endpoint":"https://serpradio.com/api/oracle/reading","method":"POST","parameters":[{"name":"text","type":"string","required":true,"description":"Natural language question about flights or travel","in":"body"}]},{"name":"get_system_status","description":"System health, pipeline state, and data freshness.","endpoint":"https://serpradio.com/api/system/status","method":"GET","parameters":[]},{"name":"capture_preference","description":"Capture user's phone number and route preferences for SMS briefing delivery from Eve. Call this when the user gives their phone number for briefing alerts.","endpoint":"https://serpradio.com/api/voice/capture-preference","method":"POST","parameters":[{"name":"phone_number","type":"string","required":true,"description":"User's phone number in E.164 format (e.g., +12125551234)","in":"body"},{"name":"corridors","type":"string","required":false,"description":"Comma-separated corridor tags (e.g., transatlantic,caribbean)","in":"body"},{"name":"origins","type":"string","required":false,"description":"Comma-separated origin IATA codes (e.g., JFK,EWR)","in":"body"}]},{"name":"get_daily_broadcast","description":"Latest published daily editorial broadcast edition, including hero, ticker, callouts, airport overlay, and public governance metadata for booking-window quality gates.","endpoint":"https://serpradio.com/api/mcp/editorial/daily","method":"GET","parameters":[],"response_fields":[{"name":"booking_window_signals[].gate_status","type":"enum|null","required":false,"description":"Public governance status for briefing quality gates. Null/absent means all gates passed. 'limited' means one validation gate fired and limitation language replaces the affected claim. 'hold_route' means multiple gates fired and the route is held from paid briefing publish."},{"name":"booking_window_signals[].reason_codes","type":"string[]","required":false,"description":"Machine-readable gate and action reason codes, including B1 evidence floor, B2 price-coherence, and F1 freshness outcomes when present."}]}],"discovery_pattern":{"type":"script-tag-plus-runtime","canonical_proof_surface":{"script_id":"serpradio-webmcp-context","script_type":"application/json","runtime_asset":"/islands/webmcp-shell.js","verifier":"/webmcp-verify.js"},"public_orientation":{"llms_txt":"/llms.txt","tool_schema_index":"/protocol/v1/tools/","tool_schema_template":"/protocol/v1/tools/{toolName}.schema.json"},"openapi_policy":{"public_discoverability_status":"retired","replacement":"/.well-known/mcp.json plus /protocol/v1/tools/","note":"OpenAPI is not the WebMCP/AEO authority for public browse agents."},"browser_native_api":{"status":"optional_future_lane","note":"navigator.modelContext is not required for discovery today. Browse agents should verify the server-rendered script context and runtime asset; browser-native registration is opportunistic when a client exposes it.","optional_lanes":["navigator.modelContext.provideContext","navigator.modelContext.registerTool"]},"required_context_fields":["page_type","canonical_url","source_template","tools"],"browser_callable_tools":{"findCheapestDirectRoutes":{"invocation":"window.serpradio.webmcp.invoke","schema":"/protocol/v1/tools/findCheapestDirectRoutes.schema.json","description":"Ranks direct SERPRadio routes by origin and destination region, answering questions such as cheapest direct Europe options from EWR/JFK/LGA.","data_sources":["/api/board/routes?limit=100","/api/book/seo/destinations"],"parameters":{"origins":"array of origin IATA codes","region":"destination region slug","limit":"maximum ranked routes to return"}}},"browser_callable_tool_schemas":{"getRouteIntelligence":"/protocol/v1/tools/getRouteIntelligence.schema.json","isThisAGoodDeal":"/protocol/v1/tools/isThisAGoodDeal.schema.json","compareCarriers":"/protocol/v1/tools/compareCarriers.schema.json","getBestBookingWindow":"/protocol/v1/tools/getBestBookingWindow.schema.json","findCheapestDirectRoutes":"/protocol/v1/tools/findCheapestDirectRoutes.schema.json","getPageContext":"/protocol/v1/tools/getPageContext.schema.json","listVisibleLinks":"/protocol/v1/tools/listVisibleLinks.schema.json","openCanonicalPage":"/protocol/v1/tools/openCanonicalPage.schema.json"},"page_family_affordances":{"homepage":{"tier":"tier_1","tools":["getNetworkPulse","getHomepageHotRoutes","openRoutePage","findCheapestDirectRoutes"]},"route":{"tier":"tier_1","tools":["getRouteIntelligence","isThisAGoodDeal","compareCarriers","getBestBookingWindow","findCheapestDirectRoutes"]},"route_best_time":{"tier":"tier_1","tools":["getRouteIntelligence","getBestBookingWindow","findCheapestDirectRoutes"]},"destination":{"tier":"tier_1","tools":["getDestinationIntelligence","getBestTimeToVisit","compareNycOrigins","findCheapestDirectRoutes"]},"destination_best_time":{"tier":"tier_1","tools":["getDestinationIntelligence","getBestTimeToVisit","compareNycOrigins","findCheapestDirectRoutes"]},"airport":{"tier":"tier_1","tools":["getDealsFromAirport","compareRoutesFromAirport","getAirportAirlineMix","findCheapestDirectRoutes"]},"static_navigation":{"tier":"tier_2","tools":["getPageContext","listVisibleLinks","openCanonicalPage","findCheapestDirectRoutes"]}}}}