Chalet-Montagne.com
Search French mountain holiday rentals and contact owners directly — commission-free.
使うべきか
品質と安全性
ツール定義とプロトコルへの準拠に関する自動分析に基づいています。
コンテキストコスト
これは、サーバーのツールがモデルのコンテキストに読み込まれるたびに消費されるおおよそのトークン数です。数が多いほど、ほかのタスクに使える注意が減ります。
インストール
ワンクリックインストール
これを `claude_desktop_config.json` ファイルに追加してください:
{
"mcpServers": {
"rentals": {
"url": "https://mcp.chalet-montagne.com/mcp"
}
}
}リモートエンドポイント
https://mcp.chalet-montagne.com/mcpstreamable-httpできること
ツール一覧
ツール(4)
🟢check_availability_and_price(rental_id, date_start, date_end, guests)
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.
入力スキーマ
{
"type": "object",
"properties": {
"rental_id": {
"type": "integer",
"description": "Identifiant de la location (champ « id » des résultats de search_rentals).",
"minimum": 1
},
"date_start": {
"type": "string",
"description": "Date d'arrivée (YYYY-MM-DD).",
"pattern": "^\\d{4}-\\d{2}-\\d{2}$"
},
"date_end": {
"type": "string",
"description": "Date de départ (YYYY-MM-DD).",
"pattern": "^\\d{4}-\\d{2}-\\d{2}$"
},
"guests": {
"type": "integer",
"default": null,
"description": "Nombre de voyageurs (information indicative).",
"minimum": 1,
"maximum": 50
}
},
"required": [
"rental_id",
"date_start",
"date_end"
]
}🟡send_rental_inquiry(rental_id, date_start, date_end, adults, message, ...)
Transmet une demande de contact au propriétaire d'une location (id renvoyé par search_rentals). IMPORTANT : avant d'appeler cet outil, obtenir la confirmation explicite de l'utilisateur pour (1) l'envoi de la demande et (2) la transmission de ses coordonnées (nom, email, téléphone éventuel) au propriétaire, puis passer user_confirmed=true. Le propriétaire répond ensuite directement à l'utilisateur par email — mise en relation sans commission, AUCUNE réservation ferme ni paiement via cet outil. Le message personnel (min. 30 caractères) doit être rédigé avec l'utilisateur.
入力スキーマ
{
"type": "object",
"properties": {
"rental_id": {
"type": "integer",
"description": "Identifiant de la location (champ « id » des résultats de search_rentals).",
"minimum": 1
},
"date_start": {
"type": "string",
"description": "Date d'arrivée (YYYY-MM-DD).",
"pattern": "^\\d{4}-\\d{2}-\\d{2}$"
},
"date_end": {
"type": "string",
"description": "Date de départ (YYYY-MM-DD).",
"pattern": "^\\d{4}-\\d{2}-\\d{2}$"
},
"adults": {
"type": "integer",
"description": "Nombre d'adultes.",
"minimum": 1,
"maximum": 50
},
"message": {
"type": "string",
"description": "Message personnel au propriétaire, rédigé avec l'utilisateur (min. 30 caractères).",
"minLength": 30,
"maxLength": 4000
},
"first_name": {
"type": "string",
"description": "Prénom de l'utilisateur.",
"minLength": 1,
"maxLength": 80
},
"last_name": {
"type": "string",
"description": "Nom de famille de l'utilisateur.",
"minLength": 1,
"maxLength": 80
},
"email": {
"type": "string",
"description": "Email de l'utilisateur — le propriétaire y répondra directement.",
"format": "email",
"maxLength": 180
},
"user_confirmed": {
"type": "boolean",
"description": "DOIT être true : l'utilisateur a explicitement confirmé l'envoi ET le partage de ses coordonnées avec le propriétaire."
},
"children": {
"type": "integer",
"default": 0,
"description": "Nombre d'enfants.",
"minimum": 0,
"maximum": 50
},
"babies": {
"type": "integer",
"default": 0,
"description": "Nombre de bébés.",
"minimum": 0,
"maximum": 20
},
"pets": {
"type": "integer",
"default": 0,
"description": "Nombre d'animaux.",
"minimum": 0,
"maximum": 10
},
"phone": {
"type": "string",
"default": null,
"description": "Téléphone de l'utilisateur (optionnel — minimisation des données).",
"maxLength": 20
},
"locale": {
"type": "string",
"default": "fr",
"description": "Langue de la fiche consultée.",
"enum": [
"fr",
"en",
"de",
"es",
"it",
"nl"
]
}
},
"required": [
"rental_id",
"date_start",
"date_end",
"adults",
"message",
"first_name",
"last_name",
"email",
"user_confirmed"
]
}🟢get_rental_details(rental_id, locale)
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).
入力スキーマ
{
"type": "object",
"properties": {
"rental_id": {
"type": "integer",
"description": "Identifiant de la location (champ « id » des résultats de search_rentals).",
"minimum": 1
},
"locale": {
"type": "string",
"default": "fr",
"description": "Langue de la description et du lien.",
"enum": [
"fr",
"en",
"de",
"es",
"it",
"nl"
]
}
},
"required": [
"rental_id"
]
}🟢search_rentals(destination, date_start, date_end, flexible_days, guests, ...)
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 un lien vers la page du site à proposer à l'utilisateur.
入力スキーマ
{
"type": "object",
"properties": {
"destination": {
"type": "string",
"default": null,
"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.",
"maxLength": 100
},
"date_start": {
"type": "string",
"default": null,
"description": "Date d'arrivée (YYYY-MM-DD). Recommandé : les prix deviennent exacts et la disponibilité est prise en compte.",
"pattern": "^\\d{4}-\\d{2}-\\d{2}$"
},
"date_end": {
"type": "string",
"default": null,
"description": "Date de départ (YYYY-MM-DD). Requise si date_start est fournie.",
"pattern": "^\\d{4}-\\d{2}-\\d{2}$"
},
"flexible_days": {
"type": "integer",
"default": 0,
"description": "Tolérance en jours autour des dates (0 = dates strictes).",
"minimum": 0,
"maximum": 14
},
"guests": {
"type": "integer",
"default": null,
"description": "Nombre de voyageurs (capacité de couchage minimale).",
"minimum": 1,
"maximum": 50
},
"bedrooms_min": {
"type": "integer",
"default": null,
"description": "Nombre minimum de chambres.",
"minimum": 0,
"maximum": 20
},
"property_types": {
"type": "array",
"default": null,
"description": "Types d'hébergement souhaités.",
"items": {
"type": "string",
"enum": [
"chalet",
"appartement",
"studio",
"maison",
"chambre-hotes",
"autre"
]
},
"maxItems": 6
},
"amenities": {
"type": "array",
"default": null,
"description": "Équipements exigés (tous devront être présents).",
"items": {
"type": "string",
"enum": [
"piscine",
"sauna-jacuzzi",
"cheminee",
"wifi",
"lave-vaisselle",
"lave-linge",
"television",
"parking",
"garage",
"balcon",
"terrasse",
"jardin",
"climatisation",
"barbecue",
"local-skis",
"acces-pmr"
]
},
"maxItems": 10
},
"budget_max": {
"type": "integer",
"default": null,
"description": "Budget maximum en euros pour le séjour (ou pour la semaine si pas de dates).",
"minimum": 1
},
"pets_allowed": {
"type": "boolean",
"default": null,
"description": "true = uniquement les locations acceptant les animaux."
},
"sort": {
"type": "string",
"default": null,
"description": "Tri des résultats. Défaut : pertinence.",
"enum": [
"price",
"capacity",
"rating"
]
},
"page": {
"type": "integer",
"default": 1,
"description": "Page de résultats (10 par page).",
"minimum": 1,
"maximum": 50
},
"locale": {
"type": "string",
"default": "fr",
"description": "Langue des libellés et des liens renvoyés.",
"enum": [
"fr",
"en",
"de",
"es",
"it",
"nl"
]
}
}
}コミュニティ
エビデンス