Search verified Greek vacation rentals with live availability, prices, policies, and booking links.
Maintain this server? Claim it
Call this server's tools from your browser. Nothing to install.
Requests go through mcptry because browsers can't call most MCP servers directly. Header values are sent to the server for that request only and are never stored or logged.
Tool list from our last check. Connect live to refresh it.
Exact availability + total price for one listing and concrete dates, with the direct booking link.
YYYY-MM-DD — never in the past; bare day numbers in a follow-up ('26 to 29') keep the month/year already under discussion, NOT the current month
YYYY-MM-DD
Exact availability + total price for one listing and concrete dates, with the direct booking link.
| Argument | Type | Description |
|---|---|---|
| checkin* | string | YYYY-MM-DD — never in the past; bare day numbers in a follow-up ('26 to 29') keep the month/year already under discussion, NOT the current month |
| listing* | string | |
| checkout* | string | YYYY-MM-DD |
{
"type": "object",
"required": [
"listing",
"checkin",
"checkout"
],
"properties": {
"checkin": {
"type": "string",
"description": "YYYY-MM-DD — never in the past; bare day numbers in a follow-up ('26 to 29') keep the month/year already under discussion, NOT the current month"
},
"listing": {
"type": "string"
},
"checkout": {
"type": "string",
"description": "YYYY-MM-DD"
}
}
}Retrieve the host's own Q&A entries most relevant to a factual question about the stay, the house, or the host's services. Prefer this over guessing for any host-specific question.
| Argument | Type | Description |
|---|---|---|
| question* | string | |
| listing_id | string | scope to one listing (optional) |
{
"type": "object",
"required": [
"question"
],
"properties": {
"question": {
"type": "string"
},
"listing_id": {
"type": "string",
"description": "scope to one listing (optional)"
}
}
}Full facts for ONE listing already in play (amenities, description, capacity, base price).
| Argument | Type | Description |
|---|---|---|
| listing* | string | listing title (partial ok) |
{
"type": "object",
"required": [
"listing"
],
"properties": {
"listing": {
"type": "string",
"description": "listing title (partial ok)"
}
}
}Every policy fact for ONE listing in one call: check-in/out times, advance notice, preparation days, this month's minimum stay, cancellation policy, and (when configured) amendment rules like late checkout. Use for ANY rules/policy question about a home.
| Argument | Type | Description |
|---|---|---|
| listing* | string | listing title (partial ok) |
{
"type": "object",
"required": [
"listing"
],
"properties": {
"listing": {
"type": "string",
"description": "listing title (partial ok)"
}
}
}Search available vacation rentals across Greece. Pass explicit destinations, dates, guest counts and filters as structured fields; use query only for preferences not represented by another field. Do not invent locations, dates, guest counts or budgets the guest never gave. Results include stable listing ids for follow-up calls (get_listing_details, check_availability_and_price).
| Argument | Type | Description |
|---|---|---|
| mood | string | holiday-mood collection: beach=steps from the sea/coves, pools=private pool/resort calm, sunset=golden-hour terraces/romance, night=chora/town stays with evening life |
| sort | string | result ordering; default recommended |
| query | string | optional free-text preferences NOT captured by the structured filters, e.g. 'quiet romantic vibe with sunset views' — do not repeat structured information here |
| adults | integer | number of adult guests |
| guests | integer | total guests (alternative to adults/children when the split is unknown) |
| checkin | string | exact arrival date YYYY-MM-DD — ONLY when the guest gave real stay dates. If they only named a month/season ('in August'), leave dates out: availability is checked per night, so a whole month demands 30 free nights |
| infants |
| integer |
| number of infants — noted but NOT counted toward sleeping capacity |
| setting | string | geography facet for generic wishes: 'στα νησιά'/'the islands' → island; combinable with budget/dates, replaces a location guess |
| bedrooms | integer | minimum bedrooms requested |
| checkout | string | exact departure date YYYY-MM-DD — same rule as checkin |
| children | integer | number of children — counted toward capacity together with adults |
| currency | string | currency used for price filters |
| location | string | a PLACE the guest actually named: city, island, region, island complex ('Cyclades') or area ('Athens south coast'). For generic geography ('the islands', 'the mountains', 'by the sea') use setting instead — do NOT guess a region the guest never said. Omit if unknown |
| amenities | array | hard amenity requirements the guest explicitly asked for — every listed amenity must be present |
| bathrooms | number | minimum bathrooms requested |
| near_metro | boolean | true only when the guest wants to be near a metro/subway station (Athens & Thessaloniki only) — filters to homes within a 1 km walk of a station |
| property_type | string | requested property type |
| max_total_price | number | maximum total stay price (EUR) when the guest gave a whole-trip budget — only applied when exact dates are also given (otherwise ignored with a note) |
| max_nightly_price | number | maximum accommodation price per night (EUR) |
{
"type": "object",
"required": [],
"properties": {
"mood": {
"enum": [
"beach",
"pools",
"sunset",
"night"
],
"type": "string",
"description": "holiday-mood collection: beach=steps from the sea/coves, pools=private pool/resort calm, sunset=golden-hour terraces/romance, night=chora/town stays with evening life"
},
"sort": {
"enum": [
"recommended",
"price_low_to_high",
"price_high_to_low"
],
"type": "string",
"description": "result ordering; default recommended"
},
"query": {
"type": "string",
"description": "optional free-text preferences NOT captured by the structured filters, e.g. 'quiet romantic vibe with sunset views' — do not repeat structured information here"
},
"adults": {
"type": "integer",
"minimum": 1,
"description": "number of adult guests"
},
"guests": {
"type": "integer",
"description": "total guests (alternative to adults/children when the split is unknown)"
},
"checkin": {
"type": "string",
"format": "date",
"description": "exact arrival date YYYY-MM-DD — ONLY when the guest gave real stay dates. If they only named a month/season ('in August'), leave dates out: availability is checked per night, so a whole month demands 30 free nights"
},
"infants": {
"type": "integer",
"minimum": 0,
"description": "number of infants — noted but NOT counted toward sleeping capacity"
},
"setting": {
"enum": [
"island",
"city",
"mountain",
"countryside",
"beachfront"
],
"type": "string",
"description": "geography facet for generic wishes: 'στα νησιά'/'the islands' → island; combinable with budget/dates, replaces a location guess"
},
"bedrooms": {
"type": "integer",
"minimum": 1,
"description": "minimum bedrooms requested"
},
"checkout": {
"type": "string",
"format": "date",
"description": "exact departure date YYYY-MM-DD — same rule as checkin"
},
"children": {
"type": "integer",
"minimum": 0,
"description": "number of children — counted toward capacity together with adults"
},
"currency": {
"enum": [
"EUR"
],
"type": "string",
"description": "currency used for price filters"
},
"location": {
"type": "string",
"description": "a PLACE the guest actually named: city, island, region, island complex ('Cyclades') or area ('Athens south coast'). For generic geography ('the islands', 'the mountains', 'by the sea') use setting instead — do NOT guess a region the guest never said. Omit if unknown"
},
"amenities": {
"type": "array",
"items": {
"enum": [
"private_pool",
"pool",
"heated_pool",
"jacuzzi_hot_tub",
"sea_view",
"beachfront",
"parking",
"private_parking",
"air_conditioning",
"wifi",
"full_kitchen",
"washing_machine",
"garden",
"bbq",
"balcony_terrace",
"workspace",
"baby_cot",
"high_chair"
],
"type": "string"
},
"description": "hard amenity requirements the guest explicitly asked for — every listed amenity must be present"
},
"bathrooms": {
"type": "number",
"minimum": 1,
"description": "minimum bathrooms requested"
},
"near_metro": {
"type": "boolean",
"description": "true only when the guest wants to be near a metro/subway station (Athens & Thessaloniki only) — filters to homes within a 1 km walk of a station"
},
"property_type": {
"enum": [
"villa",
"apartment",
"house",
"studio",
"maisonette"
],
"type": "string",
"description": "requested property type"
},
"max_total_price": {
"type": "number",
"minimum": 0,
"description": "maximum total stay price (EUR) when the guest gave a whole-trip budget — only applied when exact dates are also given (otherwise ignored with a note)"
},
"max_nightly_price": {
"type": "number",
"minimum": 0,
"description": "maximum accommodation price per night (EUR)"
}
},
"additionalProperties": false
}