Akkilahdot travel search
Realtime package holiday and charter flight prices from Finland. Inventory not on Google Flights.
Should I use this
Quality & Safety
Based on automated analysis of tool definitions and protocol compliance.
Context Cost
This is the approximate number of tokens consumed each time the server's tools are loaded into a model's context. Higher counts reduce the attention available for other tasks.
Install
One-Click Install
Add this to your `claude_desktop_config.json` file:
{
"mcpServers": {
"travel-search": {
"url": "https://www.akkilahdot.fi/mcp"
}
}
}Remote endpoints
https://www.akkilahdot.fi/mcpstreamable-httpWhat it can do
Tool inventory
Tools (2)
🟢search_holidays(adults, bbox, board_type, category, children, ...)
Hae saatavilla olevia pakettimatkoja, jotka sisältävät lennot ja majoituksen ja lähtevät Suomesta. Palauttaa käyttäjän hakuehtoja vastaavat ajantasaiset hinnat, saatavuuden, hotellitiedot ja varauslinkit. Etsi saatavilla olevia pakettimatkoja Suomesta hakukriteerien perusteella.
Input Schema
{
"type": "object",
"properties": {
"adults": {
"default": 2,
"description": "Aikuisten määrä 12-99 vuotta, oletus 2",
"maximum": 9,
"minimum": 1,
"type": "integer"
},
"bbox": {
"description": "Maantieteellinen haku rajoitettu suorakulmiolla. Muoto: minLat,minLon,maxLat,maxLon.",
"example": "28.0,-15.5,28.2,-15.3",
"type": "string"
},
"board_type": {
"description": "Ateriat sisältyvät hotelliin, esimerkiksi aamiainen, puolihoito, täysihoito, all inclusive",
"enum": [
"breakfast",
"half_board",
"full_board",
"all_inclusive"
],
"type": "string"
},
"category": {
"description": "Loman kategoria SUNBATH=Aurinko ja uiminen, CITY=Kaupunkiloma, SKI=Hiihtoloma, EXOTIC=Eksoottinen",
"enum": [
"SUNBATH",
"CITY",
"SKI",
"EXOTIC"
],
"type": "string"
},
"children": {
"default": 0,
"description": "Lasten määrä 2-11 vuotta, oletus 0",
"maximum": 6,
"minimum": 0,
"type": "integer"
},
"country_iso": {
"description": "ISO-koodi maa, esimerkiksi ES, GR, PL, TR",
"type": "string"
},
"days_max": {
"description": "Maksimimäärä päiviä lomalle, esimerkiksi 3, 7, 14",
"type": "integer"
},
"days_min": {
"description": "Vähimmäismäärä päiviä lomalle, esimerkiksi 3, 7, 14",
"type": "integer"
},
"depart_date_exact": {
"description": "Loman on alkaa tänä päivänä (ISO 8601 format YYYY-MM-DDTHH:MM:SSZ)",
"format": "date-time",
"type": "string"
},
"depart_date_max": {
"description": "Viimeisin mahdollinen loma-ajan alkamispäivä (ISO 8601 format YYYY-MM-DDTHH:MM:SSZ)",
"format": "date-time",
"type": "string"
},
"depart_date_min": {
"description": "Aikaisin mahdollinen loma-ajan alkamispäivä (ISO 8601 format YYYY-MM-DDTHH:MM:SSZ)",
"format": "date-time",
"type": "string"
},
"destination_airport_code": {
"description": "IATA-koodi määränpää lentokentälle, esimerkiksi ALC, AGP, TFS",
"type": "string"
},
"destination_name": {
"description": "Kohdenimi, esimerkiksi Malta, Magaluf, Gran Canaria",
"type": "string"
},
"direct_flight": {
"description": "Aseta true löytääksesi hotelleja suorilla lennoilla",
"type": "boolean"
},
"distance_airport": {
"description": "Maksimaalinen etäisyys hotellin ja lentokentän välillä km, esimerkiksi 20, 40, 80",
"type": "integer"
},
"distance_beach": {
"description": "Maksimaalinen etäisyys rannalle metreinä, esimerkiksi 0, 100, 500",
"type": "integer"
},
"distance_centre": {
"description": "Maksimaalinen etäisyys keskustaan metreinä, esimerkiksi 0, 100, 500",
"type": "integer"
},
"features": {
"description": "Hotellin mukavuudet: ac=ilmastointi, adultsonly=Vain aikuisille, apartment=huoneisto, bar=baari, childspool=lastenallas, gym=kuntosali, heatedpool=lämmitetty uima-allas, kidsclub=lastenkerho, pool=uima-allas, seaview=merinäköala, restaurant=ravintola, spa=kylpylä",
"items": {
"enum": [
"ac",
"adultsonly",
"apartment",
"bar",
"childspool",
"gym",
"heatedpool",
"kidsclub",
"pool",
"seaview",
"restaurant",
"spa"
],
"type": "string"
},
"type": "array"
},
"fields": {
"default": [
"destination_airport_code",
"hotel_image",
"total_price",
"lon",
"destination_name",
"origin_airport_name",
"guest_rating",
"supplier_name",
"distance_airport",
"currency",
"country_name",
"hotel_name",
"features_text",
"supplier_logo",
"distance_centre",
"url",
"temp_air_day",
"country_code",
"origin_airport_code",
"hotel_description",
"lat",
"categories",
"room_type",
"number_of_nights",
"offer_id",
"temp_water",
"destination_airport_name",
"return_date",
"distance_beach",
"features",
"departure_date",
"price_per_pers"
],
"description": "Kentät, jotka on sisällytettävä hakutuloksiin",
"example": [
"origin_airport_name",
"destination_airport_name",
"destination_name",
"hotel_name",
"departure_date",
"return_date",
"url",
"total_price"
],
"items": {
"enum": [
"destination_airport_code",
"hotel_image",
"total_price",
"lon",
"destination_name",
"origin_airport_name",
"guest_rating",
"supplier_name",
"distance_airport",
"currency",
"country_name",
"hotel_name",
"features_text",
"supplier_logo",
"distance_centre",
"url",
"temp_air_day",
"country_code",
"origin_airport_code",
"hotel_description",
"lat",
"categories",
"room_type",
"number_of_nights",
"offer_id",
"temp_water",
"destination_airport_name",
"return_date",
"distance_beach",
"features",
"departure_date",
"price_per_pers"
],
"type": "string"
},
"type": "array"
},
"guest_rating": {
"description": "Vähimmäisarvio, esimerkiksi 8.2, 9.0. Mediaani: 8.4",
"example": 8.4,
"format": "float",
"maximum": 10,
"minimum": 1,
"type": "number"
},
"hotel_name": {
"description": "Hotellin nimi, esimerkiksi Riu Palace, Iberostar, Sol",
"type": "string"
},
"infants": {
"default": 0,
"description": "Vauvojen määrä 0-1 vuotta, oletus 0",
"maximum": 6,
"minimum": 0,
"type": "integer"
},
"lat": {
"description": "Leveysasteikko desimaaliluvuissa, käytetään lon ja säteen kanssa",
"example": 27.5797,
"format": "float",
"maximum": 90,
"minimum": -90,
"type": "number"
},
"limit": {
"default": 1,
"description": "Tarjottavien määrä, esimerkiksi 5, 10. Oletus 1",
"maximum": 25,
"minimum": 1,
"type": "integer"
},
"lon": {
"description": "Pituusasteikko desimaaliluvuissa, käytetään lat ja säteen kanssa",
"example": -15.5803,
"format": "float",
"maximum": 180,
"minimum": -180,
"type": "number"
},
"max_price": {
"description": "Maksimihinta koko matkalle, esimerkiksi 5000, 10000, 15000",
"type": "integer"
},
"number_of_nights": {
"description": "Tarkka määrä öitä lomalle, esimerkiksi 3, 7, 14",
"type": "integer"
},
"origin_airport_code": {
"description": "IATA-koodi lähtöpaikalle, esimerkiksi HEL, OUL, TLL",
"type": "string"
},
"radius": {
"description": "Säde kilometreinä lat, lon",
"example": 1.8,
"format": "float",
"maximum": 200,
"minimum": 0,
"type": "number"
},
"rating": {
"description": "Vähimmäismäärä tähtiä, esimerkiksi 3, 4, 5",
"maximum": 5,
"minimum": 1,
"type": "integer"
},
"return_date_exact": {
"description": "Kotiinpaluupäivä alkaa tänä päivänä (ISO 8601 format YYYY-MM-DDTHH:MM:SSZ)",
"format": "date-time",
"type": "string"
},
"return_date_max": {
"description": "Viimeisin mahdollinen kotiinpaluupäivä (ISO 8601 format YYYY-MM-DDTHH:MM:SSZ)",
"format": "date-time",
"type": "string"
},
"return_date_min": {
"description": "Aikaisin mahdollinen kotiinpaluupäivä (ISO 8601 format YYYY-MM-DDTHH:MM:SSZ)",
"format": "date-time",
"type": "string"
},
"sort": {
"description": "Tarjousten järjestys. Oletus on price_asc",
"enum": [
"price_asc",
"price_desc",
"rating_asc",
"rating_desc",
"distance_beach_asc",
"distance_airport_asc",
"guest_rating_desc"
],
"type": "string"
},
"temp_air_day_max": {
"description": "Maksimiodotettu päivälämpötila Celsius-asteina, esimerkiksi 25, 30",
"type": "integer"
},
"temp_air_day_min": {
"description": "Vähimmäisodotettu päivälämpötila Celsius-asteina, esimerkiksi 20, 25",
"type": "integer"
},
"temp_water": {
"description": "Vähimmäisodotettu veden lämpötila Celsius-asteina, esimerkiksi 20, 25",
"type": "integer"
}
}
}Output Schema
{
"type": "object",
"properties": {
"results": {
"items": {
"properties": {
"categories": {
"description": "Kategoriat",
"example": [
"Aurinko ja uiminen",
"Kaupunki",
"Hiihto",
"Eksoottinen"
],
"items": {
"type": "string"
},
"type": "array"
},
"country_code": {
"description": "ISO 3166 koodi maa",
"example": "ES",
"type": "string"
},
"country_name": {
"description": "Maan nimi",
"example": "Kreikka",
"type": "string"
},
"currency": {
"description": "ISO 4217 valuutta",
"example": "EUR",
"type": "string"
},
"departure_date": {
"description": "Lähtöaika ISO 8601 -muodossa YYYY-MM-DDTHH:MM:SSZ",
"format": "date-time",
"type": "string"
},
"destination_airport_code": {
"description": "IATA-koodi määränpää lentokentälle",
"example": "LPA",
"type": "string"
},
"destination_airport_name": {
"description": "Määränpään lentokentän nimi",
"example": "Gran Canaria",
"type": "string"
},
"destination_name": {
"description": "Kohdenimi",
"example": "Playa del Ingles",
"type": "string"
},
"distance_airport": {
"description": "Etäisyys lentokentältä hotelliin km",
"type": "integer"
},
"distance_beach": {
"description": "Etäisyys rannalle metreinä",
"type": "integer"
},
"distance_centre": {
"description": "Etäisyys keskustaan metreinä",
"type": "integer"
},
"features": {
"description": "Mukavuudet",
"example": [
"pool",
"bar",
"restaurant"
],
"items": {
"type": "string"
},
"type": "array"
},
"features_text": {
"description": "Mukavuudet",
"example": [
"Uima-allas",
"Baari",
"Ravintola"
],
"items": {
"type": "string"
},
"type": "array"
},
"guest_rating": {
"description": "Keskimääräinen asiakasarvio, jossa 10.0 on paras. Vuoden 2025 varattujen hotellien mediaani on 8.4",
"format": "float",
"type": "number"
},
"hotel_description": {
"description": "Teksti, joka kuvaa hotellia",
"example": "Tunne olosi kotoisaksi tässä upeassa huoneistohotellissa, jossa on 3 uima-allasta, 2 baaria ja ravintola. Ilmainen Wi-Fi ja parveke, josta on näkymä uima-altaalle.",
"type": "string"
},
"hotel_image": {
"description": "URL hotellin kuvasta",
"type": "string"
},
"hotel_name": {
"description": "Hotellin nimi",
"example": "Riu Palace",
"type": "string"
},
"lat": {
"description": "Hotellin leveysasteikko desimaaliluvuissa",
"format": "float",
"type": "number"
},
"lon": {
"description": "Hotellin pituusasteikko desimaaliluvuissa",
"format": "float",
"type": "number"
},
"number_of_nights": {
"description": "Yöt hotellissa",
"type": "integer"
},
"offer_id": {
"description": "Tarjouksen yksilöllinen tunniste",
"type": "string"
},
"origin_airport_code": {
"description": "IATA-koodi lähtölentokentälle",
"example": "HEL",
"type": "string"
},
"origin_airport_name": {
"description": "Lähtöpaikan nimi",
"example": "Helsinki",
"type": "string"
},
"price_per_pers": {
"description": "Hinta per henkilö, lennot ja hotelli",
"type": "integer"
},
"return_date": {
"description": "Kotiinpaluun aika ISO 8601 -muodossa YYYY-MM-DDTHH:MM:SSZ",
"format": "date-time",
"type": "string"
},
"room_type": {
"description": "Huonetyyppi ja ateriat hotellissa",
"example": "Kahden hengen huone, aamiainen",
"type": "string"
},
"supplier_logo": {
"description": "URL järjestäjän logoon",
"type": "string"
},
"supplier_name": {
"description": "Matkanjärjestäjän nimi, esimerkiksi TUI, Ving",
"example": "Apollo",
"type": "string"
},
"temp_air_day": {
"description": "Odotettu päivälämpötila Celsius-asteina",
"type": "integer"
},
"temp_water": {
"description": "Odotettu veden lämpötila Celsius-asteina",
"type": "integer"
},
"total_price": {
"description": "Kokonaishinta kaikille matkustajille, lennot ja hotelli",
"type": "integer"
},
"url": {
"description": "URL matkan varaamiseen",
"type": "string"
}
},
"type": "object"
},
"type": "array"
}
}
}🟢search_flights(adt, chd, dep_date, dep_date_from, dep_date_to, ...)
Hae reaaliaikaisia tilauslentotarjouksia (vain lento) sivustolta akkilahdot.fi. Käytä, kun kysytään lentoja ilman majoitusta, esim. 'pelkkä lento', 'lentopaikka', 'tilauslento ilman hotellia' ja 'lentoliput'. Palauttaa saatavilla olevat pelkät lennot, ei pakettimatkoja. Lento + hotelli -hakuihin käytä search_holidays-työkalua.
Input Schema
{
"type": "object",
"properties": {
"adt": {
"default": 1,
"description": "Aikuisten määrä (NDC: PaxType=ADT), oletus 1",
"maximum": 9,
"minimum": 1,
"type": "integer"
},
"chd": {
"default": 0,
"description": "Lasten määrä (NDC: PaxType=CHD), oletus 0",
"maximum": 6,
"minimum": 0,
"type": "integer"
},
"dep_date": {
"description": "Tarkka lähtöpäivä (YYYY-MM-DD)",
"format": "date",
"type": "string"
},
"dep_date_from": {
"description": "Aikaisin lähtöpäivä (YYYY-MM-DD)",
"format": "date",
"type": "string"
},
"dep_date_to": {
"description": "Viimeisin lähtöpäivä (YYYY-MM-DD)",
"format": "date",
"type": "string"
},
"dest": {
"description": "IATA-koodi kohdekentälle, esim. AYT, AGP, TFS",
"type": "string"
},
"direct": {
"description": "Vain suorat lennot (NDC: StopQuantity=0)",
"type": "boolean"
},
"inf": {
"default": 0,
"description": "Vauvojen määrä (NDC: PaxType=INF), oletus 0",
"maximum": 6,
"minimum": 0,
"type": "integer"
},
"limit": {
"default": 10,
"description": "Tarjousten määrä (1-25), oletus 10",
"maximum": 25,
"minimum": 1,
"type": "integer"
},
"max_price": {
"description": "Maksimihinta (NDC: PriceRangeFilter.MaxAmount)",
"type": "integer"
},
"nights_max": {
"description": "Enimmäismäärä öitä (vendor extension, ei NDC)",
"type": "integer"
},
"nights_min": {
"description": "Vähimmäismäärä öitä (vendor extension, ei NDC)",
"type": "integer"
},
"orig": {
"description": "IATA-koodi lähtökentälle, esim. HEL, OUL, TLL",
"type": "string"
},
"ret_date": {
"description": "Tarkka paluupäivä (YYYY-MM-DD)",
"format": "date",
"type": "string"
},
"ret_date_from": {
"description": "Aikaisin paluupäivä (YYYY-MM-DD)",
"format": "date",
"type": "string"
},
"ret_date_to": {
"description": "Viimeisin paluupäivä (YYYY-MM-DD)",
"format": "date",
"type": "string"
},
"sort": {
"default": "price_asc",
"description": "Järjestys, oletus price_asc",
"enum": [
"price_asc",
"price_desc",
"dep_date_asc",
"dep_date_desc"
],
"type": "string"
}
}
}Output Schema
{
"type": "object",
"properties": {
"offers": {
"items": {
"properties": {
"offer_id": {
"type": "string"
},
"origin_destinations": {
"items": {
"properties": {
"arrival": {
"properties": {
"airport_code": {
"type": "string"
},
"datetime": {
"format": "date-time",
"type": "string"
}
},
"type": "object"
},
"departure": {
"properties": {
"airport_code": {
"type": "string"
},
"datetime": {
"format": "date-time",
"type": "string"
}
},
"type": "object"
},
"flight_numbers": {
"items": {
"type": "string"
},
"type": "array"
},
"stop_quantity": {
"type": "integer"
}
},
"type": "object"
},
"type": "array"
},
"supplier": {
"type": "string"
},
"total_price": {
"properties": {
"amount": {
"type": "integer"
},
"currency_code": {
"type": "string"
},
"per_pax_amount": {
"type": "integer"
}
},
"type": "object"
},
"trip_duration_nights": {
"description": "Öiden määrä (vendor extension, ei standardi NDC)",
"type": "integer"
},
"url": {
"type": "string"
}
},
"type": "object"
},
"type": "array"
},
"total": {
"type": "integer"
}
}
}Community
Evidence