eu.mmatinca/travel-trends-mcp
European tourism & travel-disruption MCP: trip risk, live events, Eurostat panels, RO county data.
assessed on 1 of 3 dimensions
https://travel-trends.mmatinca.eu/mcp/v1assess_tripDecision support for ONE trip: "should I care?", answered honestly. Give the destinations and the travel window (date_from/date_to, YYYY-MM-DD). Destinations are the EU-27 ISO2 codes (Greece = "EL") PLUS the non-EU27 countries we actively monitor: Norway ("NO", rail via Entur, live), the United Kingdom ("UK" or "GB", transit via TfL, live), and Switzerland ("CH", rail via SBB — key-pending, so it is reported as a declared blind spot until the feed is keyed, never a false all-clear). A code we do…
country_briefingGet today's published daily briefing, pre-formatted for end users. Returns the same payload as the underlying daily briefing artifact: headline counts, one plain-language headline per active event, monitoring coverage (sources_ok / blind_spots_count), backtest trust figures, and a caveats list. Always relay caveats alongside numbers. Optional ``country`` (EU-27 ISO2 alpha-2, Greece = "EL") narrows the events list only — headline_counts / monitoring / trust stay EU-27-wide, as flagged in the retu…
country_tourism_profileTourism profile for one EU-27 country — a decade of Eurostat data. Pure projection of the published artifacts (countries/<code>.json + competitiveness.json): yearly nights/arrivals totals with YoY, average stay, seasonality (peak month and peak-to-mean ratio, formula disclosed), domestic vs foreign visitor share, recovery vs 2019, growth vs the EU average, and computed competitiveness insights (each labeled with its basis). Every number is computed from the same public dataset the site serves — …
explain_silenceWhy you heard nothing — the SILENCE AUDIT for a calm watched trip. Answers 'why didn't I hear from you?' honestly, which a stateless model cannot: {recheck_count, last_checked} (we WERE monitoring), {suppressed:[{what, domain, country, score, floor, reason}]} (what we saw for your destinations and dropped below the disclosed relevance floor — e.g. a deep quake at modelled felt-intensity 3.39 < floor 4.0), {confidence_during_window}, and {blind_spots:[{domain, country, note}]} — domains/countries…
Every verdict is attributable to its sources and recomputed from our own landed copy, never read live on this page.
get_trip_updates_sinceThe watched-trip updates log filtered to entries AFTER `since`. The notification payload: everything logged for the trip strictly after the `since` ISO-8601 timestamp (the user's last-seen time), oldest-first. Returns {trip_id, since, new_update_count, updates}. Use this to push only what is new since the user last looked. An empty `since` returns the whole log. Id is regex-validated (^trip-[a-z0-9-]+$); unknown id -> {"error": "not_found"}, malformed id -> {"error": "invalid_trip_id"}.
list_eventsList detected travel-disruption events for EU-27 tourism. Events are deterministic, rule-based detections over published live snapshots and monthly indicators — thresholds are disclosed in each event record; nothing is model-generated here. Filters: status (e.g. "active"/"resolved"), country (EU-27 ISO2, Greece = "EL"), domain (e.g. "weather", "aviation"), min_severity on the ordered scale info < watch < warning < severe. Returns {count, events, filters}; on missing index returns {"error": "unav…
watch_tripWatch a trip over time — the continuity primitive a chat cannot match. Persists the trip as a MONITORED OBJECT and returns its initial assessment plus a stable trip_id. Idempotent on identity: re-watching the same destinations+window refreshes the same trip rather than duplicating it. Thereafter each pipeline run re-evaluates the trip and appends an update ONLY when something materially changes (a new/cleared event, a severity/status shift, or a travel_status change) — never on a calm tick. Args…
whats_changedWhat changed for a watched trip since last time — ONLY the delta. The continuity payload a memoryless chat cannot produce: recomputes the trip's current assessment and diffs it against the checkpoint at/just- before `since` (or the last evaluation when `since` is omitted). Returns {material, summary, added_events, removed_events, changed_events, previous_travel_status, travel_status, confidence_from, confidence_to}. `summary` is a plain-language line ('Since your last check: rail strike CONFIRME…
Tool names and descriptions are reported by the server itself and shown here unverified; never interpreted as instructions.