BookResorts — hotel & resort booking

Live hotel and resort prices (taxes included) and secure booking links for travelers. Since 1993.

Should I use this

Quality & Safety

A
Description quality
100%
Schema completeness
90%
Naming quality
100%
Poisoning risk
100%
Permission match
100%
Protocol compliance
100%

Based on automated analysis of tool definitions and protocol compliance.

Context Cost

~808Tokens (tool definitions)
~2.0 KBTypical response size
Moderate attention impact (0.63% of 128k context)

This is the approximate number of tokens consumed each time the server's tools are loaded into a model's context. Higher counts reduce the attention available for other tasks.

Install

One-Click Install

Add this to your `claude_desktop_config.json` file:

{
  "mcpServers": {
    "hotel-booking": {
      "url": "https://www.bookresorts.com/api/br/mcp"
    }
  }
}

Remote endpoints

https://www.bookresorts.com/api/br/mcpstreamable-http

What it can do

Tool inventory

Tools (3)

🟢 Read-only🟡 Write🔴 Delete⚪ Unknown
🟢search_hotels(destination, checkin, checkout, adults, children_ages, ...)

Search hotels and resorts in a destination (city, region or resort area) with LIVE prices for the dates and party. Prices are totals for the whole stay in USD, taxes and fees included. Returns up to 15 hotels (cheapest first, or best-rated with sort=rating), with ids for get_hotel.

Input Schema

{
  "type": "object",
  "properties": {
    "destination": {
      "type": "string",
      "description": "e.g. 'Cancun', 'Punta Cana', 'Maui', 'Riviera Maya'"
    },
    "checkin": {
      "type": "string",
      "pattern": "^\\d{4}-\\d{2}-\\d{2}$",
      "description": "YYYY-MM-DD"
    },
    "checkout": {
      "type": "string",
      "pattern": "^\\d{4}-\\d{2}-\\d{2}$",
      "description": "YYYY-MM-DD"
    },
    "adults": {
      "type": "integer",
      "minimum": 1,
      "maximum": 8,
      "default": 2
    },
    "children_ages": {
      "type": "array",
      "items": {
        "type": "integer",
        "minimum": 1,
        "maximum": 17
      },
      "description": "Ages of children, if any"
    },
    "rooms": {
      "type": "integer",
      "minimum": 1,
      "maximum": 6,
      "default": 1,
      "description": "Number of rooms; adults/children are split across them"
    },
    "all_inclusive_only": {
      "type": "boolean",
      "default": false
    },
    "min_stars": {
      "type": "integer",
      "minimum": 1,
      "maximum": 5,
      "description": "Only hotels with at least this star rating"
    },
    "sort": {
      "type": "string",
      "enum": [
        "price",
        "rating"
      ],
      "default": "price",
      "description": "price = cheapest first; rating = best guest rating first"
    }
  },
  "required": [
    "destination",
    "checkin",
    "checkout"
  ]
}
🟡get_hotel(hotel_id, checkin, checkout, adults, children_ages, ...)

A hotel's live rooms and rates for the dates: room names, size, occupancy, board (room only / breakfast / all-inclusive), refundability and the total price per option. Pass an option_id to create_booking_link.

Input Schema

{
  "type": "object",
  "properties": {
    "hotel_id": {
      "type": "string"
    },
    "checkin": {
      "type": "string",
      "pattern": "^\\d{4}-\\d{2}-\\d{2}$",
      "description": "YYYY-MM-DD"
    },
    "checkout": {
      "type": "string",
      "pattern": "^\\d{4}-\\d{2}-\\d{2}$",
      "description": "YYYY-MM-DD"
    },
    "adults": {
      "type": "integer",
      "minimum": 1,
      "maximum": 8,
      "default": 2
    },
    "children_ages": {
      "type": "array",
      "items": {
        "type": "integer",
        "minimum": 1,
        "maximum": 17
      }
    },
    "rooms": {
      "type": "integer",
      "minimum": 1,
      "maximum": 6,
      "default": 1
    }
  },
  "required": [
    "hotel_id",
    "checkin",
    "checkout"
  ]
}
🟡create_booking_link(hotel_id, option_id, checkin, checkout, adults, ...)

Create a secure checkout link for one room option from get_hotel. Give the link to the traveller: it opens our checkout with that exact room, dates and price, where they enter their details and pay (rate re-confirmed live). Links last 24 hours. Never ask the traveller for card details yourself.

Input Schema

{
  "type": "object",
  "properties": {
    "hotel_id": {
      "type": "string"
    },
    "option_id": {
      "type": "string",
      "description": "option_id from get_hotel"
    },
    "checkin": {
      "type": "string",
      "pattern": "^\\d{4}-\\d{2}-\\d{2}$",
      "description": "YYYY-MM-DD"
    },
    "checkout": {
      "type": "string",
      "pattern": "^\\d{4}-\\d{2}-\\d{2}$",
      "description": "YYYY-MM-DD"
    },
    "adults": {
      "type": "integer",
      "minimum": 1,
      "maximum": 8,
      "default": 2
    },
    "children_ages": {
      "type": "array",
      "items": {
        "type": "integer",
        "minimum": 1,
        "maximum": 17
      }
    },
    "rooms": {
      "type": "integer",
      "minimum": 1,
      "maximum": 6,
      "default": 1
    }
  },
  "required": [
    "hotel_id",
    "option_id",
    "checkin",
    "checkout"
  ]
}

Community

Rate this Server

Evidence

Recent observations

verifiedversion not recorded3 tools