Search and book luxury villa rentals across Europe with real-time availability and pricing.
Maintain this server? Claim it
Call this server's tools from your browser. Nothing to install.
TrustedVillas API key — contact [email protected] to request access.
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.
Check real-time availability and nightly pricing for a specific villa over a date range. Returns whether the property is available and the average nightly rate. For a binding total price including all fees and taxes, use get_quote.
Interhome accommodation code.
Check-in date (YYYY-MM-DD).
Check-out date (YYYY-MM-DD). Must be after checkIn.
This tool isn't marked read-only, so it may change something on the server or in an account you connected.
Check real-time availability and nightly pricing for a specific villa over a date range. Returns whether the property is available and the average nightly rate. For a binding total price including all fees and taxes, use get_quote.
| Argument | Type | Description |
|---|---|---|
| code* | string | Interhome accommodation code. |
| checkIn* | string | Check-in date (YYYY-MM-DD). |
| checkOut* | string | Check-out date (YYYY-MM-DD). Must be after checkIn. |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"code",
"checkIn",
"checkOut"
],
"properties": {
"code": {
"type": "string",
"pattern": "^IH-\\d+$",
"description": "Interhome accommodation code."
},
"checkIn": {
"type": "string",
"pattern": "^\\d{4}-\\d{2}-\\d{2}$",
"description": "Check-in date (YYYY-MM-DD)."
},
"checkOut": {
"type": "string",
"pattern": "^\\d{4}-\\d{2}-\\d{2}$",
"description": "Check-out date (YYYY-MM-DD). Must be after checkIn."
}
},
"additionalProperties": false
}Get a binding price quote for a villa stay including full breakdown of accommodation cost, cleaning fee, tourist tax, and security deposit. Always use this for final price — never estimate or calculate prices manually. Provides a direct booking link with dates pre-filled.
| Argument | Type | Description |
|---|---|---|
| code* | string | Interhome accommodation code. |
| guests* | integer | Total number of guests. |
| checkIn* | string | Check-in date (YYYY-MM-DD). |
| checkOut* | string | Check-out date (YYYY-MM-DD). |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"code",
"checkIn",
"checkOut",
"guests"
],
"properties": {
"code": {
"type": "string",
"pattern": "^IH-\\d+$",
"description": "Interhome accommodation code."
},
"guests": {
"type": "integer",
"maximum": 30,
"minimum": 1,
"description": "Total number of guests."
},
"checkIn": {
"type": "string",
"pattern": "^\\d{4}-\\d{2}-\\d{2}$",
"description": "Check-in date (YYYY-MM-DD)."
},
"checkOut": {
"type": "string",
"pattern": "^\\d{4}-\\d{2}-\\d{2}$",
"description": "Check-out date (YYYY-MM-DD)."
}
},
"additionalProperties": false
}Get full details for a specific villa including description, all photos, amenities, house rules, and check-in/check-out times. Call this when the user wants more information about a property found via search_villas.
| Argument | Type | Description |
|---|---|---|
| code* | string | Interhome accommodation code from a search result, e.g. "IH-123456". |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"code"
],
"properties": {
"code": {
"type": "string",
"pattern": "^IH-\\d+$",
"description": "Interhome accommodation code from a search result, e.g. \"IH-123456\"."
}
},
"additionalProperties": false
}Search self-catering villa rentals with real-time availability. Filter by destination, check-in/check-out dates, guests, bedrooms, and amenities (pool, pet-friendly, sea view, wifi, parking, air conditioning). Returns matching villas with nightly price and a link to book. Always pass checkIn, checkOut, and guests when the user has specified dates and party size.
| Argument | Type | Description |
|---|---|---|
| area | string | Region or area, e.g. "Costa del Sol", "Tuscany", "Algarve". |
| pool | boolean | Private swimming pool required. |
| sort | string | Result ordering. |
| wifi | boolean | WiFi required. |
| airCon | boolean | Air conditioning required. |
| cursor | string | Pagination cursor from a previous response. |
| guests | integer | Total number of guests including children. |
| checkIn | string | Check-in date (YYYY-MM-DD). Required for availability filtering. |
| country | string | Country name in English, e.g. "Spain", "France", "Italy". |
| parking |
| boolean |
| On-site parking required. |
| seaView | boolean | Sea or ocean view required. |
| bedrooms | integer | Minimum number of bedrooms required. |
| checkOut | string | Check-out date (YYYY-MM-DD). Required with checkIn. |
| location | string | Town or resort name, e.g. "Marbella", "Positano", "Lagos". |
| maxPrice | integer | Maximum nightly price in GBP. |
| minPrice | integer | Minimum nightly price in GBP. |
| pageSize | integer |
| petFriendly | boolean | Pets accepted. |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"area": {
"type": "string",
"description": "Region or area, e.g. \"Costa del Sol\", \"Tuscany\", \"Algarve\"."
},
"pool": {
"type": "boolean",
"description": "Private swimming pool required."
},
"sort": {
"enum": [
"relevance",
"price_asc",
"price_desc",
"bedrooms_asc",
"bedrooms_desc"
],
"type": "string",
"default": "relevance",
"description": "Result ordering."
},
"wifi": {
"type": "boolean",
"description": "WiFi required."
},
"airCon": {
"type": "boolean",
"description": "Air conditioning required."
},
"cursor": {
"type": "string",
"description": "Pagination cursor from a previous response."
},
"guests": {
"type": "integer",
"maximum": 30,
"minimum": 1,
"description": "Total number of guests including children."
},
"checkIn": {
"type": "string",
"pattern": "^\\d{4}-\\d{2}-\\d{2}$",
"description": "Check-in date (YYYY-MM-DD). Required for availability filtering."
},
"country": {
"type": "string",
"description": "Country name in English, e.g. \"Spain\", \"France\", \"Italy\"."
},
"parking": {
"type": "boolean",
"description": "On-site parking required."
},
"seaView": {
"type": "boolean",
"description": "Sea or ocean view required."
},
"bedrooms": {
"type": "integer",
"minimum": 1,
"description": "Minimum number of bedrooms required."
},
"checkOut": {
"type": "string",
"pattern": "^\\d{4}-\\d{2}-\\d{2}$",
"description": "Check-out date (YYYY-MM-DD). Required with checkIn."
},
"location": {
"type": "string",
"description": "Town or resort name, e.g. \"Marbella\", \"Positano\", \"Lagos\"."
},
"maxPrice": {
"type": "integer",
"minimum": 0,
"description": "Maximum nightly price in GBP."
},
"minPrice": {
"type": "integer",
"minimum": 0,
"description": "Minimum nightly price in GBP."
},
"pageSize": {
"type": "integer",
"default": 20,
"maximum": 50,
"minimum": 1
},
"petFriendly": {
"type": "boolean",
"description": "Pets accepted."
}
},
"additionalProperties": false
}