# Hotelbeds MCP server

> An MCP server that lets an agent find, price, book and cancel hotel stays through the Hotelbeds Booking API, and look up destinations and hotel details through the Content API.

- Type: MCP server
- Domain: Travel
- Status: PoC · sandbox (proof of concept, not production software)
- Tools: 9
- Supply: Hotelbeds Booking, Content
- Licence: MIT
- Page: https://agenticdirect.io/projects/hotelbeds-mcp

## What it does

Covers the hotel booking lifecycle on Hotelbeds, from availability search to cancellation, plus the content an agent needs to describe a hotel properly. Validated end to end against the Hotelbeds sandbox.

Set `HOTELBEDS_API_KEY` and `HOTELBEDS_SECRET` from your own sandbox account. The same key pair covers both APIs.

## Tools

| Group | Tools |
| --- | --- |
| Booking | `search_hotels`, `check_rate`, `create_booking`, `get_booking`, `get_cancellation_quote`, `cancel_booking` |
| Content | `list_destinations`, `list_hotels_content`, `get_hotel_details` |

## What I learned building it

1. **Every request needs a fresh signature.** Hotelbeds signs each call with SHA256 over key, secret and the current timestamp, and doesn't support CORS. A browser can't call it directly, so anything user-facing needs a server-side proxy.
2. **The minimum rate is for the whole stay, not per night.** Agents get this wrong unless the tool description says so explicitly.
3. **Facility filters can't go into the availability query.** "Spa" or "beachfront" have to be filtered on your side, against a cached content index.
4. **Sandbox prices drift.** A 2% price tolerance caused booking failures. Re-checking the rate immediately before booking, with a fresh rate key, fixed them.

## Limitations

This is a proof of concept. Sandbox only, no caching layer, no production error handling or support. Don't use it with live credentials.

_Unofficial. Not affiliated with or endorsed by Hotelbeds or HBX Group._
