# Posadita – direct-booking holiday rentals

> Holiday rentals booked direct with the host: availability, prices, checkout links. No auth.

- name: com.posadita/booking
- version: 1.0.0
- connection class: R0 (autonomous)
- trust: 83/100 flags: no-repository
- quality: 89/100 (new)
- owner: not claimed
- descriptor: https://api.protogrid.dev/v1/servers/com.posadita%2Fbooking
- tools: https://api.protogrid.dev/v1/servers/com.posadita%2Fbooking/tools

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

## Connection (mcpServers)

```json
{
  "mcpServers": {
    "booking": {
      "type": "http",
      "url": "https://mcp.posadita.com"
    }
  }
}
```


## Trust

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

## Quality 89/100 (new)

### 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: 100 (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
- pass `tools.annotations`: 5 of 5 tools declare readOnlyHint or destructiveHint
- pass `tools.directory_hints`: every tool declares readOnlyHint, destructiveHint, idempotentHint and openWorldHint
- pass `tools.token_cost`: about 1,662 tokens to load every tool
- pass `tools.api_dump`: tools are not a one-to-one API dump

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

- n/a `stability.changes`, `stability.rug_pull`: tool history recorded for 4 of the 7 days needed

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

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

- tools: 5, about 1,662 tokens to load them all
- tool set hash: 91744cbab06d8d5f5c48ce1d7123217d
- tools last changed: 2026-10-16T14:30:26.308Z
- badge: [![protogrid quality](https://protogrid.dev/badge/com.posadita/booking.svg)](https://protogrid.dev/servers/com.posadita/booking)
- 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-16 `get_property` changed (description)
  - before: One holiday rental: what it is, where (rounded when the host keeps the address private), capacity, amenities (fixed ids + labels), house rules, check-in/out times, cancellation policy, photos and a from-price per night. `bookable: false` means the page shows the place but takes no online booking – the guest contacts the host; do not quote or prepare a checkout for it. `bookingMode` says what happens after the guest presses book: `request` (host confirms), `request_hold` (card held, host confirms) or `instant`.
  - after: One holiday rental: what it is, where (rounded when the host keeps the address private), capacity, amenities (fixed ids + labels), house rules, check-in/out times, cancellation policy (`cancellation.terms` is what the level promises; for `custom` read `note`), photos and a from-price per night. `bookable: false` means the page shows the place but takes no online booking – the guest contacts the host; do not quote or prepare a checkout for it. `bookingMode` says what happens after the guest presses book: `request` (host confirms), `request_hold` (card held, host confirms) or `instant`.

Full history: https://api.protogrid.dev/v1/servers/com.posadita%2Fbooking/changes

## Remotes

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

## Packages

_none_

## Tools (5)

- `check_availability`: Which nights are free between two dates, both inclusive, at most 62 days per call. Each night has available, minStay, whether arrival/departure is allowed that day, and priceCents (null when the place takes no online booking). For the price of a whole stay use get_quote – nightly prices do not include fees or discounts.
- `create_checkout`: Prepare a stay for the guest to confirm and pay. It reserves NOTHING and books nothing: no nights are held, the host is not told, no e-mail is sent. It returns checkoutUrl, a link you must give to the guest; the GUEST opens it, checks the stay, agrees to the host's terms and pays. Until they do, anyone else can book those nights. The link expires after 24 hours. Never tell the guest they are booked, and never try to complete the booking for them. Quote first; contact details are optional and only pre-fill the form, which the guest can change. Limited to a few per hour per caller.
- `get_property`: One holiday rental: what it is, where (rounded when the host keeps the address private), capacity, amenities (fixed ids + labels), house rules, check-in/out times, cancellation policy (`cancellation.terms` is what the level promises; for `custom` read `note`), photos and a from-price per night. `bookable: false` means the page shows the place but takes no online booking – the guest contacts the host; do not quote or prepare a checkout for it. `bookingMode` says what happens after the guest presses book: `request` (host confirms), `request_hold` (card held, host confirms) or `instant`.
- `get_quote`: The total price of one stay for a party, with its breakdown (nights, length discount, extra-guest fee, cleaning) – the same calculation that charges the guest. Amounts are integer cents. When the stay cannot be booked the answer has ok:false and a reason: unavailable (with the taken dates), min_stay (with minStay), no_checkin_day, no_checkout_day, max_guests (with maxGuests), no_rates or invalid_range. A quote holds nothing.
- `search_stays`: Search ONE collection – a host's portfolio, a residential community or a destination – named by its slug (posadita.com/s/{slug}, or from /llms.txt). There is no search across all of Posadita. With dates and guests every place is priced for exactly that stay (totalCents, the same figure get_quote gives) and those that can be booked come first; without dates you get each place's from-price per night. Only places with bookable:true can be quoted or checked out; the others are booked by contacting their host.
