booking
Hôtel-Rooftop Les Voiles, Toulon Mourillon : disponibilités, tarifs réels et table au rooftop.
Should I use this
Quality & Safety
Findings (7)
- LOWin create_booking_session
- LOWin get_booking_session
- LOWin update_booking_session
- LOWin get_check_in
- LOWin get_folio
- LOWin get_rooftop_availability
- LOWin fetch
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": {
"booking": {
"url": "https://hotels-toulon-mer.com/mcp"
}
}
}Remote endpoints
https://hotels-toulon-mer.com/mcpstreamable-httpWhat it can do
Tool inventory
Tools (12)
🟢create_booking_session(meta, booking)
Ouvre une session de réservation à l’Hôtel-Rooftop Les Voiles (Toulon, Mourillon) pour des dates et une occupation données. Rend la chambre et le tarif réellement disponibles, le prix total en centimes d’euro, et une URL pour finaliser. Seuls les tarifs PRÉPAYÉS se réservent par agent : le séjour est réglé en totalité à la réservation, et n’est pas remboursable. Rend une erreur claire si l’hôtel est complet ou fermé sur la période.
Input Schema
{
"type": "object",
"properties": {
"meta": {
"type": "object",
"description": "Métadonnées de protocole UCP."
},
"booking": {
"type": "object",
"properties": {
"property": {
"type": "object",
"properties": {
"id": {
"type": "string"
}
}
},
"booker": {
"type": "object",
"description": "Le client qui réserve. Son nom est nécessaire avant de conclure.",
"properties": {
"first_name": {
"type": "string"
},
"last_name": {
"type": "string"
},
"email": {
"type": "string"
},
"phone_number": {
"type": "string"
}
}
},
"stays": {
"type": "array",
"items": {
"type": "object",
"properties": {
"accommodation_type": {
"type": "object",
"properties": {
"id": {
"type": "string"
}
}
},
"rate_plan": {
"type": "object",
"properties": {
"id": {
"type": "string"
}
}
},
"occupancy": {
"type": "object",
"properties": {
"adults": {
"type": "integer"
}
}
},
"stay_dates": {
"type": "object",
"properties": {
"start_date": {
"type": "string"
},
"end_date": {
"type": "string"
}
},
"required": [
"start_date",
"end_date"
]
}
},
"required": [
"stay_dates"
]
}
}
},
"required": [
"stays"
]
}
},
"required": [
"booking"
]
}🟢get_booking_session(meta, booking)
Relit une session de réservation ouverte, par son identifiant.
Input Schema
{
"type": "object",
"properties": {
"meta": {
"type": "object"
},
"booking": {
"type": "object",
"properties": {
"id": {
"type": "string"
}
},
"required": [
"id"
]
}
},
"required": [
"booking"
]
}🟡update_booking_session(meta, id, booking)
Enregistre le client qui réserve (`booker`) sur une session ouverte. Le nom du client est nécessaire pour conclure une réservation ; cet outil permet de le fournir après l’ouverture de la session.
Input Schema
{
"type": "object",
"properties": {
"meta": {
"type": "object"
},
"id": {
"type": "string"
},
"booking": {
"type": "object",
"properties": {
"id": {
"type": "string"
},
"booker": {
"type": "object",
"properties": {
"first_name": {
"type": "string"
},
"last_name": {
"type": "string"
},
"email": {
"type": "string"
},
"phone_number": {
"type": "string"
}
}
}
}
}
}
}🟢search(query)
Cherche une réponse dans ce que l’hôtel dit de lui-même : arrivée et départ, ce qui est compris dans le prix, les chambres, le rooftop, les conditions d’annulation, les animaux, la privatisation. Rend des extraits avec un identifiant ; `fetch` en donne le texte entier. Ne contient ni prix ni disponibilité.
Input Schema
{
"type": "object",
"properties": {
"query": {
"type": "string",
"description": "La question, en français ou en anglais."
}
},
"required": [
"query"
]
}🟢fetch(id)
Le texte complet d’un résultat de `search`, par son identifiant.
Input Schema
{
"type": "object",
"properties": {
"id": {
"type": "string"
}
},
"required": [
"id"
]
}🟢get_alternative_dates(start_date, end_date, adults)
Des séjours de même durée, proches des dates demandées, et réellement disponibles. Utile quand `create_booking_session` ne trouve rien : sur seize chambres, deux jours de décalage suffisent souvent. Rend jusqu’à trois propositions, de la plus proche à la plus lointaine, avec leur prix tout compris.
Input Schema
{
"type": "object",
"properties": {
"start_date": {
"type": "string",
"description": "Arrivée souhaitée, AAAA-MM-JJ."
},
"end_date": {
"type": "string",
"description": "Départ souhaité, AAAA-MM-JJ."
},
"adults": {
"type": "integer",
"description": "Nombre d’adultes. 2 par défaut."
}
},
"required": [
"start_date",
"end_date"
]
}🟢get_property_details
Tout ce qu’il faut savoir pour DÉCRIRE l’Hôtel-Rooftop Les Voiles à un client : situation, étoiles, horaires d’arrivée et de départ, équipements compris (et ce qui ne l’est pas), petit-déjeuner, rooftop, catégories de chambres, conditions tarifaires et taxe de séjour. Ne contient ni prix ni disponibilité : ceux-ci viennent de `create_booking_session`.
Input Schema
{
"type": "object",
"properties": {}
}🟢get_stay(stay_key)
Relit un séjour déjà réservé : dates, numéro de réservation, chambre attribuée. Exige la clé du séjour (`stay_key`), celle remise dans la confirmation. Rappel : un séjour réservé par agent est prépayé — il n’est ni annulable, ni modifiable.
Input Schema
{
"type": "object",
"properties": {
"stay_key": {
"type": "string",
"description": "La clé remise dans la confirmation."
}
},
"required": [
"stay_key"
]
}🟢get_check_in(stay_key)
Le code du portail, le numéro de chambre et le code de la porte — l’hôtel n’a pas de réception 24 h/24 et l’arrivée est autonome. Délivrés SEULEMENT le jour de l’arrivée, à partir de 15 h, et une fois la chambre faite. Sinon, dit ce qui manque et à partir de quand revenir.
Input Schema
{
"type": "object",
"properties": {
"stay_key": {
"type": "string"
}
},
"required": [
"stay_key"
]
}🟢get_folio(stay_key)
La note du séjour : le détail des prestations, ce qui est déjà réglé, et ce qui reste dû.
Input Schema
{
"type": "object",
"properties": {
"stay_key": {
"type": "string"
}
},
"required": [
"stay_key"
]
}🟢get_rooftop_availability(start_date, end_date, party_size)
Les soirs où une table est libre au Rooftop des Voiles (Toulon), sur une période donnée. Dit pour chaque soir s’il est réservable, et sinon si le rooftop est FERMÉ ou COMPLET — les deux ne se disent pas de la même façon à un client. Le rooftop accueille jusqu’à 5 personnes par table.
Input Schema
{
"type": "object",
"properties": {
"start_date": {
"type": "string",
"description": "Premier soir regardé, AAAA-MM-JJ."
},
"end_date": {
"type": "string",
"description": "Dernier soir regardé, AAAA-MM-JJ."
},
"party_size": {
"type": "integer",
"description": "Nombre de couverts. 2 par défaut."
}
},
"required": [
"start_date",
"end_date"
]
}🟡create_rooftop_reservation(date, time, party_size, name, phone, ...)
Réserve une table au Rooftop des Voiles. La table est tenue IMMÉDIATEMENT et fermement : il n’y a rien à confirmer ensuite, et aucun paiement n’est demandé. Rend une erreur claire si le rooftop est fermé, complet, ou si le service du soir est passé.
Input Schema
{
"type": "object",
"properties": {
"date": {
"type": "string",
"description": "Le soir, AAAA-MM-JJ."
},
"time": {
"type": "string",
"description": "Créneau, par exemple « 19h30 ». Le premier possible si absent."
},
"party_size": {
"type": "integer",
"description": "Nombre de couverts, 5 au maximum."
},
"name": {
"type": "string",
"description": "Nom au nom duquel la table est tenue."
},
"phone": {
"type": "string"
},
"email": {
"type": "string"
},
"note": {
"type": "string",
"description": "Allergies, occasion, demande particulière."
}
},
"required": [
"date",
"party_size",
"name"
]
}Community
Evidence