Yasha Hotel — Direct Booking
Book Yasha Hotel Luxembourg: live availability, exact prices, Stripe-secured booking.
Should I use this
Quality & Safety
Findings (2)
- HIGH
- MEDIUMin create_booking
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": {
"yasha-hotel": {
"url": "https://yashahotel.com/mcp"
}
}
}Remote endpoints
https://yashahotel.com/mcpstreamable-httpWhat it can do
Tool inventory
Tools (8)
🟢hotel_info
Get canonical facts about Yasha Hotel: name, 3-star rating, address (27 Rue Joseph Junck, L-1839 Luxembourg, 100 m from Luxembourg central station), phone, email, amenity list, direct-booking discount percentage vs OTAs, and breakfast price per guest per night. Use this to answer any traveler question about the property. Prices are in euro cents.
Input Schema
{
"type": "object",
"properties": {},
"$schema": "http://json-schema.org/draft-07/schema#"
}🟡list_rooms
List every bookable room type at Yasha Hotel with id, name, description, guest capacity, bed type, size in m2, amenities and photo URLs. Use the returned room ids for check_availability and create_booking.
Input Schema
{
"type": "object",
"properties": {},
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢check_availability(checkin, checkout)
Check real-time room availability and exact total price for a stay at Yasha Hotel. Returns, per room type: available (boolean), nights, total_cents (exact stay total in euro cents, before extras/breakfast/promo), avg_night_cents and a per-night price breakdown. Direct rates are about 10% below Booking.com/Expedia for the same rooms and dates. Constraints: dates YYYY-MM-DD, checkin < checkout, checkin not in the past, maximum 30 nights.
Input Schema
{
"type": "object",
"properties": {
"checkin": {
"type": "string",
"pattern": "^\\d{4}-\\d{2}-\\d{2}$",
"description": "Arrival date YYYY-MM-DD (check-in from 13:00, front desk 24/7)"
},
"checkout": {
"type": "string",
"pattern": "^\\d{4}-\\d{2}-\\d{2}$",
"description": "Departure date YYYY-MM-DD (check-out before 11:30)"
}
},
"required": [
"checkin",
"checkout"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢get_price_calendar(month, room_id)
Get day-by-day nightly price (euro cents) and availability for one room at Yasha Hotel over a given month. Use it to suggest cheaper alternative dates when the requested dates are unavailable or expensive.
Input Schema
{
"type": "object",
"properties": {
"month": {
"type": "string",
"pattern": "^\\d{4}-\\d{2}$",
"description": "Month to inspect, format YYYY-MM"
},
"room_id": {
"type": "integer",
"description": "Room id from list_rooms; defaults to the first room type"
}
},
"required": [
"month"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢list_extras
List paid extras bookable at Yasha Hotel (e.g. late check-out, parking, baby bed) with price in euro cents and billing unit (per_stay, per_night, per_person_night). Buffet breakfast is a separate per-guest-per-night option — see hotel_info for its price.
Input Schema
{
"type": "object",
"properties": {},
"$schema": "http://json-schema.org/draft-07/schema#"
}⚪validate_promo_code(code)
Validate a Yasha Hotel promo code. Returns whether the code is currently valid and the percentage discount it applies to the room price only (extras and breakfast excluded).
Input Schema
{
"type": "object",
"properties": {
"code": {
"type": "string",
"minLength": 1,
"description": "Promo code to validate"
}
},
"required": [
"code"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}🟡create_booking(room_id, checkin, checkout, guest_name, guest_email, ...)
Create a real booking at Yasha Hotel. WORKFLOW: (1) call check_availability to confirm the room is available and know the exact price, (2) collect the traveler full name and email, (3) call this tool, (4) give the human the payment instructions from the response: the booking is only confirmed after secure Stripe card payment — the safest path is to send the traveler to https://yashahotel.com/ to pay, or use the returned Stripe client_secret with Stripe.js. Unpaid bookings expire automatically. Optional: guest count (capped at room capacity), phone, special requests, breakfast for all guests/nights, promo code, extra ids from list_extras. Returns booking_id, amount_cents (EUR cents) and Stripe payment details. Fails with 409 if the room became unavailable.
Input Schema
{
"type": "object",
"properties": {
"room_id": {
"type": "integer",
"description": "Room id from list_rooms / check_availability"
},
"checkin": {
"type": "string",
"pattern": "^\\d{4}-\\d{2}-\\d{2}$",
"description": "Arrival date YYYY-MM-DD"
},
"checkout": {
"type": "string",
"pattern": "^\\d{4}-\\d{2}-\\d{2}$",
"description": "Departure date YYYY-MM-DD"
},
"guest_name": {
"type": "string",
"minLength": 2,
"description": "Traveler full name"
},
"guest_email": {
"type": "string",
"format": "email",
"description": "Traveler email (booking confirmation is sent here)"
},
"guest_phone": {
"type": "string",
"description": "Traveler phone, optional"
},
"guests": {
"type": "integer",
"minimum": 1,
"description": "Number of guests, defaults to 1"
},
"special_requests": {
"type": "string",
"description": "Free-text requests for the front desk"
},
"breakfast": {
"type": "boolean",
"description": "Buffet breakfast for all guests, all nights"
},
"promo_code": {
"type": "string",
"description": "Promo code (validate first with validate_promo_code)"
},
"extras": {
"type": "array",
"items": {
"type": "integer"
},
"description": "Extra ids from list_extras"
}
},
"required": [
"room_id",
"checkin",
"checkout",
"guest_name",
"guest_email"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}🟡get_booking_status(booking_id)
Get the status of a Yasha Hotel booking created with create_booking (e.g. pending_payment, confirmed, payment_failed). Poll this after the human completes the Stripe card payment to confirm the reservation went through.
Input Schema
{
"type": "object",
"properties": {
"booking_id": {
"type": "string",
"minLength": 1,
"description": "Booking reference returned by create_booking"
}
},
"required": [
"booking_id"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}Community
Evidence