# Yasha Hotel — Direct Booking

> Book Yasha Hotel Luxembourg: live availability, exact prices, Stripe-secured booking.

- name: io.github.jeffreyturov-dev/yasha-hotel
- version: 1.0.0
- connection class: R0 (autonomous)
- trust: 80/100 flags: no-repository
- quality: 79/100 (good)
- owner: not claimed
- descriptor: https://api.protogrid.dev/v1/servers/io.github.jeffreyturov-dev%2Fyasha-hotel
- tools: https://api.protogrid.dev/v1/servers/io.github.jeffreyturov-dev%2Fyasha-hotel/tools

**An agent can connect right now, no human step.** Remote endpoint, no authentication, reachable on the last probe.

## Connection (mcpServers)

```json
{
  "mcpServers": {
    "yasha-hotel": {
      "type": "http",
      "url": "https://yashahotel.com/mcp"
    }
  }
}
```


## Trust

- hygiene: 80
- liveness: 100
- freshness: 100
- provenance: 45
- drivers: +website +reachable +uptime-100% +updated-9d-ago -no-repository
- Derived from observable signals (official registry feed and our own credential-free probes); no code audit performed.

## Quality 79/100 (good)

### protocol: 75 (weight 25)

- warn `protocol.modern`: newest supported version is 2025-11-25; 2026-07-28 not supported, older versions are deprecated until 2027-07-28
- n/a `protocol.stateless`: only applies to 2026-07-28 servers
- pass `protocol.transport`: streamable HTTP
- n/a `protocol.list_ttl`: only applies to 2026-07-28 servers

### authorization: n/a (weight 15)

- n/a `auth.prm`, `auth.as_metadata`, `auth.cimd`: no remote uses OAuth
- n/a `auth.secret_in_url`: no templated URL

### tool hygiene: 71 (weight 30)

- pass `tools.descriptions`: every tool has a description
- pass `tools.description_length`: descriptions are concise
- pass `tools.schemas`: every tool has an object input schema
- fail `tools.annotations`: no tool declares readOnlyHint or destructiveHint, so clients cannot tell safe calls from risky ones
- fail `tools.directory_hints`: no tool declares all four of readOnlyHint, destructiveHint, idempotentHint and openWorldHint; missing: validate_promo_code (readOnlyHint, destructiveHint, idempotentHint, openWorldHint); get_price_calendar (readOnlyHint, destructiveHint, idempotentHint, openWorldHint); list_extras (readOnlyHint, destructiveHint, idempotentHint, openWorldHint); …
- pass `tools.token_cost`: about 1,362 tokens to load every tool
- pass `tools.api_dump`: tools are not a one-to-one API dump

### stability: 100 (weight 15)

- pass `stability.changes`: 1 tool changes in 30 days
- pass `stability.rug_pull`: no tool changed its meaning under the same name

### dependencies: n/a (weight 15)

- n/a `deps.known_vulns`, `deps.mcp_sdk_version`, `deps.resolvable`: no npm or PyPI package

- tools: 8, about 1,362 tokens to load them all
- tool set hash: 02cc07b911334edf251783d83d2b8321
- tools last changed: 2026-10-12T17:44:59.545Z
- badge: [![protogrid quality](https://protogrid.dev/badge/io.github.jeffreyturov-dev/yasha-hotel.svg)](https://protogrid.dev/servers/io.github.jeffreyturov-dev/yasha-hotel)
- Checks run on what our credential-free, read-only probes observe; tools are never called and no code audit is performed.

### Tool changes

- 2026-10-12 `check_availability` changed (inputSchema)

Full history: https://api.protogrid.dev/v1/servers/io.github.jeffreyturov-dev%2Fyasha-hotel/changes

## Remotes

- https://yashahotel.com/mcp (streamable-http, auth none, reachable true, uptime30d 1)

## Packages

_none_

## Tools (8)

- `check_availability`: 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.
- `create_booking`: 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.
- `get_booking_status`: 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.
- `get_price_calendar`: 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.
- `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.
- `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.
- `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.
- `validate_promo_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).
