Fly Travel Albania
REMOTE · FLYTRAVEL.AL
Cached charter package, hotel facts and tour prices from Fly Travel Albania (Tirana); party-aware.
Available components
Last scanned (7 hours ago)
Scores higher than 87% of remote servers
Reachable. Last reached 5 Nov 2026.
Category Maps and Location
How this component scores in each security and reliability category. Every signal is checked automatically against the live server, and we only credit what we can confirm. How we score → Why this is hard to score →
Endpoint Security80
- The endpoint's TLS certificate is valid, in date, and uses a strong key. View diagnostics → Pass
- No authorisation is required to call this server. Every tool declares its destructiveHint and none is destructive, so open access doesn't expose one. See how to fix → View diagnostics → Partial
- HTTPS is enforced; there's no plaintext access path. View diagnostics → Pass
- The HSTS (Strict-Transport-Security) header is present. View diagnostics → Pass
- DNSSEC check failed: this domain isn't protected by DNSSEC. See how to fix → View diagnostics → Fail
Transport & Reachability100
- Verified streamable-http transport via a live MCP handshake. View diagnostics → Pass
Schema Quality & AI Usability66
- AI-judged instruction clarity (excellent).Pass
- Context-footprint check failed: tool/resource definitions use about 3739 tokens (~311/item across 12 items; 12 tools + 0 resources), over budget; trim descriptions and params. See how to fix → Fail
- Usage-examples check failed: none of the tools include examples. See how to fix → Fail
Stability & Change Management97
- Stability observed for 29 of 30 days with no destabilising changes; credit accrues until the full window elapses.Partial
Tool Coverage100
- 100% of tools have a non-trivial description (not blank, and not just the tool's name).Pass
- 100% of tool parameters carry a description.Pass
Tool Safety100
- No prompt-injection markers were found in the server instructions, tool names or descriptions we captured.Pass
- We read all 12 captured tool definition(s), and no name or description among them implies an irreversible operation.Pass
- An AI judge read all 13 captured unit(s) of tool text and found none that tries to manipulate the model reading it.Pass
Capabilities40
- Spec-recency check failed: implements MCP spec 2025-03-26; the latest is 2026-07-28. See how to fix → Fail
Every change we have recorded for this component, newest first. Security-relevant changes are always shown. ▲ marks a change for the better, ▼ a change for the worse; unmarked changes are neutral.
- 5 Nov 26 0
- Stability: pass → 0.97 functional
- 28 Sept 26 0
- We updated how we score, so this day's move reflects our rubric, not a change to the server See what changed → functional
- 25 Sept 26 0
- We updated how we score, so this day's move reflects our rubric, not a change to the server See what changed → functional
- 14 Sept 26 0
- Stability: 0.97 → pass security
- 31 Aug 26 0
- The server rewrote its instructions, which are the text every model session reads security
- Tool “booking_link” rewrote its description, which is the text the model reads security
- Tool “charter_cheapest” rewrote its description, which is the text the model reads security
- Tool “charter_dates” rewrote its description, which is the text the model reads security
- Tool “charter_hotel” rewrote its description, which is the text the model reads security
- Tool “charter_offers” rewrote its description, which is the text the model reads security
- Tool “prices_digest” rewrote its description, which is the text the model reads security
- Tool “tours_list” rewrote its description, which is the text the model reads security
- Schema quality: 144 → 311 ▼ functional
- Server version: 1.0.0 → 1.2.0 functional
- New tool “charter_flexible_dates” functional
- New tool “compare_hotels” functional
- New tool “holiday_packages” functional
- New tool “hotel_details” functional
- New tool “tour_details” functional
- “booking_link” added an optional parameter “nights” cosmetic
- “charter_dates” added an optional parameter “adults” cosmetic
- “charter_dates” added an optional parameter “children_ages” cosmetic
- “charter_dates” added an optional parameter “date_from” cosmetic
- “charter_dates” added an optional parameter “date_to” cosmetic
- “charter_dates” added an optional parameter “limit” cosmetic
- “charter_dates” added an optional parameter “month” cosmetic
- “charter_dates” added an optional parameter “nights” cosmetic
- “charter_hotel” added an optional parameter “nights” cosmetic
- “charter_offers” added an optional parameter “adults” cosmetic
- “charter_offers” added an optional parameter “adults_only” cosmetic
- “charter_offers” added an optional parameter “aquapark” cosmetic
- “charter_offers” added an optional parameter “beach” cosmetic
- “charter_offers” added an optional parameter “children_ages” cosmetic
- “charter_offers” added an optional parameter “family_friendly” cosmetic
- “charter_offers” added an optional parameter “kids_club” cosmetic
- “charter_offers” added an optional parameter “luxury” cosmetic
- “charter_offers” added an optional parameter “nights” cosmetic
- “charter_offers” added an optional parameter “private_beach” cosmetic
- “charter_offers” added an optional parameter “spa” cosmetic
- “booking_link” reworded the description of “children_ages” cosmetic
- “charter_hotel” reworded the description of “children_ages” cosmetic
- “charter_hotel” reworded the description of “date” cosmetic
- “charter_offers” reworded the description of “budget_total_max” cosmetic
- “charter_offers” reworded the description of “zone” cosmetic
- Tool “charter_offers” changed its title: Browse offers by date & budget (advisor) → Browse & filter offers (advisor, one call) cosmetic
- 26 Aug 26 0
- We updated how we score, so this day's move reflects our rubric, not a change to the server See what changed → functional
- 16 Aug 26 0
- Stability: unverified → 0.03 ▲ functional
- 15 Aug 26 0
First indexed and scored.
Diagnostic detail from the automated scan of this channel: what the scanner observed at each step, so you can see exactly where a check passed or failed. It is informational only and never changes the trust score.
Captured 5 Nov 2026 · Probed https://flytravel.al/mcp
TLS valid
Negotiated TLS 1.3 with TLS_AES_128_GCM_SHA256 .
| Subject | Issuer | Valid from | Valid until | Key | Signature | Serial |
|---|---|---|---|---|---|---|
| CN=flytravel.al | CN=WE1,O=Google Trust Services,C=US | 14 Oct 2026 | 12 Jan 2027 | ECDSA 256 | ECDSA-SHA256 | c08832a28c0cad51137ced105ab31dee |
| SANs: flytravel.al, *.flytravel.al | ||||||
| CN=WE1,O=Google Trust Services,C=US (CA) | CN=GTS Root R4,O=Google Trust Services LLC,C=US | 13 Dec 2023 | 20 Feb 2029 | ECDSA 256 | ECDSA-SHA384 | 7ff31977972c224a76155d13b6d685e3 |
| CN=GTS Root R4,O=Google Trust Services LLC,C=US (CA) | CN=GlobalSign Root CA,OU=Root CA,O=GlobalSign nv-sa,C=BE | 15 Nov 2023 | 28 Jan 2028 | ECDSA 384 | SHA256-RSA | 7fe530bf331343bedd821610493d8a1b |
Background: What to check on a remote MCP endpoint →
DNSSEC insecure
Validation of flytravel.al. — Not signed
| Zone | DS | Keys | Algorithms | Outcome |
|---|---|---|---|---|
| . | trust_anchor | 20326, 38696 | 8, 8 | Verified |
| al. | present | 46645 | 13 | Verified |
| flytravel.al. | absent | Unsigned (proven) parent-signed NSEC/NSEC3 proves an unsigned delegation |
Authentication No authorisation required
The endpoint answered without asking for a token. Anyone who knows the URL can reach it.
| Result | No authorisation required |
|---|---|
| HTTP status | 200 |
| Header | Value |
|---|---|
| strict-transport-security | max-age=31536000; includeSubDomains; preload |
| content-security-policy | default-src 'self'; script-src 'self' 'unsafe-inline' 'unsafe-eval' https://cdn.tailwindcss.com https://cdn.jsdelivr.net https://unpkg.com https://payment-wrapper.liteapi.travel https://www.googletagmanager.com https://js.stripe.com https://connect.facebook.net; style-src 'self' 'unsafe-inline' https://fonts.googleapis.com https://cdn.jsdelivr.net; font-src 'self' https://fonts.gstatic.com; img-src 'self' data: https: blob:; connect-src 'self' https://api.liteapi.travel https://book.liteapi.travel https://payment-wrapper.liteapi.travel https://*.liteapi.travel https://api.stripe.com https://www.google-analytics.com https://*.google-analytics.com https://*.analytics.google.com https://www.googletagmanager.com https://connect.facebook.net https://www.facebook.com; frame-src https://payment-wrapper.liteapi.travel https://*.liteapi.travel https://maps.google.com https://*.google.com https://js.stripe.com https://hooks.stripe.com https://m.stripe.network; frame-ancestors 'self'; form-action 'self' https://rentalba |
| x-content-type-options | nosniff |
| x-frame-options | DENY |
| referrer-policy | strict-origin-when-cross-origin |
| permissions-policy | camera=(), microphone=(), geolocation=(), payment=(), usb=(), magnetometer=(), gyroscope=(), accelerometer=() |
Background: How OAuth 2.1 works in the 2026 MCP spec →
Transports 2 probes
| Transport | URL | Outcome | Status | Location |
|---|---|---|---|---|
| streamable-http | https://flytravel.al/mcp | Verified | 200 | |
| http (plaintext) | http://flytravel.al/mcp | HTTPS enforced | 301 | https://flytravel.al/mcp |
The tools this component advertises to a client, with an estimated token cost for each. Expand a tool to see its parameters and schema. The per-tool counts are indicative and are not scored directly; the schema's total context footprint is one signal in Schema Quality & AI Usability. A tool's description is untrusted text the model reads on every call, which is what makes this list a security surface and not just an inventory: how tool poisoning works →
booking_link Build a booking search link ~179
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).
| Name | Type | Req | Description |
|---|---|---|---|
| adults | integer | – | Number of adults (default 2). |
| children_ages | array | – | Age of each child AT DEPARTURE (0-14 = child; 15+ is counted as an adult automatically). |
| date | string | yes | Departure date, format YYYY-MM-DD. |
| destination | string | yes | Destination key, e.g. 'antalya'. |
| nights | integer | – | Trip length in nights. Omit for the standard charter length (6 nights / 7 days). Most departures also sell 3-10 nights. |
No output schema declared.
No examples provided.
charter_cheapest Cheapest charter packages (live cache) ~192
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.
| Name | Type | Req | Description |
|---|---|---|---|
| destination | string | – | Optional destination key, e.g. 'antalya' or 'bodrum'. Omit to get every destination. |
No output schema declared.
No examples provided.
charter_dates Upcoming charter departure dates ~278
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.
| Name | Type | Req | Description |
|---|---|---|---|
| adults | integer | – | Number of adults (default 2). |
| children_ages | array | – | Age of each child AT DEPARTURE (0-14 = child; 15+ is counted as an adult automatically). |
| date_from | string | – | Only departures on/after this date (YYYY-MM-DD). |
| date_to | string | – | Only departures on/before this date (YYYY-MM-DD). |
| destination | string | yes | Destination key, e.g. 'antalya' or 'bodrum'. |
| limit | integer | – | Max dates to return (default 20). |
| month | string | – | Whole-month window, e.g. '2026-09' (ignored when date_from/date_to given). |
| nights | integer | – | Trip length in nights. Omit for the standard charter length (6 nights / 7 days). Most departures also sell 3-10 nights. |
No output schema declared.
No examples provided.
charter_flexible_dates Cheapest cached date in a window ~360
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.
| Name | Type | Req | Description |
|---|---|---|---|
| adults | integer | – | Number of adults (default 2). |
| budget_total_max | integer | – | Max TOTAL budget in EUR for the whole party. |
| children_ages | array | – | Age of each child AT DEPARTURE (0-14 = child; 15+ is counted as an adult automatically). |
| date_from | string | – | Window start, YYYY-MM-DD (default today). |
| date_to | string | – | Window end, YYYY-MM-DD (default date_from + 14 days; max 31-day window). |
| destination | string | yes | Destination key, e.g. 'antalya' or 'bodrum'. |
| nights | integer | – | Trip length in nights. Omit for the standard charter length (6 nights / 7 days). Most departures also sell 3-10 nights. |
| stars_min | integer | – | Minimum hotel star rating (1-5). |
No output schema declared.
No examples provided.
charter_hotel Price for a specific hotel (live cache) ~423
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.
| Name | Type | Req | Description |
|---|---|---|---|
| adults | integer | – | Number of adults (default 2). |
| children_ages | array | – | Age of each child AT DEPARTURE (0-14 = child; 15+ is counted as an adult automatically). |
| date | string | – | Desired departure date, format YYYY-MM-DD — exact-date cache is checked and the date is baked into the links. |
| destination | string | – | Optional destination key ('antalya', 'bodrum') to narrow the search. |
| hotel | string | yes | Hotel name, or part of it. |
| nights | integer | – | Trip length in nights. Omit for the standard charter length (6 nights / 7 days). Most departures also sell 3-10 nights. |
No output schema declared.
No examples provided.
charter_offers Browse & filter offers (advisor, one call) ~690
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.
| Name | Type | Req | Description |
|---|---|---|---|
| adults | integer | – | Number of adults (default 2). |
| adults_only | boolean | – | true = only adults-only hotels; false = EXCLUDE adults-only hotels (use false for any party with children). |
| aquapark | boolean | – | true = only hotels with an aquapark / water park. |
| beach | boolean | – | true = only hotels with a beach (own or nearby, per the hotel facts). |
| board | string | – | Board filter substring, e.g. 'all inclusive', 'ultra'. |
| budget_total_max | integer | – | Max TOTAL budget in EUR for the whole party. |
| budget_total_min | integer | – | Optional min total, to skip too-basic offers. |
| children_ages | array | – | Age of each child AT DEPARTURE (0-14 = child; 15+ is counted as an adult automatically). |
| date | string | – | Departure date, format YYYY-MM-DD (recommended — exact availability for that date). |
| destination | string | – | Optional destination key ('antalya', 'bodrum'). Omit to search all. |
| family_friendly | boolean | – | true = only hotels with family facilities (kids club / kids pool / family rooms) and not adults-only. |
| kids_club | boolean | – | true = only hotels with a kids / mini club. |
| limit | integer | – | Shortlist size (default 12). |
| luxury | boolean | – | true = only hotels tagged luxury. |
| nights | integer | – | Trip length in nights. Omit for the standard charter length (6 nights / 7 days). Most departures also sell 3-10 nights. |
| private_beach | boolean | – | true = only hotels listing a private / own beach. |
| spa | boolean | – | true = only hotels with spa / Turkish bath / sauna. |
| stars_min | integer | – | Minimum hotel star rating (1-5). |
| zone | string | – | Zone/resort filter substring, e.g. 'Belek', 'Alanya', 'Lara', 'Side', 'Kemer'. |
No output schema declared.
No examples provided.
compare_hotels Compare 2-6 hotels side by side ~330
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.
| Name | Type | Req | Description |
|---|---|---|---|
| adults | integer | – | Number of adults (default 2). |
| children_ages | array | – | Age of each child AT DEPARTURE (0-14 = child; 15+ is counted as an adult automatically). |
| date | string | – | Departure date, format YYYY-MM-DD (recommended). |
| destination | string | – | Optional destination key ('antalya', 'bodrum'). |
| hotels | array | yes | Hotel names (or parts of them). |
| nights | integer | – | Trip length in nights. Omit for the standard charter length (6 nights / 7 days). Most departures also sell 3-10 nights. |
No output schema declared.
No examples provided.
holiday_packages Holiday packages (bus/flight + hotel) — destinations & dates ~217
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.
| Name | Type | Req | Description |
|---|---|---|---|
| date_from | string | – | Only departures on/after this date (YYYY-MM-DD). |
| date_to | string | – | Only departures on/before this date (YYYY-MM-DD). |
| destination | string | – | Package destination key from the no-argument listing (e.g. 'korfuz', 'barcelona', 'kreta'). Omit to list every destination. |
No output schema declared.
No examples provided.
hotel_details Hotel facts (facilities, features) ~158
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.
| Name | Type | Req | Description |
|---|---|---|---|
| destination | string | – | Optional destination key ('antalya', 'bodrum'). |
| hotel | string | yes | Hotel name, or part of it. |
No output schema declared.
No examples provided.
prices_digest Full live-price digest ~61
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.
Input schema present but exposes no named parameters.
No output schema declared.
No examples provided.
tour_details Organized tour details (dates, program, price) ~308
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.
| Name | Type | Req | Description |
|---|---|---|---|
| adults | integer | – | Number of adults (default 2). |
| children_ages | array | – | Age of each child, 0-11 (TOURS price 12+ as adults — a DIFFERENT bracket than charter packages). |
| date | string | – | Desired departure date, YYYY-MM-DD — checked against the calendar and baked into tour_page. |
| tour | string | – | Tour name or city, or part of it (e.g. "Stamboll", "Dubai"). |
| tour_id | integer | – | Exact tour id from tours_list (preferred when known). |
No output schema declared.
No examples provided.
tours_list Organized group tours (cheapest first) ~89
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.
| Name | Type | Req | Description |
|---|---|---|---|
| limit | integer | – | Max tours to return (default 10). |
No output schema declared.
No examples provided.
How do I install the Fly Travel Albania MCP server?
Fly Travel Albania is a hosted endpoint at https://flytravel.al/mcp, so there is nothing to install locally. Ready-made configuration for Claude, Cursor, VS Code, Codex and 5 more is on this page, copied from each client's own documentation.
remote · flytravel.al
claude mcp add --transport http al-flytravel-travel-prices 'https://flytravel.al/mcp'
What is the Fly Travel Albania MCP server?
Fly Travel Albania is an MCP server listed in the public MCP registry as al.flytravel/travel-prices. Cached charter package, hotel facts and tour prices from Fly Travel Albania (Tirana); party-aware. This page covers its hosted endpoint (https://flytravel.al/mcp).
Is the Fly Travel Albania MCP server safe to use?
Fly Travel Albania scores 83 out of 100 on VerifyMCP. That is a record of what we were able to check automatically, not an endorsement. The category breakdown on this page shows every signal behind the number, including the ones we could not confirm.
What tools does the Fly Travel Albania MCP server expose?
Fly Travel Albania exposes 12 tools: charter_cheapest, charter_hotel, charter_offers, charter_dates, tours_list, and 7 more. Their descriptions and schemas cost roughly 3,285 tokens of context every time the server is loaded.
Does the Fly Travel Albania MCP server require authentication?
No. We connected to Fly Travel Albania without credentials and it answered, so anything it exposes is reachable by anyone who knows the address.
Is the Fly Travel Albania MCP server still maintained?
Fly Travel Albania is still listed as active in the MCP registry. We last reached this channel on 5 November 2026. Those dates come from our own scans of the registry and the channel itself, not from anything the publisher announced.