hoteldiscount24 Hotels
Find hotels worldwide by amenities and check a hotel's amenity profile, plus typical nightly prices.
Should I use this
Quality & Safety
Based on automated analysis of tool definitions and protocol compliance.
Context Cost
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": {
"hotels": {
"url": "https://www.hoteldiscount24.com/mcp"
}
}
}Remote endpoints
https://www.hoteldiscount24.com/mcpstreamable-httpWhat it can do
Tool inventory
Tools (4)
🟢find_place(query, language)
Use when a city, region or island name has to be turned into a place_id (needed by search_hotels, get_hotel_facts and get_price_guide): returns up to 5 matching places with place_id and country. If several fit, choose by country or ask the user.
Input Schema
{
"type": "object",
"properties": {
"query": {
"type": "string",
"minLength": 2,
"maxLength": 80,
"description": "City, region or island name, in any language."
},
"language": {
"type": "string",
"enum": [
"de",
"en",
"tr"
],
"description": "The user's language: de, en or tr (default en)."
}
},
"required": [
"query"
],
"additionalProperties": false
}Output Schema
{
"type": "object",
"properties": {
"places": {
"type": "array",
"items": {
"type": "object",
"properties": {
"place_id": {
"type": "integer"
},
"name": {
"type": "string"
},
"country_code": {
"type": "string"
},
"kind": {
"type": "string"
},
"url": {
"type": "string"
}
}
}
},
"source": {
"type": "string"
},
"note": {
"type": "string"
},
"website": {
"type": "string"
},
"response_date": {
"type": "string"
}
},
"required": [
"places"
]
}🟢search_hotels(place_id, amenities, min_stars, limit, language)
Use when the user wants hotels at a place with specific features (pool, sauna, pets allowed …). All given amenities must match, as stated by the hotels; with few or no results, try fewer amenities. Returns up to 10 hotels with links, ordered by star rating — no prices (see get_price_guide) and no ratings. A notice field carries a condition the user should know (e.g. pets are decided case by case). Halal, kosher, wheelchair access, non-smoking and cribs are not search filters — check them per hotel with get_hotel_facts.
Input Schema
{
"type": "object",
"properties": {
"place_id": {
"type": "integer",
"description": "place_id from find_place."
},
"amenities": {
"type": "array",
"minItems": 1,
"maxItems": 5,
"description": "Amenity keys from the list, e.g. pool, sauna, pets-allowed.",
"items": {
"type": "string",
"enum": [
"adults-only",
"air-conditioning",
"airport-shuttle",
"alarm-clock",
"aquapark",
"atm",
"badminton",
"balcony",
"bank",
"bar",
"barbecue",
"bathrobe",
"bathtub",
"beach",
"beach-shuttle",
"beauty-treatments",
"bike-rental",
"billiards",
"boating",
"bottled-water",
"bowling",
"breakfast-in-room",
"bridal-suite",
"business-center",
"business-facilities",
"cafe",
"car-rental",
"casino",
"casino-shuttle",
"children-pool",
"coffee-maker",
"coffee-tea",
"concierge",
"currency-exchange",
"cycling",
"darts",
"design-hotel",
"desk",
"dishwasher",
"diving",
"doorman",
"dvd-player",
"early-check-in",
"elevator",
"entertainment",
"equipment-rental",
"ev-charging",
"event-facilities",
"express-check-in",
"family",
"fishing",
"fitness",
"fridge",
"front-desk-24h",
"garden",
"golf-course",
"guest-computer",
"hairdryer",
"hammam",
"heated-pool",
"heating",
"hiking",
"horse-riding",
"hunting",
"ice-skating",
"indoor-fireplace",
"intercom",
"iron",
"karaoke",
"kettle",
"kids-club",
"kitchen",
"late-check-out",
"laundry",
"library",
"linens",
"locker",
"luggage-storage",
"microwave",
"mini-golf",
"minibar",
"mosquito-net",
"museum",
"newspapers",
"nightclub",
"outdoor-furniture",
"packed-lunch",
"parking",
"pets-allowed",
"picnic-area",
"playground",
"pool",
"pool-towels",
"port-shuttle",
"private-check-in",
"radio",
"reception",
"restaurant",
"room-connecting",
"room-service",
"safe",
"safe-deposit-box",
"sailing",
"sauna",
"security-staff",
"shared-kitchen",
"shoe-shine",
"shop",
"shopping-shuttle",
"shower",
"shuttle",
"ski",
"ski-rental",
"ski-school",
"ski-shuttle",
"ski-storage",
"slippers",
"smoking",
"snack-bar",
"snorkelling",
"snowmobile-rental",
"solarium",
"soundproofing",
"spa",
"squash",
"table-tennis",
"taxi-service",
"telephone",
"tennis",
"terrace",
"theatre",
"ticket-service",
"toiletries",
"train-station-shuttle",
"trouser-press",
"tv",
"vending-machine",
"vip-amenities",
"wake-up-service",
"wardrobe",
"water-fun",
"water-sports",
"whirlpool",
"wifi",
"windsurfing",
"wine-cellar",
"yoga"
]
}
},
"min_stars": {
"type": "integer",
"minimum": 0,
"maximum": 5,
"description": "Minimum star rating."
},
"limit": {
"type": "integer",
"minimum": 1,
"maximum": 10,
"description": "Number of hotels (default 10)."
},
"language": {
"type": "string",
"enum": [
"de",
"en",
"tr"
],
"description": "The user's language: de, en or tr (default en)."
}
},
"required": [
"place_id",
"amenities"
],
"additionalProperties": false
}Output Schema
{
"type": "object",
"properties": {
"place": {
"type": "object",
"properties": {
"place_id": {
"type": "integer"
},
"name": {
"type": "string"
},
"country_code": {
"type": "string"
},
"url": {
"type": "string"
}
}
},
"hotels": {
"type": "array",
"items": {
"type": "object",
"properties": {
"name": {
"type": "string"
},
"stars": {
"type": [
"integer",
"null"
],
"description": "Star category as listed by the hotel."
},
"city": {
"type": "string"
},
"url": {
"type": "string"
},
"amenities": {
"type": "array"
}
}
}
},
"more_on_website": {
"type": "string"
},
"notice": {
"type": "string"
},
"source": {
"type": "string"
},
"note": {
"type": "string"
},
"website": {
"type": "string"
},
"response_date": {
"type": "string"
}
},
"required": [
"place",
"hotels"
]
}🟢get_hotel_facts(hotel, name, place_id, language)
Use when the user asks what one specific hotel offers (e.g. does it allow pets, is there a sauna, halal food). Returns its amenities as stated by the hotel, with section and origin; extra_charge marks a stated surcharge (no mark means no information, not free). Identify the hotel by its hoteldiscount24.com URL (e.g. from search_hotels), or by name plus place_id; other_matches lists similar names at that place.
Input Schema
{
"type": "object",
"properties": {
"hotel": {
"type": "string",
"maxLength": 300,
"description": "hoteldiscount24.com hotel URL or slug."
},
"name": {
"type": "string",
"minLength": 2,
"maxLength": 120,
"description": "Hotel name, if no URL is known (needs place_id)."
},
"place_id": {
"type": "integer",
"description": "place_id from find_place."
},
"language": {
"type": "string",
"enum": [
"de",
"en",
"tr"
],
"description": "The user's language: de, en or tr (default en)."
}
},
"additionalProperties": false
}Output Schema
{
"type": "object",
"properties": {
"name": {
"type": "string"
},
"stars": {
"type": [
"integer",
"null"
],
"description": "Star category as listed by the hotel."
},
"city": {
"type": "string"
},
"country_code": {
"type": "string"
},
"url": {
"type": "string"
},
"summary": {
"type": "string"
},
"amenities": {
"type": "array"
},
"other_matches": {
"type": "array"
},
"notice": {
"type": "string"
},
"source": {
"type": "string"
},
"note": {
"type": "string"
},
"website": {
"type": "string"
},
"response_date": {
"type": "string"
}
},
"required": [
"name",
"url",
"amenities"
]
}🟢get_price_guide(place_id, month, stars, language)
Use for budget questions (what does a night cost in …): typical price range per night (2 adults) at a place, measured from recent searches, with date. For orientation only — current prices for specific dates are on hoteldiscount24.com. has_price_data=false means no reliable data for this place and month.
Input Schema
{
"type": "object",
"properties": {
"place_id": {
"type": "integer",
"description": "place_id from find_place."
},
"month": {
"type": "string",
"pattern": "^[0-9]{4}-[0-9]{2}$",
"description": "Travel month YYYY-MM (default: current month)."
},
"stars": {
"type": "string",
"enum": [
"any",
"1",
"2",
"3",
"4",
"5"
],
"description": "Star category (default any)."
},
"language": {
"type": "string",
"enum": [
"de",
"en",
"tr"
],
"description": "The user's language: de, en or tr (default en)."
}
},
"required": [
"place_id"
],
"additionalProperties": false
}Output Schema
{
"type": "object",
"properties": {
"place": {
"type": "object",
"properties": {
"place_id": {
"type": "integer"
},
"name": {
"type": "string"
},
"country_code": {
"type": "string"
},
"url": {
"type": "string"
}
}
},
"has_price_data": {
"type": "boolean"
},
"month": {
"type": "string"
},
"typical_low_eur": {
"type": "integer"
},
"typical_high_eur": {
"type": "integer"
},
"typical_eur": {
"type": "integer"
},
"sentence": {
"type": "string"
},
"source": {
"type": "string"
},
"note": {
"type": "string"
},
"website": {
"type": "string"
},
"response_date": {
"type": "string"
}
},
"required": [
"place",
"has_price_data"
]
}Community
Evidence