Server definition
- Hash
- sha256:ab4f423cd770fb6ce31322a8bcaedafdfd5b0e2591c992ac1d2afa79f6efed3b
- What it is
- What a remote MCP server returned when asked what it offers: 12 tools
The blob, as servednamed by its sha256
{
"instructions": "Ce serveur appartient à l’Hôtel-Rooftop Les Voiles (Toulon, Mourillon), qui vend en direct sans intermédiaire.\n\n· Les prix et les disponibilités s’obtiennent UNIQUEMENT par les outils. Ne jamais les estimer, ni les reprendre d’une réponse précédente : ils changent quand une chambre se vend.\n· Les prix rendus sont TOUT COMPRIS — petit-déjeuner et taxe de séjour inclus. Ne rien ajouter, ne pas annoncer de supplément à l’arrivée.\n· Si les dates demandées sont complètes, appeler `get_alternative_dates` avant de renoncer : l’hôtel a souvent de la place à quelques jours près.\n· Les questions sur la maison se répondent par `get_property_details` ou `search`, pas de mémoire.\n· Seul le tarif prépayé se réserve par agent : réglé en totalité, non remboursable, dates non modifiables. Le dire avant de faire payer.\n· Transmettre les liens rendus sans les modifier.",
"tools": [
{
"description": "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.",
"inputSchema": {
"properties": {
"booking": {
"properties": {
"booker": {
"description": "Le client qui réserve. Son nom est nécessaire avant de conclure.",
"properties": {
"email": {
"type": "string"
},
"first_name": {
"type": "string"
},
"last_name": {
"type": "string"
},
"phone_number": {
"type": "string"
}
},
"type": "object"
},
"property": {
"properties": {
"id": {
"type": "string"
}
},
"type": "object"
},
"stays": {
"items": {
"properties": {
"accommodation_type": {
"properties": {
"id": {
"type": "string"
}
},
"type": "object"
},
"occupancy": {
"properties": {
"adults": {
"type": "integer"
}
},
"type": "object"
},
"rate_plan": {
"properties": {
"id": {
"type": "string"
}
},
"type": "object"
},
"stay_dates": {
"properties": {
"end_date": {
"type": "string"
},
"start_date": {
"type": "string"
}
},
"required": [
"start_date",
"end_date"
],
"type": "object"
}
},
"required": [
"stay_dates"
],
"type": "object"
},
"type": "array"
}
},
"required": [
"stays"
],
"type": "object"
},
"meta": {
"description": "Métadonnées de protocole UCP.",
"type": "object"
}
},
"required": [
"booking"
],
"type": "object"
},
"name": "create_booking_session",
"outputSchema": null
},
{
"description": "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é.",
"inputSchema": {
"properties": {
"date": {
"description": "Le soir, AAAA-MM-JJ.",
"type": "string"
},
"email": {
"type": "string"
},
"name": {
"description": "Nom au nom duquel la table est tenue.",
"type": "string"
},
"note": {
"description": "Allergies, occasion, demande particulière.",
"type": "string"
},
"party_size": {
"description": "Nombre de couverts, 5 au maximum.",
"type": "integer"
},
"phone": {
"type": "string"
},
"time": {
"description": "Créneau, par exemple « 19h30 ». Le premier possible si absent.",
"type": "string"
}
},
"required": [
"date",
"party_size",
"name"
],
"type": "object"
},
"name": "create_rooftop_reservation",
"outputSchema": null
},
{
"description": "Le texte complet d’un résultat de `search`, par son identifiant.",
"inputSchema": {
"properties": {
"id": {
"type": "string"
}
},
"required": [
"id"
],
"type": "object"
},
"name": "fetch",
"outputSchema": null
},
{
"description": "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.",
"inputSchema": {
"properties": {
"adults": {
"description": "Nombre d’adultes. 2 par défaut.",
"type": "integer"
},
"end_date": {
"description": "Départ souhaité, AAAA-MM-JJ.",
"type": "string"
},
"start_date": {
"description": "Arrivée souhaitée, AAAA-MM-JJ.",
"type": "string"
}
},
"required": [
"start_date",
"end_date"
],
"type": "object"
},
"name": "get_alternative_dates",
"outputSchema": null
},
{
"description": "Relit une session de réservation ouverte, par son identifiant.",
"inputSchema": {
"properties": {
"booking": {
"properties": {
"id": {
"type": "string"
}
},
"required": [
"id"
],
"type": "object"
},
"meta": {
"type": "object"
}
},
"required": [
"booking"
],
"type": "object"
},
"name": "get_booking_session",
"outputSchema": null
},
{
"description": "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.",
"inputSchema": {
"properties": {
"stay_key": {
"type": "string"
}
},
"required": [
"stay_key"
],
"type": "object"
},
"name": "get_check_in",
"outputSchema": null
},
{
"description": "La note du séjour : le détail des prestations, ce qui est déjà réglé, et ce qui reste dû.",
"inputSchema": {
"properties": {
"stay_key": {
"type": "string"
}
},
"required": [
"stay_key"
],
"type": "object"
},
"name": "get_folio",
"outputSchema": null
},
{
"description": "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`.",
"inputSchema": {
"properties": {},
"type": "object"
},
"name": "get_property_details",
"outputSchema": null
},
{
"description": "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.",
"inputSchema": {
"properties": {
"end_date": {
"description": "Dernier soir regardé, AAAA-MM-JJ.",
"type": "string"
},
"party_size": {
"description": "Nombre de couverts. 2 par défaut.",
"type": "integer"
},
"start_date": {
"description": "Premier soir regardé, AAAA-MM-JJ.",
"type": "string"
}
},
"required": [
"start_date",
"end_date"
],
"type": "object"
},
"name": "get_rooftop_availability",
"outputSchema": null
},
{
"description": "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.",
"inputSchema": {
"properties": {
"stay_key": {
"description": "La clé remise dans la confirmation.",
"type": "string"
}
},
"required": [
"stay_key"
],
"type": "object"
},
"name": "get_stay",
"outputSchema": null
},
{
"description": "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é.",
"inputSchema": {
"properties": {
"query": {
"description": "La question, en français ou en anglais.",
"type": "string"
}
},
"required": [
"query"
],
"type": "object"
},
"name": "search",
"outputSchema": null
},
{
"description": "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.",
"inputSchema": {
"properties": {
"booking": {
"properties": {
"booker": {
"properties": {
"email": {
"type": "string"
},
"first_name": {
"type": "string"
},
"last_name": {
"type": "string"
},
"phone_number": {
"type": "string"
}
},
"type": "object"
},
"id": {
"type": "string"
}
},
"type": "object"
},
"id": {
"type": "string"
},
"meta": {
"type": "object"
}
},
"type": "object"
},
"name": "update_booking_session",
"outputSchema": null
}
]
}Verify it yourself
curl -s https://api.teppi.xyz/v1/evidence/sha256:ab4f423cd770fb6ce31322a8bcaedafdfd5b0e2591c992ac1d2afa79f6efed3b | sha256sum