# BookHotels.direct

> Is a hotel cheaper on its own website than on Booking.com? An honest, like-for-like check.

- name: direct.bookhotels/hotel-price-check
- version: 0.46.1
- connection class: R0 (autonomous)
- trust: 82/100 flags: no-repository
- quality: 88/100 (good)
- owner: not claimed
- descriptor: https://api.protogrid.dev/v1/servers/direct.bookhotels%2Fhotel-price-check
- tools: https://api.protogrid.dev/v1/servers/direct.bookhotels%2Fhotel-price-check/tools

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

## Connection (mcpServers)

```json
{
  "mcpServers": {
    "hotel-price-check": {
      "type": "http",
      "url": "https://bookhotels.direct/mcp"
    }
  }
}
```


## Trust

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

## Quality 88/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: 94 (weight 30)

- pass `tools.descriptions`: every tool has a description
- warn `tools.description_length`: 1 tools have descriptions over 1,024 characters, which crowds the context
- pass `tools.schemas`: every tool has an object input schema
- pass `tools.annotations`: 3 of 3 tools declare readOnlyHint or destructiveHint
- pass `tools.directory_hints`: every tool declares readOnlyHint, destructiveHint, idempotentHint and openWorldHint
- pass `tools.token_cost`: about 2,188 tokens to load every tool
- pass `tools.api_dump`: tools are not a one-to-one API dump
- pass `tools.hidden_text`: no hidden text in tool names, descriptions, schemas or annotations

### stability: 100 (weight 15)

- pass `stability.changes`: 3 tool changes in 30 days
- pass `stability.rug_pull`: no tool changed its meaning under the same name
- pass `stability.new_links`: no tool change named a new site

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

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

- tools: 3, about 2,188 tokens to load them all
- tool set hash: 6e26b0793a32c58f14f05040caa478c7
- tools last changed: 2026-10-24T15:11:42.602Z
- badge: [![protogrid quality](https://protogrid.dev/badge/direct.bookhotels/hotel-price-check.svg)](https://protogrid.dev/servers/direct.bookhotels/hotel-price-check)
- 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-24 `report_booking` added
  - When the traveller tells you they booked a hotel after a check_direct_price answer, report whether they booked it on the hotel's own website, with the check_id. Only report what the traveller told you. Nothing about the traveller is sent or kept: only that the check led to a booking, and its total when given.
- 2026-10-24 `report_hotel_price` changed (inputSchema)
- 2026-10-24 `check_direct_price` changed (description, inputSchema)
  - before: Checks whether a hotel is cheaper on its own website than on Booking.com, for one stay. Give the hotel, the dates, the guests and, when you have it, the total Booking.com shows for the whole stay with its meal plan and cancellation terms. BookHotels.direct reads the hotel's own booking site live, applying the public promo codes and free-club prices it knows for that hotel, or uses a traveller's read of the same stay from the last 24 hours, and compares like for like: same hotel, dates and guests, with every difference in room, meal plan or cancellation stated. The answer is honest either way: when Booking.com is cheaper, it says so. When the hotel's site cannot be read automatically, the answer gives the link to the hotel's own site for these dates and asks you to report the prices shown there with report_hotel_price. Only Booking.com prices can be compared. One room per check.
  - after: Checks whether a hotel is cheaper on its own website than on Booking.com, for one stay. Give the hotel, the dates, the guests and, when you have it, the total Booking.com shows for the whole stay with its meal plan and cancellation terms. BookHotels.direct reads the hotel's own booking site live, applying the public promo codes and free-club prices it knows for that hotel, or uses a traveller's read of the same stay from the last 24 hours, and compares like for like: same hotel, dates and guests, with every difference in room, meal plan or cancellation stated. The answer is honest either way: when Booking.com is cheaper, it says so. When the hotel's site cannot be read automatically, the answer gives the link to the hotel's own site for these dates and asks you to report the prices shown there with report_hotel_price. Without a Booking.com total, the answer gives the hotel's own price and, when the evidence allows, an estimated saving, always labelled as an estimate with its basis. Only Booking.com prices can be compared. One room per check.

Full history: https://api.protogrid.dev/v1/servers/direct.bookhotels%2Fhotel-price-check/changes

## Remotes

- https://bookhotels.direct/mcp (streamable-http, auth none, reachable true, uptime30d 0.9230769)

## Packages

_none_

## Tools (3)

- `check_direct_price`: Checks whether a hotel is cheaper on its own website than on Booking.com, for one stay. Give the hotel, the dates, the guests and, when you have it, the total Booking.com shows for the whole stay with its meal plan and cancellation terms. BookHotels.direct reads the hotel's own booking site live, applying the public promo codes and free-club prices it knows for that hotel, or uses a traveller's read of the same stay from the last 24 hours, and compares like for like: same hotel, dates and guests, with every difference in room, meal plan or cancellation stated. The answer is honest either way: when Booking.com is cheaper, it says so. When the hotel's site cannot be read automatically, the answer gives the link to the hotel's own site for these dates and asks you to report the prices shown there with report_hotel_price. Without a Booking.com total, the answer gives the hotel's own price and, when the evidence allows, an estimated saving, always labelled as an estimate with its basis. Only Booking.com prices can be compared. One room per check.
- `report_booking`: When the traveller tells you they booked a hotel after a check_direct_price answer, report whether they booked it on the hotel's own website, with the check_id. Only report what the traveller told you. Nothing about the traveller is sent or kept: only that the check led to a booking, and its total when given.
- `report_hotel_price`: After check_direct_price asked you to open the hotel's own website for a stay, report the prices that site showed for the same dates and guests, and get the honest comparison with Booking.com. Give the check_id from check_direct_price and one entry per room or rate you saw, each with its total for the whole stay in euros and, when shown, its meal plan and cancellation terms. Report only what the hotel's own site showed; leave a field out when the site did not say it. The report is kept anonymously so the next traveller asking about the same stay gets an answer at once.
