{"name":"al.flytravel/travel-prices","slug":"flytravel-travel-prices","title":"Fly Travel Albania","description":"Cached charter package, hotel facts and tour prices from Fly Travel Albania (Tirana); party-aware.","url":"https://mcp.market/server/flytravel-travel-prices","rating":null,"grade":"C","score":65,"certified":false,"status":"active","category":"maps","tags":["maps"],"presence":{"score":8,"stars":null,"forks":null,"downloads_week":null,"last_push_at":null,"license":null},"uptime":{"percent":100,"checks":7,"ok":7,"last_checked_at":"2026-09-21T01:25:44.260Z","last_ok_at":"2026-09-21T01:25:44.260Z","latency_ms":175},"claimed":false,"transport":"remote","callable_via_gateway":true,"default_price_micros":0,"repository":null,"website":"https://flytravel.al/per-ai","version":"1.2.0","remotes":[{"type":"streamable-http","url":"https://flytravel.al/mcp"}],"packages":[],"tools":[{"name":"booking_link","description":"Deep link into the live charter search results for a destination, date, party and optional trip length — hand this URL to the user to see live availability and book. Children are ages 0-14 at departure; ages 15+ count as adults. Pure URL builder (no data).","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"destination":{"type":"string","description":"Destination key, e.g. 'antalya'."},"date":{"type":"string","pattern":"^\\d{4}-\\d{2}-\\d{2}$","description":"Departure date, format YYYY-MM-DD."},"adults":{"type":"integer","minimum":1,"maximum":6,"description":"Number of adults (default 2)."},"children_ages":{"type":"array","items":{"type":"integer","minimum":0,"maximum":17},"maxItems":6,"description":"Age of each child AT DEPARTURE (0-14 = child; 15+ is counted as an adult automatically)."},"nights":{"type":"integer","minimum":2,"maximum":21,"description":"Trip length in nights. Omit for the standard charter length (6 nights / 7 days). Most departures also sell 3-10 nights."}},"required":["destination","date"],"additionalProperties":false}},{"name":"charter_cheapest","description":"Cheapest flight+hotel charter packages from Tirana (Albania) per destination, from the live booking-engine cache (the 5 cheapest per destination, each on its own date). Use for \"what is the cheapest…\" only; for advice or filtering use charter_offers. CACHED prices (from recent real searches on flytravel.al — not a live query; every row carries cached_at/age_minutes). Charter prices are PACKAGE TOTALS in EUR for the row's \"party\" (flight + hotel + transfers), NOT per person. party_match=false means the price is the 2-adult reference, not the total for the requested party — say so. A price belongs ONLY to its own \"date\": never present it as the price of another date.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"destination":{"type":"string","description":"Optional destination key, e.g. 'antalya' or 'bodrum'. Omit to get every destination."}},"additionalProperties":false}},{"name":"charter_dates","description":"Real upcoming charter departure dates from Tirana for a destination (cached calendar), each with the trip lengths (nights_available) really on sale for that departure and a ready booking-search link. Filter with date_from/date_to or month; total_count/has_more say when the calendar holds MORE dates than returned — never present a capped list as the whole calendar. For \"which date is cheapest\" use charter_flexible_dates.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"destination":{"type":"string","description":"Destination key, e.g. 'antalya' or 'bodrum'."},"date_from":{"type":"string","pattern":"^\\d{4}-\\d{2}-\\d{2}$","description":"Only departures on/after this date (YYYY-MM-DD)."},"date_to":{"type":"string","pattern":"^\\d{4}-\\d{2}-\\d{2}$","description":"Only departures on/before this date (YYYY-MM-DD)."},"month":{"type":"string","pattern":"^\\d{4}-\\d{2}$","description":"Whole-month window, e.g. '2026-09' (ignored when date_from/date_to given)."},"limit":{"type":"integer","minimum":1,"maximum":60,"description":"Max dates to return (default 20)."},"adults":{"type":"integer","minimum":1,"maximum":6,"description":"Number of adults (default 2)."},"children_ages":{"type":"array","items":{"type":"integer","minimum":0,"maximum":17},"maxItems":6,"description":"Age of each child AT DEPARTURE (0-14 = child; 15+ is counted as an adult automatically)."},"nights":{"type":"integer","minimum":2,"maximum":21,"description":"Trip length in nights. Omit for the standard charter length (6 nights / 7 days). Most departures also sell 3-10 nights."}},"required":["destination"],"additionalProperties":false}},{"name":"charter_flexible_dates","description":"For flexible travellers: the lowest CACHED package total for each departure date inside a window (max 31 days) for a destination and party, plus best_value_date. Dates with no cache are returned as availability_status=no_cached_data — NOT as \"no offers\" (the cache only holds recently searched dates; the search_url prices them live). CACHED prices (from recent real searches on flytravel.al — not a live query; every row carries cached_at/age_minutes). Charter prices are PACKAGE TOTALS in EUR for the row's \"party\" (flight + hotel + transfers), NOT per person. party_match=false means the price is the 2-adult reference, not the total for the requested party — say so. A price belongs ONLY to its own \"date\": never present it as the price of another date.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"destination":{"type":"string","description":"Destination key, e.g. 'antalya' or 'bodrum'."},"date_from":{"type":"string","pattern":"^\\d{4}-\\d{2}-\\d{2}$","description":"Window start, YYYY-MM-DD (default today)."},"date_to":{"type":"string","pattern":"^\\d{4}-\\d{2}-\\d{2}$","description":"Window end, YYYY-MM-DD (default date_from + 14 days; max 31-day window)."},"stars_min":{"type":"integer","minimum":1,"maximum":5,"description":"Minimum hotel star rating (1-5)."},"budget_total_max":{"type":"integer","description":"Max TOTAL budget in EUR for the whole party."},"adults":{"type":"integer","minimum":1,"maximum":6,"description":"Number of adults (default 2)."},"children_ages":{"type":"array","items":{"type":"integer","minimum":0,"maximum":17},"maxItems":6,"description":"Age of each child AT DEPARTURE (0-14 = child; 15+ is counted as an adult automatically)."},"nights":{"type":"integer","minimum":2,"maximum":21,"description":"Trip length in nights. Omit for the standard charter length (6 nights / 7 days). Most departures also sell 3-10 nights."}},"required":["destination"],"additionalProperties":false}},{"name":"charter_hotel","description":"Cached price(s) for ONE hotel named by the user (e.g. \"Granada Luxury Belek\") — searches the full price cache (hundreds of hotels). ALWAYS pass the date and the party the user gave: the per-date cache is read for that EXACT party first (party_match=true = real total for that family), then the 2-adult file (party_match=false = reference price). exact_date_matches = real cached prices for the requested date; other_cached_offers belong to their OWN dates (availability_status=reference_other_date). When nothing is cached for the requested date, say so and give hotel_page (it prices any date live). Do NOT call this tool repeatedly to browse — use charter_offers (filters) or compare_hotels (2-6 named hotels) instead. For amenities use hotel_details. CACHED prices (from recent real searches on flytravel.al — not a live query; every row carries cached_at/age_minutes). Charter prices are PACKAGE TOTALS in EUR for the row's \"party\" (flight + hotel + transfers), NOT per person. party_match=false means the price is the 2-adult reference, not the total for the requested party — say so. A price belongs ONLY to its own \"date\": never present it as the price of another date.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"hotel":{"type":"string","description":"Hotel name, or part of it."},"destination":{"type":"string","description":"Optional destination key ('antalya', 'bodrum') to narrow the search."},"date":{"type":"string","pattern":"^\\d{4}-\\d{2}-\\d{2}$","description":"Desired departure date, format YYYY-MM-DD — exact-date cache is checked and the date is baked into the links."},"adults":{"type":"integer","minimum":1,"maximum":6,"description":"Number of adults (default 2)."},"children_ages":{"type":"array","items":{"type":"integer","minimum":0,"maximum":17},"maxItems":6,"description":"Age of each child AT DEPARTURE (0-14 = child; 15+ is counted as an adult automatically)."},"nights":{"type":"integer","minimum":2,"maximum":21,"description":"Trip length in nights. Omit for the standard charter length (6 nights / 7 days). Most departures also sell 3-10 nights."}},"required":["hotel"],"additionalProperties":false}},{"name":"charter_offers","description":"THE discovery tool: filters the whole cached charter inventory (hundreds of hotels) in ONE call by date, TOTAL budget, stars, board, zone, party and hotel features (aquapark, kids club, adults-only, beach, spa, luxury…). Built for \"I have X EUR for 2 adults + a child, Antalya, 5 stars, aquapark, near the beach — what do you suggest?\". Returns the price range, three quality tiers (economy-but-good / mid / premium) and a shortlist; advise from the tiers, never only the cheapest. Pass the date whenever the user has one (exact availability for that date) and the real party (exact-party cache is used when present). excluded_unknown_features tells how many hotels were dropped because their facilities are unknown. CACHED prices (from recent real searches on flytravel.al — not a live query; every row carries cached_at/age_minutes). Charter prices are PACKAGE TOTALS in EUR for the row's \"party\" (flight + hotel + transfers), NOT per person. party_match=false means the price is the 2-adult reference, not the total for the requested party — say so. A price belongs ONLY to its own \"date\": never present it as the price of another date.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"destination":{"type":"string","description":"Optional destination key ('antalya', 'bodrum'). Omit to search all."},"date":{"type":"string","pattern":"^\\d{4}-\\d{2}-\\d{2}$","description":"Departure date, format YYYY-MM-DD (recommended — exact availability for that date)."},"budget_total_max":{"type":"integer","description":"Max TOTAL budget in EUR for the whole party."},"budget_total_min":{"type":"integer","description":"Optional min total, to skip too-basic offers."},"stars_min":{"type":"integer","minimum":1,"maximum":5,"description":"Minimum hotel star rating (1-5)."},"board":{"type":"string","description":"Board filter substring, e.g. 'all inclusive', 'ultra'."},"zone":{"type":"string","description":"Zone/resort filter substring, e.g. 'Belek', 'Alanya', 'Lara', 'Side', 'Kemer'."},"limit":{"type":"integer","minimum":1,"maximum":24,"description":"Shortlist size (default 12)."},"adults":{"type":"integer","minimum":1,"maximum":6,"description":"Number of adults (default 2)."},"children_ages":{"type":"array","items":{"type":"integer","minimum":0,"maximum":17},"maxItems":6,"description":"Age of each child AT DEPARTURE (0-14 = child; 15+ is counted as an adult automatically)."},"nights":{"type":"integer","minimum":2,"maximum":21,"description":"Trip length in nights. Omit for the standard charter length (6 nights / 7 days). Most departures also sell 3-10 nights."},"family_friendly":{"type":"boolean","description":"true = only hotels with family facilities (kids club / kids pool / family rooms) and not adults-only."},"aquapark":{"type":"boolean","description":"true = only hotels with an aquapark / water park."},"kids_club":{"type":"boolean","description":"true = only hotels with a kids / mini club."},"adults_only":{"type":"boolean","description":"true = only adults-only hotels; false = EXCLUDE adults-only hotels (use false for any party with children)."},"beach":{"type":"boolean","description":"true = only hotels with a beach (own or nearby, per the hotel facts)."},"private_beach":{"type":"boolean","description":"true = only hotels listing a private / own beach."},"spa":{"type":"boolean","description":"true = only hotels with spa / Turkish bath / sauna."},"luxury":{"type":"boolean","description":"true = only hotels tagged luxury."}},"additionalProperties":false}},{"name":"compare_hotels","description":"Side-by-side comparison of 2-6 named hotels for a date and party: cached price (with party_match + cached_at), stars, zone, board, room, features (aquapark, kids club, beach, spa, adults-only…) and a booking link each — one call instead of several charter_hotel calls. Hotels not in the cache are listed in not_found (do NOT say they are unavailable — the cache only holds recently searched offers). CACHED prices (from recent real searches on flytravel.al — not a live query; every row carries cached_at/age_minutes). Charter prices are PACKAGE TOTALS in EUR for the row's \"party\" (flight + hotel + transfers), NOT per person. party_match=false means the price is the 2-adult reference, not the total for the requested party — say so. A price belongs ONLY to its own \"date\": never present it as the price of another date.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"hotels":{"type":"array","items":{"type":"string"},"minItems":2,"maxItems":6,"description":"Hotel names (or parts of them)."},"destination":{"type":"string","description":"Optional destination key ('antalya', 'bodrum')."},"date":{"type":"string","pattern":"^\\d{4}-\\d{2}-\\d{2}$","description":"Departure date, format YYYY-MM-DD (recommended)."},"adults":{"type":"integer","minimum":1,"maximum":6,"description":"Number of adults (default 2)."},"children_ages":{"type":"array","items":{"type":"integer","minimum":0,"maximum":17},"maxItems":6,"description":"Age of each child AT DEPARTURE (0-14 = child; 15+ is counted as an adult automatically)."},"nights":{"type":"integer","minimum":2,"maximum":21,"description":"Trip length in nights. Omit for the standard charter length (6 nights / 7 days). Most departures also sell 3-10 nights."}},"required":["hotels"],"additionalProperties":false}},{"name":"holiday_packages","description":"Our NON-charter holiday packages from Tirana (flight+hotel or bus+hotel: Corfu, Parga, Crete, Malta, Barcelona, Mallorca, Rimini…): which destinations are on sale right now, their validated upcoming departure dates, an INDICATIVE \"from €X per person\" price and the booking page link. The exact price depends on hotel/room/party and is computed live on the package page (link) — never present price_from as a bookable quote. For Turkey/Egypt beach charters (Antalya, Bodrum…) use the charter_* tools instead. Cached/validated data only, no live call.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"destination":{"type":"string","description":"Package destination key from the no-argument listing (e.g. 'korfuz', 'barcelona', 'kreta'). Omit to list every destination."},"date_from":{"type":"string","pattern":"^\\d{4}-\\d{2}-\\d{2}$","description":"Only departures on/after this date (YYYY-MM-DD)."},"date_to":{"type":"string","pattern":"^\\d{4}-\\d{2}-\\d{2}$","description":"Only departures on/before this date (YYYY-MM-DD)."}},"additionalProperties":false}},{"name":"hotel_details","description":"Static facts we hold about ONE charter hotel: stars, zone, provider-tagged categories, tri-state features (aquapark, kids_club, kids_pool, beach, private_beach, spa, adults_only, luxury, night_entertainment, water_slides — true/false/null where null = unknown), the facility list and a short description. FACTS ONLY: never claim a feature that is null/absent; distances to beach/airport are NOT available — do not estimate them. No prices here (use charter_hotel). Cache/DB read, no live call.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"hotel":{"type":"string","description":"Hotel name, or part of it."},"destination":{"type":"string","description":"Optional destination key ('antalya', 'bodrum')."}},"required":["hotel"],"additionalProperties":false}},{"name":"prices_digest","description":"Today's full machine-readable price digest (charter packages, tours, guides, FAQ) — same content as https://flytravel.al/llms-full.txt (cached, rebuilt hourly). Overview only; for any specific hotel/date/party use the charter_* tools.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{},"additionalProperties":false}},{"name":"tour_details","description":"Full cached details for ONE organized group tour: the COMPLETE departure-date calendar, the day-by-day program as text, duration, transport, and the per-person price. Match by `tour` (part of the name/cities, e.g. \"Stamboll\", \"Milano Como\") or exact `tour_id` from tours_list. Pass `date` + the party when the user has them: when that departure's group price is warm in cache you get the EXACT group total (price_status=cached_for_date); otherwise price_from is the PER PERSON price of the NEAREST departure (price_status=list_from) — every departure date has its OWN price, never quote one date's price for another; tour_page prices any date live. Answer date questions ONLY from departure_dates — it is the complete current calendar. Seats/availability are confirmed by staff. Cache/DB read, no live call.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"tour":{"type":"string","description":"Tour name or city, or part of it (e.g. \"Stamboll\", \"Dubai\")."},"tour_id":{"type":"integer","description":"Exact tour id from tours_list (preferred when known)."},"date":{"type":"string","pattern":"^\\d{4}-\\d{2}-\\d{2}$","description":"Desired departure date, YYYY-MM-DD — checked against the calendar and baked into tour_page."},"adults":{"type":"integer","minimum":1,"maximum":9,"description":"Number of adults (default 2)."},"children_ages":{"type":"array","items":{"type":"integer","minimum":0,"maximum":17},"maxItems":4,"description":"Age of each child, 0-11 (TOURS price 12+ as adults — a DIFFERENT bracket than charter packages)."}},"additionalProperties":false}},{"name":"tours_list","description":"Escorted group tours from Tirana with Albanian-speaking guides (cached catalogue): stable id, title, days/nights, cities, transport, next_departure and the PER PERSON price in EUR — unlike charter packages, tour prices are per person. For one tour's full calendar, program and date-specific price use tour_details.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"limit":{"type":"integer","minimum":1,"maximum":30,"description":"Max tours to return (default 10)."}},"additionalProperties":false}}],"scan":{"score":65,"grade":"C","scanned_at":"2026-09-20T20:13:02.576Z","report":{"scannerVersion":"0.1.9","scannedAt":"2026-09-20T20:13:02.581Z","components":{"code":{"score":-1,"max":25,"notes":["remote-only server, no package to scan"]},"reliability":{"score":17,"max":20,"notes":["remote reachable in 2153ms"]},"poisoning":{"score":15,"max":15,"notes":["12 tool descriptions checked"]},"auth":{"score":10,"max":15,"notes":["open endpoint, read-only tools"]},"maintenance":{"score":3,"max":15,"notes":["no repository listed"]},"identity":{"score":4,"max":10,"notes":["verified namespace with website, no repo"]}},"findings":[{"id":"maint.no-repo","severity":"low","component":"maintenance","title":"No source repository listed"}],"inputs":{"probes":[{"url":"https://flytravel.al/mcp","reachable":true,"authRequired":false,"latencyMs":2153,"serverInfo":{"name":"flytravel-albania","version":"1.2.0"}}],"packages":[],"repo":{"found":false},"icon":{"url":"https://flytravel.al/assets/img/icon-512.png","source":"registry","width":512,"height":512},"presence":{"stars":null,"forks":null,"downloadsWeek":null,"license":null,"lastPushAt":null,"score":8}}}},"grade_history":[],"reviews":[]}