Best Time to Book Hotels

Best-time-to-book verdicts, live last-minute hotel deals, and city price calendars, from data.

Should I use this

Quality & Safety

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

Based on automated analysis of tool definitions and protocol compliance.

Context Cost

~1,036Tokens (tool definitions)
~1.3 KBTypical response size
Moderate attention impact (0.81% 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": {
    "booking-timing": {
      "url": "https://www.besttimetobookhotels.com/api/mcp"
    }
  }
}

Remote endpoints

https://www.besttimetobookhotels.com/api/mcpstreamable-http

What it can do

Tool inventory

Tools (6)

🟢 Read-only🟡 Write🔴 Delete⚪ Unknown
🟢list_cities(search)

List the cities with hotel booking-timing data on Best Time to Book Hotels. Optionally filter by a search string. Call this first to learn coverage.

Input Schema

{
  "type": "object",
  "properties": {
    "search": {
      "type": "string",
      "maxLength": 100,
      "description": "Optional filter matched against city and country names"
    }
  },
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢get_booking_advice(city, checkIn, checkOut)

Get a data-backed verdict on whether to book a hotel now or wait, for a city and stay dates. Based on tracked daily median prices.

Input Schema

{
  "type": "object",
  "properties": {
    "city": {
      "type": "string",
      "minLength": 1,
      "maxLength": 100,
      "description": "City name, e.g. 'Lisbon'"
    },
    "checkIn": {
      "type": "string",
      "pattern": "^\\d{4}-\\d{2}-\\d{2}$",
      "description": "Check-in date, YYYY-MM-DD"
    },
    "checkOut": {
      "type": "string",
      "pattern": "^\\d{4}-\\d{2}-\\d{2}$",
      "description": "Check-out date, YYYY-MM-DD"
    }
  },
  "required": [
    "city",
    "checkIn",
    "checkOut"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🔴get_last_minute_deals(city)

Current last-minute hotel deals in a city: live rates below each hotel's tracked typical price, plus hotels that historically drop prices close to check-in.

Input Schema

{
  "type": "object",
  "properties": {
    "city": {
      "type": "string",
      "minLength": 1,
      "maxLength": 100,
      "description": "City name, e.g. 'Lisbon'"
    }
  },
  "required": [
    "city"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢get_city_calendar(city, from, to)

Hot dates (events and holidays that push hotel prices up) and value windows (historically cheaper stretches) for a city in a date range.

Input Schema

{
  "type": "object",
  "properties": {
    "city": {
      "type": "string",
      "minLength": 1,
      "maxLength": 100,
      "description": "City name, e.g. 'Lisbon'"
    },
    "from": {
      "type": "string",
      "pattern": "^\\d{4}-\\d{2}-\\d{2}$",
      "description": "Range start, YYYY-MM-DD (default: today)"
    },
    "to": {
      "type": "string",
      "pattern": "^\\d{4}-\\d{2}-\\d{2}$",
      "description": "Range end, YYYY-MM-DD (default: one year from today)"
    }
  },
  "required": [
    "city"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢get_hotel_review(hotel, city, locale)

Editorial review of a specific hotel: overall letter grade, who it suits and who it doesn't, a six-category breakdown (location, rooms, service, dining, facilities, value), and a verdict. ~350 hotels covered; available in 19 languages.

Input Schema

{
  "type": "object",
  "properties": {
    "hotel": {
      "type": "string",
      "minLength": 1,
      "maxLength": 200,
      "description": "Hotel name or slug, e.g. 'Artelist Hotel' or 'artelist-hotel-istanbul'"
    },
    "city": {
      "type": "string",
      "minLength": 1,
      "maxLength": 100,
      "description": "Optional city name to narrow the match"
    },
    "locale": {
      "type": "string",
      "enum": [
        "en",
        "de",
        "ru",
        "fr",
        "es",
        "it",
        "uz",
        "tr",
        "ar",
        "zh",
        "pt",
        "id",
        "ja",
        "ko",
        "th",
        "pl",
        "hi",
        "nl",
        "vi"
      ],
      "description": "Language for the review text (default: en)"
    }
  },
  "required": [
    "hotel"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢find_reviewed_hotels(city, min_grade, category, limit)

Find hotels that have editorial reviews. Filter by city and minimum overall grade; optionally rank by one category (location, rooms, service, dining, facilities, value).

Input Schema

{
  "type": "object",
  "properties": {
    "city": {
      "type": "string",
      "minLength": 1,
      "maxLength": 100,
      "description": "Only hotels in this city, e.g. 'Istanbul'"
    },
    "min_grade": {
      "type": "string",
      "enum": [
        "A+",
        "A",
        "A-",
        "B+",
        "B",
        "B-",
        "C+",
        "C",
        "C-",
        "D+",
        "D",
        "D-",
        "F+",
        "F",
        "F-"
      ],
      "description": "Minimum overall grade, e.g. 'B+'"
    },
    "category": {
      "type": "string",
      "enum": [
        "location",
        "rooms",
        "service",
        "dining",
        "facilities",
        "value"
      ],
      "description": "Rank results by this category's grade"
    },
    "limit": {
      "type": "integer",
      "minimum": 1,
      "maximum": 20,
      "description": "Max results to return (default 10)"
    }
  },
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}

Community

Rate this Server

Evidence

Recent observations

verifiedversion not recorded6 tools
verifiedversion not recorded6 tools
verifiedversion not recorded6 tools