# GetMyHotels

> Search hotels, get live prices, and check out in chat. Guest search needs no sign-in.

- name: com.getmyhotels/getmyhotels
- version: 1.0.0
- connection class: R0 (autonomous)
- trust: 86/100
- quality: 88/100 (good)
- owner: not claimed
- descriptor: https://api.protogrid.dev/v1/servers/com.getmyhotels%2Fgetmyhotels
- tools: https://api.protogrid.dev/v1/servers/com.getmyhotels%2Fgetmyhotels/tools

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

## Connection (mcpServers)

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


## Trust

- hygiene: 100
- liveness: 100
- freshness: 65
- provenance: 75
- drivers: +repository +dns-namespace +reachable +uptime-100% ~updated-98d-ago
- 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: 93 (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`: 18 of 18 tools declare readOnlyHint or destructiveHint
- warn `tools.directory_hints`: 1 of 18 tools declare all four hints; missing: get_my_booking (destructiveHint, idempotentHint, openWorldHint); get_rooms (destructiveHint, idempotentHint); get_hotel_details (destructiveHint, idempotentHint); …
- pass `tools.token_cost`: about 4,380 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`: 2 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: 18, about 4,380 tokens to load them all
- tool set hash: d4af171fb445311e3d62e01e007aaad5
- tools last changed: 2026-10-10T05:38:06.548Z
- badge: [![protogrid quality](https://protogrid.dev/badge/com.getmyhotels/getmyhotels.svg)](https://protogrid.dev/servers/com.getmyhotels/getmyhotels)
- 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-10 `add_trip_item` changed (description, inputSchema)
  - before: Add an item (hotel, flight, activity, etc.) to a saved trip on a given day.
  - after: Add an item (hotel, activity, meal, etc.) to a saved trip on a given day.
- 2026-10-06 `get_hotel_details` changed (inputSchema)

Full history: https://api.protogrid.dev/v1/servers/com.getmyhotels%2Fgetmyhotels/changes

## Remotes

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

## Packages

_none_

## Tools (18)

- `add_trip_item`: Add an item (hotel, activity, meal, etc.) to a saved trip on a given day.
- `cancel_booking`: Cancel one of the signed-in user's bookings. Requires the 6-digit `verificationCode` from `request_booking_action_code`. This may be irreversible and can trigger a refund per policy.
- `create_checkout`: Create a secure checkout for a chosen hotel room and return a getmyhotels.com URL where the guest completes payment. This does NOT charge the card — the guest pays on the hosted page. Confirm the hotel, room, dates, and price with the user before calling. Call `get_checkout_quote` first to confirm the live price.
- `create_one_click_checkout`: Create a checkout for the signed-in user with a saved card pre-selected, and return a getmyhotels.com URL where they confirm + pay in one click. Does NOT charge the card — the user confirms on the hosted page. Get the `savedPaymentMethodPublicId` from `list_payment_methods`. Confirm the hotel, room, dates, and price with the user first.
- `fetch`: Fetch the full record for a result id returned by `search` (a hotel) or for a booking reference (prefixed 'bk_'). Returns a document with id, title, text, url, and metadata.
- `get_booking`: Look up a hotel booking by its management token (sent in the confirmation email). Returns the booking status, hotel, dates, and guest details.
- `get_checkout_quote`: Re-price a specific room live against the supplier before checkout (no booking, no charge). Use the `offerRef` and price/currency from `get_rooms`. Returns the authoritative grand total, a `rateValidUntil` timestamp, and any taxes/fees.
- `get_hotel_details`: Get full property details (description, amenities, photos, policies, location) for a hotel, identified by its `ref` from `search_hotels` (or its supplierCode + supplierHotelId).
- `get_my_booking`: Get full details of one of the signed-in user's bookings by its public id.
- `get_rooms`: List the bookable rooms for ONE hotel and date range. Each room's `offerRef` is what you pass to `get_checkout_quote` / `create_checkout`. Use the hotel `ref` from `search_hotels` or `search`. Call this to see all of a chosen hotel's rooms, or to refresh availability before checkout.
- `list_my_bookings`: List the signed-in user's hotel bookings.
- `list_payment_methods`: List the signed-in user's saved payment cards (brand, last 4, expiry, default). Use the returned `publicId` with `create_one_click_checkout` to pre-select a card.
- `list_trips`: List the signed-in user's saved trips (itineraries).
- `modify_booking`: Change one of the signed-in user's bookings. Requires the 6-digit `verificationCode` from `request_booking_action_code`. Special-request edits always apply. A DATE change is pushed to the hotel supplier as a cancel-and-rebook at current availability, so it only works for suppliers that support amendment — for others (and when no room is available for the new dates) it returns an error asking you to cancel and rebook instead. A date change can shift the price and issue a new confirmation; the result's `supplierModifyStatus` says whether the supplier reservation was actually changed (`modified`), simulated (`simulated`), or the edit stayed local (`local_only`, e.g. special requests only). Never promise a date change went through unless `supplierModifyStatus` is `modified` or `simulated`.
- `request_booking_action_code`: Email a 6-digit verification code to the booking owner, required before cancelling or modifying a booking. Step 1 of 2 — then call `cancel_booking`/`modify_booking` with the code.
- `save_trip`: Create a new saved trip (itinerary) for the signed-in user.
- `search`: Search GetMyHotels for hotels matching a query. Returns a list of results with ids that can be passed to `fetch` for full details. Provide the destination and travel dates in the query.
- `search_hotels`: Search live hotel availability for a destination and date range. Returns a price-sorted list of hotels (JSON in the text), each with an opaque `ref` and an indicative stay price. To book: call `get_rooms` and pass the chosen room's `offerRef` to `get_checkout_quote` then `create_checkout`. For a hotel's other rooms (or a hotel not in the list), call `get_rooms`. Narrow with `keywords` (a hotel name, area, or amenities).
