Hotelbeds MCP Server
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| HOTELBEDS_SECRET | Yes | Your Hotelbeds Hotel API secret. Used to compute the `X-Signature` header as SHA256(apiKey + secret + unixTimestampSeconds) in hex, recomputed per request. | |
| HOTELBEDS_API_KEY | Yes | Your Hotelbeds (HBX Group) Hotel API key from the APItude developer portal. The same keypair authenticates both the Booking and Content APIs, and is sent as the `Api-key` header. | |
| HOTELBEDS_BASE_URL | No | Set to `https://api.hotelbeds.com` for live; it defaults to the test endpoint (api.test.hotelbeds.com). | https://api.test.hotelbeds.com |
| NODE_EXTRA_CA_CERTS | No | Path to a corporate root CA certificate (e.g. /path/to/corp-root-ca.cer). Add this when running behind a TLS-inspecting corporate proxy (e.g. Zscaler) to avoid `UNABLE_TO_GET_ISSUER_CERT_LOCALLY` errors. |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": true
} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| search_hotelsC | Search hotel availability by destination code or hotel codes for given dates and occupancy. Returns hotels with bookable rateKeys. |
| check_rateA | Re-validate one or more rateKeys and return the authoritative current price. Required before booking when a rate's rateType is RECHECK. |
| create_bookingA | Book a rate. Two-step surface-and-reconfirm: call once WITHOUT acceptedNet to surface the live price, then again WITH acceptedNet set to that price to commit. Re-surfaces if the price moves beyond tolerance. |
| get_bookingB | Retrieve a booking by reference, including its current status. |
| get_cancellation_quoteA | Return the cancellation charge for a booking WITHOUT cancelling it (simulation). The booking remains active. |
| cancel_bookingA | Permanently cancel a booking. Requires confirm=true. Use get_cancellation_quote first to see the charge. |
| list_destinationsA | List Hotelbeds destination codes for a country (optionally filtered by name). Use the code as destinationCode in search_hotels. |
| list_hotels_contentA | Browse the static hotel portfolio for a destination or set of hotel codes — names, categories, coordinates, addresses. |
| get_hotel_detailsB | Full static content for one or more hotels: description, images, facilities, address, coordinates, phones, boards. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 9 tools
Most tools are clearly distinct (search vs book vs cancel vs quote). Minor overlap between list_hotels_content and get_hotel_details, both returning static hotel content, but the browse-vs-detail distinction is described well enough. check_rate vs search_hotels are also differentiated by the recheck purpose.
Every tool follows a consistent snake_case verb_noun pattern (search_hotels, check_rate, create_booking, get_cancellation_quote, list_destinations). Verbs are used predictably across the set.
Nine tools is well-scoped for a hotel booking domain, covering search, content, booking, and cancellation without redundancy. Each tool earns its place.
Strong lifecycle coverage: search, rate recheck, create, get, cancel, and cancellation quote, plus static content and destination lookup. Minor gaps like modifying an existing booking or listing a user's bookings, but core workflows are covered.