An MCP server for hotel reservation management at Thaïs hotel. Provides tools to check room availability, get room details, list room types, and create e-reservations through a partner API.
The server defines 4 hotel booking tools with reasonable naming (verb_noun pattern), but description quality varies significantly. Tool names follow action-verb convention (check_*, list_*, create_*), which is good. However, descriptions lack context about when to use each tool versus alternatives, and output schemas are not documented. Parameters have types and most have descriptions, but several are missing format guidance. Error handling is not visible in the provided code. The server targets a French-speaking hotel booking domain with good parameter granularity (adults/children/infants separation, date handling). Overall: solid foundation but missing key LLM-optimization details that would elevate this to 70+.
Vérifie les disponibilités et les prix des chambres pour une période et un nombre de personnes donnés.\ Après avoir affiché les résultats, proposer systématiquement à l'utilisateur de voir les détails d'une chambre.
Crée une e-réservation dans le planning de l'hôtel. À utiliser uniquement quand l'utilisateur confirme explicitement qu'il veut réserver.
Récupère les détails complets d'une chambre : prix exact, taxe de séjour, capacité, restrictions de séjour, etc.\ Appeler automatiquement dès que l'utilisateur mentionne une chambre spécifique ou demande à en savoir plus.
Lists available room types with their capacity and description.
Output schemas not documented for any tool. LLMs cannot plan downstream calls or extract structured data when they don't know what fields to expect.
Tool interdependencies not documented in descriptions. The system prompt mentions that thais_get_room_details must be called before create_e_reservation, but this is not stated in the tool descriptions themselves. LLMs cannot infer the required call sequence.
thais_list_room_types description is too short (55 chars, below the 10 - 200 optimal range). It does not explain when to call it or how it guides subsequent tool selection.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-22 | D | 58 | 2026-07-28+ | v2 |
| 2026-03-09 | F | 47 | - | v1 |
Error handling and recovery guidance not visible. No tool descriptions mention what happens on failure (room no longer available, invalid dates, no matching rooms). Agents cannot self-correct without error context.
Parameter format constraints missing. Date parameters (checkIn, checkOut) lack regex patterns or explicit format declarations. Email parameter lacks format validation. Date conversion hints are embedded in descriptions rather than enforced as schema constraints.
Tool descriptions include example values (e.g., 'Triple', 'Suite') rather than using enums. LLMs may treat these as the only valid options or reuse them literally in unrelated calls.
No confirmation/dry-run pattern for the destructive tool (thais_create_e_reservation). Agents can accidentally book rooms without explicit user consent verification.