Ferienhausmiete.de – Ferienwohnungen & Ferienhäuser suchen
Search 18,000+ privately owned holiday homes on Ferienhausmiete.de: exact stay prices, availability
Sollte ich dies verwenden
Qualität und Sicherheit
Basierend auf einer automatisierten Analyse der Tool-Definitionen und der Einhaltung des Protokolls.
Kontextkosten
Dies ist die ungefähre Anzahl der Tokens, die jedes Mal verbraucht werden, wenn die Tools des Servers in den Kontext eines Modells geladen werden. Höhere Werte verringern die Aufmerksamkeit, die für andere Aufgaben verfügbar ist.
Installieren
Installation mit einem Klick
Fügen Sie dies Ihrer Datei `claude_desktop_config.json` hinzu:
{
"mcpServers": {
"guest": {
"url": "https://mcp.ferienhausmiete.de/"
}
}
}Remote-Endpunkte
https://mcp.ferienhausmiete.de/streamable-httpWas es kann
Tool-Inventar
Tools (4)
🟢autocomplete_regions(query, limit, level, locale)
Suggest holiday regions by (partial) name, typo-tolerant. Names are matched in the response language, with German (the native names, e.g. "Seenplatte") always accepted as well. Returns region ids usable as regionId in search_accommodations, with accommodation counts.
Eingabe-Schema
{
"type": "object",
"properties": {
"query": {
"type": "string",
"minLength": 2,
"maxLength": 100,
"description": "Search text; honest 2-char minimum, no silent truncation"
},
"limit": {
"default": 12,
"description": "Maximum suggestions",
"type": "integer",
"minimum": 1,
"maximum": 20
},
"level": {
"description": "Restrict to one region hierarchy level (1..8); omit for any",
"type": "integer",
"minimum": 1,
"maximum": 8
},
"locale": {
"default": "de",
"description": "Language the user is writing in (de, en, fr, pl, it, es, nl, hr); defaults to de. Selects the language of names and texts in the response and the language region names are matched in — pass it on every call.",
"type": "string",
"enum": [
"de",
"en",
"fr",
"pl",
"it",
"es",
"nl",
"hr"
]
}
},
"required": [
"query"
],
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢search_accommodations(regionId, query, arrival, departure, bookableOnly, ...)
Paginated holiday accommodation search over directly bookable/inquirable own inventory (externally managed listings are not exposed). Filter by region (regionId from autocomplete_regions), a radius around a point (lat/lng/radiusKm — use the coordinates of the place the user names; results then carry distanceKm and can be sorted by distance) or a map bounding box (neLat/neLng/swLat/swLng); these three are mutually exclusive. Travel dates (arrival/departure, both together; add bookableOnly to drop stays below the minimum stay), persons (a minimum: beds ≥ persons — add personsMax to exclude oversized houses; optional adults split for families — children can use extra-children slots), bedrooms, bathrooms, livingSpaceMin (m²), minReviews, price range per night, feature codes (e.g. swimming_pool, wifi, pets_allowed), accommodation types and offers. Sort: relevance (default), rating (best first; website formula, a single 5.0 review outranks many 4.8s — use minReviews), persons, bedrooms, living_area, distance (radius searches). Every result carries `url` (the listing page on the website of the locale) and, on dated searches, `stayUrl` with dates and guests pre-filled — give these to the user as the link. `location.place` is the actual town; `location.region` is the (marketing) region it is listed under. Dated searches include a stayPrice per result: the exact total for the stay incl. mandatory costs and discounts (kind "total"; "min_stay" when the stay is below the minimum), or "from"/"on_request" where only the static basePrice or no price is available. `approximate: true` means some nights were priced from the owner's base price; the website confirms the final total.
Eingabe-Schema
{
"type": "object",
"properties": {
"regionId": {
"description": "Region to search in (from /regions/autocomplete); omit to search everywhere",
"type": "integer",
"minimum": 1,
"maximum": 9007199254740991
},
"query": {
"description": "Keyword search over names and descriptions in the response language and the German originals",
"type": "string",
"minLength": 1,
"maxLength": 100
},
"arrival": {
"type": "string",
"format": "date",
"pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$"
},
"departure": {
"type": "string",
"format": "date",
"pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$"
},
"bookableOnly": {
"description": "Dated searches only: keep only stays that meet the minimum stay (drops stayPrice.kind \"min_stay\" results)",
"type": "string"
},
"persons": {
"description": "Minimum sleeping places (beds ≥ persons); combine with personsMax to cap size",
"type": "integer",
"minimum": 1,
"maximum": 50
},
"personsMax": {
"description": "Maximum sleeping places (beds ≤ personsMax); excludes oversized houses",
"type": "integer",
"minimum": 1,
"maximum": 50
},
"livingSpaceMin": {
"description": "Minimum living space in m²",
"type": "number",
"minimum": 0
},
"minReviews": {
"description": "Only accommodations with at least this many visible reviews",
"type": "integer",
"minimum": 1,
"maximum": 9007199254740991
},
"adults": {
"description": "Adults among persons; when below persons, objects may host the remainder as extra children (website guests widget parity)",
"type": "integer",
"minimum": 1,
"maximum": 9007199254740991
},
"bedrooms": {
"type": "integer",
"minimum": 0,
"maximum": 50
},
"bathrooms": {
"type": "integer",
"minimum": 0,
"maximum": 50
},
"priceMin": {
"description": "Per night with dates, base price without",
"type": "number",
"minimum": 0
},
"priceMax": {
"description": "Omit for unbounded — no sentinel values",
"type": "number",
"minimum": 0
},
"neLat": {
"description": "Bounding box north-east latitude",
"type": "number",
"minimum": -90,
"maximum": 90
},
"neLng": {
"description": "Bounding box north-east longitude",
"type": "number",
"minimum": -180,
"maximum": 180
},
"swLat": {
"description": "Bounding box south-west latitude",
"type": "number",
"minimum": -90,
"maximum": 90
},
"swLng": {
"description": "Bounding box south-west longitude",
"type": "number",
"minimum": -180,
"maximum": 180
},
"lat": {
"description": "Search centre latitude",
"type": "number",
"minimum": -90,
"maximum": 90
},
"lng": {
"description": "Search centre longitude",
"type": "number",
"minimum": -180,
"maximum": 180
},
"radiusKm": {
"description": "Radius around the centre in km (as the crow flies), max 300",
"type": "number",
"exclusiveMinimum": 0,
"maximum": 300
},
"features": {
"type": "array",
"items": {
"type": "string",
"enum": [
"relaxing_holiday",
"family_holiday",
"farm_holiday",
"holiday_resort",
"golfing_holiday",
"cultural_holiday",
"romantic_holiday",
"singles_holiday",
"skiing_holiday",
"sport_holiday",
"beach_holiday",
"city_trip",
"hiking_holiday",
"dog_friendly",
"mountain_holiday",
"seaside_holiday",
"lakeside_holiday",
"sea_view",
"group_accommodation",
"countryside_holiday",
"lake_view",
"fireplace",
"air_conditioning",
"sauna",
"whirlpool",
"heating",
"dishwasher",
"tv",
"washing_machine",
"crib",
"wifi",
"fishing",
"climbing",
"golf",
"skiing",
"tennis",
"hiking",
"long_term_rental",
"non_smoking",
"allergy_friendly",
"suitable_for_contractors",
"balcony",
"garden",
"bbq_grill",
"swimming_pool",
"parking_space",
"terrace",
"fenced_garden",
"ev_charging",
"wheelchair_accessible",
"suitable_for_seniors",
"suitable_for_children",
"pets_allowed",
"barrier_free",
"accessible_holiday",
"contactless_stay",
"sustainable_holiday",
"pets_not_allowed",
"instant_booking",
"booking_on_request",
"free_cancellation"
]
}
},
"types": {
"type": "array",
"items": {
"type": "string",
"enum": [
"holiday_home",
"holiday_apartment",
"bed_and_breakfast",
"castle",
"hut",
"hotel",
"boarding_house",
"houseboat"
]
}
},
"offers": {
"type": "array",
"items": {
"type": "string",
"enum": [
"special_offer",
"last_minute",
"early_booking",
"best_price",
"weekly_discount",
"monthly_discount"
]
}
},
"sort": {
"default": "relevance",
"type": "string",
"enum": [
"relevance",
"rating",
"persons",
"bedrooms",
"living_area",
"distance"
]
},
"page": {
"default": 1,
"type": "integer",
"minimum": 1,
"maximum": 9007199254740991
},
"perPage": {
"default": 25,
"type": "integer",
"minimum": 1,
"maximum": 50
},
"locale": {
"default": "de",
"description": "Language the user is writing in (de, en, fr, pl, it, es, nl, hr); defaults to de. Selects the language of names and texts in the response and the language region names are matched in — pass it on every call.",
"type": "string",
"enum": [
"de",
"en",
"fr",
"pl",
"it",
"es",
"nl",
"hr"
]
}
},
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢get_accommodation(id, locale)
Full localized detail of one accommodation: description, location with coordinates, capacity, rating, feature codes, image gallery, base price, and `url` (the listing page on the website of the locale).
Eingabe-Schema
{
"type": "object",
"properties": {
"id": {
"type": "integer",
"minimum": 1,
"maximum": 9007199254740991,
"description": "Accommodation id (from search results)"
},
"locale": {
"default": "de",
"description": "Language the user is writing in (de, en, fr, pl, it, es, nl, hr); defaults to de. Selects the language of names and texts in the response and the language region names are matched in — pass it on every call.",
"type": "string",
"enum": [
"de",
"en",
"fr",
"pl",
"it",
"es",
"nl",
"hr"
]
}
},
"required": [
"id"
],
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢get_accommodation_availability(id, from, to)
Per-day availability for one accommodation: bookable days, arrival/departure flags, minimum stay, nightly price and discounts. Window defaults to today and is capped at 24 months.
Eingabe-Schema
{
"type": "object",
"properties": {
"id": {
"type": "integer",
"minimum": 1,
"maximum": 9007199254740991,
"description": "Accommodation id (from search results)"
},
"from": {
"description": "Window start (YYYY-MM-DD), defaults to today",
"type": "string",
"format": "date",
"pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$"
},
"to": {
"description": "Window end (YYYY-MM-DD)",
"type": "string",
"format": "date",
"pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$"
}
},
"required": [
"id"
],
"$schema": "http://json-schema.org/draft-07/schema#"
}Community
Nachweis