Search French mountain holiday rentals and contact owners directly — commission-free.
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.
Vérifie en une seule fois la disponibilité ET le prix d'un séjour daté pour une location (id renvoyé par search_rentals). Répond : disponible / occupé / partiellement disponible, le prix total du séjour (toujours indicatif, à confirmer par le propriétaire), un indicateur de fraîcheur du planning, et si le séjour est indisponible, jusqu'à 3 périodes libres proches de même durée.
Date de départ (YYYY-MM-DD).
Identifiant de la location (champ « id » des résultats de search_rentals).
Date d'arrivée (YYYY-MM-DD).
Nombre de voyageurs (information indicative).
Vérifie en une seule fois la disponibilité ET le prix d'un séjour daté pour une location (id renvoyé par search_rentals). Répond : disponible / occupé / partiellement disponible, le prix total du séjour (toujours indicatif, à confirmer par le propriétaire), un indicateur de fraîcheur du planning, et si le séjour est indisponible, jusqu'à 3 périodes libres proches de même durée.
| Argument | Type | Description |
|---|---|---|
| guests | integer | Nombre de voyageurs (information indicative). |
| date_end* | string | Date de départ (YYYY-MM-DD). |
| rental_id* | integer | Identifiant de la location (champ « id » des résultats de search_rentals). |
| date_start* | string | Date d'arrivée (YYYY-MM-DD). |
{
"type": "object",
"required": [
"rental_id",
"date_start",
"date_end"
],
"properties": {
"guests": {
"type": "integer",
"default": null,
"maximum": 50,
"minimum": 1,
"description": "Nombre de voyageurs (information indicative)."
},
"date_end": {
"type": "string",
"pattern": "^\\d{4}-\\d{2}-\\d{2}$",
"description": "Date de départ (YYYY-MM-DD)."
},
"rental_id": {
"type": "integer",
"minimum": 1,
"description": "Identifiant de la location (champ « id » des résultats de search_rentals)."
},
"date_start": {
"type": "string",
"pattern": "^\\d{4}-\\d{2}-\\d{2}$",
"description": "Date d'arrivée (YYYY-MM-DD)."
}
}
}Fiche détaillée d'une location identifiée par l'id renvoyé par search_rentals : description, capacité et chambres, équipements, conditions de location (arrivée/départ, caution, acompte, annulation, animaux), avis voyageurs et lien vers la page du site. Les coordonnées du propriétaire ne sont jamais fournies : la mise en relation passe par le formulaire de contact du site (lien inclus).
| Argument | Type | Description |
|---|---|---|
| locale | string | Langue de la description et du lien. |
| rental_id* | integer | Identifiant de la location (champ « id » des résultats de search_rentals). |
{
"type": "object",
"required": [
"rental_id"
],
"properties": {
"locale": {
"enum": [
"fr",
"en",
"de",
"es",
"it",
"nl"
],
"type": "string",
"default": "fr",
"description": "Langue de la description et du lien."
},
"rental_id": {
"type": "integer",
"minimum": 1,
"description": "Identifiant de la location (champ « id » des résultats de search_rentals)."
}
}
}Prépare une demande de contact au propriétaire d'une location (id renvoyé par search_rentals) et renvoie le lien de son formulaire sur chalet-montagne.com, déjà rempli avec les dates, les voyageurs et le message. Rien n'est envoyé par cet outil : la personne ouvre le lien, saisit elle-même ses coordonnées et envoie la demande ; le propriétaire lui répond ensuite directement par email. Mise en relation sans commission, sans réservation ferme ni paiement.
| Argument | Type | Description |
|---|---|---|
| pets | integer | Nombre d'animaux. |
| adults* | integer | Nombre d'adultes. |
| babies | integer | Nombre de bébés. |
| locale | string | Langue de la fiche. |
| message | string | Message au propriétaire, rédigé avec l'utilisateur (facultatif). Il apparaît dans le formulaire, où la personne peut le modifier. |
| children | integer | Nombre d'enfants. |
| date_end* | string | Date de départ (YYYY-MM-DD). |
| rental_id* |
Recherche des locations de vacances à la montagne en France parmi des milliers d'annonces (chalets, appartements, studios) louées en direct par leurs propriétaires — sans commission de réservation. Sans dates, les prix renvoyés sont des tarifs à la semaine ; avec des dates, le prix est le total du séjour demandé. Les prix sont indicatifs, à confirmer par le propriétaire. Chaque résultat contient un « id » à réutiliser avec get_rental_details et check_availability_and_price, et le lien de la page correspondante sur chalet-montagne.com.
| Argument | Type | Description |
|---|---|---|
| page | integer | Page de résultats (10 par page). |
| sort | string | Tri des résultats. Défaut : pertinence. |
| guests | integer | Nombre de voyageurs (capacité de couchage minimale). |
| locale | string | Langue des libellés et des liens renvoyés. |
| date_end | string | Date de départ (YYYY-MM-DD). Requise si date_start est fournie. |
| amenities | array | Équipements exigés (tous devront être présents). |
| budget_max | integer | Budget maximum en euros pour le séjour (ou pour la semaine si pas de dates). |
| integer |
| Identifiant de la location (champ « id » des résultats de search_rentals). |
| date_start* | string | Date d'arrivée (YYYY-MM-DD). |
{
"type": "object",
"required": [
"rental_id",
"date_start",
"date_end",
"adults"
],
"properties": {
"pets": {
"type": "integer",
"default": 0,
"maximum": 10,
"minimum": 0,
"description": "Nombre d'animaux."
},
"adults": {
"type": "integer",
"maximum": 50,
"minimum": 1,
"description": "Nombre d'adultes."
},
"babies": {
"type": "integer",
"default": 0,
"maximum": 20,
"minimum": 0,
"description": "Nombre de bébés."
},
"locale": {
"enum": [
"fr",
"en",
"de",
"es",
"it",
"nl"
],
"type": "string",
"default": "fr",
"description": "Langue de la fiche."
},
"message": {
"type": "string",
"default": null,
"maxLength": 1000,
"description": "Message au propriétaire, rédigé avec l'utilisateur (facultatif). Il apparaît dans le formulaire, où la personne peut le modifier."
},
"children": {
"type": "integer",
"default": 0,
"maximum": 50,
"minimum": 0,
"description": "Nombre d'enfants."
},
"date_end": {
"type": "string",
"pattern": "^\\d{4}-\\d{2}-\\d{2}$",
"description": "Date de départ (YYYY-MM-DD)."
},
"rental_id": {
"type": "integer",
"minimum": 1,
"description": "Identifiant de la location (champ « id » des résultats de search_rentals)."
},
"date_start": {
"type": "string",
"pattern": "^\\d{4}-\\d{2}-\\d{2}$",
"description": "Date d'arrivée (YYYY-MM-DD)."
}
}
}| date_start |
| string |
| Date d'arrivée (YYYY-MM-DD). Recommandé : les prix deviennent exacts et la disponibilité est prise en compte. |
| destination | string | Station, massif, département ou domaine skiable français, en texte libre. Ex : "Les Gets", "Haute-Savoie", "Portes du Soleil". En cas d'ambiguïté le serveur propose des choix. Omettre pour chercher dans toutes les destinations. |
| bedrooms_min | integer | Nombre minimum de chambres. |
| pets_allowed | boolean | true = uniquement les locations acceptant les animaux. |
| flexible_days | integer | Tolérance en jours autour des dates (0 = dates strictes). |
| property_types | array | Types d'hébergement souhaités. |
{
"type": "object",
"properties": {
"page": {
"type": "integer",
"default": 1,
"maximum": 50,
"minimum": 1,
"description": "Page de résultats (10 par page)."
},
"sort": {
"enum": [
"price",
"capacity",
"rating"
],
"type": "string",
"default": null,
"description": "Tri des résultats. Défaut : pertinence."
},
"guests": {
"type": "integer",
"default": null,
"maximum": 50,
"minimum": 1,
"description": "Nombre de voyageurs (capacité de couchage minimale)."
},
"locale": {
"enum": [
"fr",
"en",
"de",
"es",
"it",
"nl"
],
"type": "string",
"default": "fr",
"description": "Langue des libellés et des liens renvoyés."
},
"date_end": {
"type": "string",
"default": null,
"pattern": "^\\d{4}-\\d{2}-\\d{2}$",
"description": "Date de départ (YYYY-MM-DD). Requise si date_start est fournie."
},
"amenities": {
"type": "array",
"items": {
"enum": [
"piscine",
"sauna-jacuzzi",
"cheminee",
"wifi",
"lave-vaisselle",
"lave-linge",
"television",
"parking",
"garage",
"balcon",
"terrasse",
"jardin",
"climatisation",
"barbecue",
"local-skis",
"acces-pmr"
],
"type": "string"
},
"default": null,
"maxItems": 10,
"description": "Équipements exigés (tous devront être présents)."
},
"budget_max": {
"type": "integer",
"default": null,
"minimum": 1,
"description": "Budget maximum en euros pour le séjour (ou pour la semaine si pas de dates)."
},
"date_start": {
"type": "string",
"default": null,
"pattern": "^\\d{4}-\\d{2}-\\d{2}$",
"description": "Date d'arrivée (YYYY-MM-DD). Recommandé : les prix deviennent exacts et la disponibilité est prise en compte."
},
"destination": {
"type": "string",
"default": null,
"maxLength": 100,
"description": "Station, massif, département ou domaine skiable français, en texte libre. Ex : \"Les Gets\", \"Haute-Savoie\", \"Portes du Soleil\". En cas d'ambiguïté le serveur propose des choix. Omettre pour chercher dans toutes les destinations."
},
"bedrooms_min": {
"type": "integer",
"default": null,
"maximum": 20,
"minimum": 0,
"description": "Nombre minimum de chambres."
},
"pets_allowed": {
"type": "boolean",
"default": null,
"description": "true = uniquement les locations acceptant les animaux."
},
"flexible_days": {
"type": "integer",
"default": 0,
"maximum": 14,
"minimum": 0,
"description": "Tolérance en jours autour des dates (0 = dates strictes)."
},
"property_types": {
"type": "array",
"items": {
"enum": [
"chalet",
"appartement",
"studio",
"maison",
"chambre-hotes",
"autre"
],
"type": "string"
},
"default": null,
"maxItems": 6,
"description": "Types d'hébergement souhaités."
}
}
}