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
verifiedversion not recorded6 tools
verifiedversion not recorded6 tools
verifiedversion not recorded6 tools