Ferienhausmiete.de – Ferienwohnungen & Ferienhäuser suchen
Search 18,000+ privately owned holiday homes on Ferienhausmiete.de: exact stay prices, availability
使うべきか
品質と安全性
ツール定義とプロトコルへの準拠に関する自動分析に基づいています。
コンテキストコスト
これは、サーバーのツールがモデルのコンテキストに読み込まれるたびに消費されるおおよそのトークン数です。数が多いほど、ほかのタスクに使える注意が減ります。
インストール
ワンクリックインストール
これを `claude_desktop_config.json` ファイルに追加してください:
{
"mcpServers": {
"guest": {
"url": "https://mcp.ferienhausmiete.de/"
}
}
}リモートエンドポイント
https://mcp.ferienhausmiete.de/streamable-httpできること
ツール一覧
ツール(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.
入力スキーマ
{
"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.
入力スキーマ
{
"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).
入力スキーマ
{
"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.
入力スキーマ
{
"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#"
}コミュニティ
エビデンス