Heimster – Swiss homes
Swiss homes to rent or buy, with walking distances, noise, sun and commute times for any address.
Sollte ich dies verwenden
Qualität und Sicherheit
Befunde (1)
- LOWin property_value_range
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": {
"heimster": {
"url": "https://heimster.ch/mcp/public"
}
}
}Remote-Endpunkte
https://heimster.ch/mcp/publicstreamable-httpWas es kann
Tool-Inventar
Tools (18)
🟢search_listings(category, place, property_type, rooms_min, rooms_max, ...)
Searches homes and properties in Switzerland – to rent or buy, also by feel (ruhig, sonnig, lebendig/belebt, grün, zentral, familienfreundlich; calme, ensoleillé, animé; tranquillo, vivace) (Wohnung mieten/kaufen, Haus kaufen, WG-Zimmer, Studio; appartement à louer/acheter, maison; appartamento in affitto/in vendita; flat, apartment, house). Covers current listings on Heimster and on Swiss agency websites, with walking distance to supermarket, childcare (Kita, crèche), school, park, stop and train station; quiet locations (road/rail noise); sun score; and the door-to-door public-transport commute to the person's workplace (workplace + max_commute_min). Ask where they work when the commute matters. Filter by place, type, rooms, price and area; sort by newest or price.
Eingabe-Schema
{
"type": "object",
"properties": {
"category": {
"type": "string",
"enum": [
"rent",
"buy",
"shared_flat",
"sublet"
],
"description": "rent (default), buy, shared_flat (WG room) or sublet."
},
"place": {
"type": "string",
"description": "Municipality, postal code or canton in Switzerland, e.g. «Winterthur», «8004», «ZH»."
},
"property_type": {
"type": "string",
"enum": [
"apartment",
"house",
"commercial",
"parking",
"land"
]
},
"rooms_min": {
"type": "number",
"description": "Swiss room count, e.g. 3.5"
},
"rooms_max": {
"type": "number"
},
"price_min": {
"type": "integer",
"description": "CHF; per month for rent, total for buy."
},
"price_max": {
"type": "integer",
"description": "CHF; per month for rent, total for buy."
},
"area_min": {
"type": "integer",
"description": "Minimum living area in m²."
},
"new_build": {
"type": "boolean",
"description": "Only units in new-build projects."
},
"max_supermarket_m": {
"type": "integer",
"description": "Max walking distance (m) to a supermarket."
},
"max_childcare_m": {
"type": "integer",
"description": "Max distance (m) to childcare (Kita) or kindergarten."
},
"max_school_m": {
"type": "integer",
"description": "Max distance (m) to a school."
},
"max_park_m": {
"type": "integer",
"description": "Max distance (m) to a park."
},
"max_stop_m": {
"type": "integer",
"description": "Max distance (m) to a bus/tram stop."
},
"max_train_station_m": {
"type": "integer",
"description": "Max distance (m) to a train station."
},
"quiet": {
"type": "boolean",
"description": "Only quiet locations: road/rail noise by day below 55 dB at the facade."
},
"min_sun_score": {
"type": "integer",
"minimum": 1,
"maximum": 100,
"description": "Minimum Heimster sun score (0–100, direct sun on the building/flat)."
},
"lively": {
"type": "boolean",
"description": "Only lively locations: many restaurants & cafés within 500 m on foot (belebt, lebendig, urban, Ausgang; animé; vivace). Use for «vivid area», «lots of restaurants», «where things happen»."
},
"green": {
"type": "boolean",
"description": "Only green, family-friendly surroundings: parks & playgrounds within 500 m (grün, im Grünen, Natur, Spielplatz; verdure; verde)."
},
"workplace": {
"type": "string",
"description": "Where the user works or studies (address or place) – for the commute filter."
},
"max_commute_min": {
"type": "integer",
"description": "Max door-to-door minutes by public transport to the workplace (default 30)."
},
"sort": {
"type": "string",
"enum": [
"newest",
"price_asc",
"price_desc"
]
},
"limit": {
"type": "integer",
"minimum": 1,
"maximum": 10
},
"language": {
"type": "string",
"enum": [
"de",
"en",
"fr",
"it"
],
"description": "Language of titles, descriptions and links (default de). Use the user's language."
}
},
"additionalProperties": false
}🟢get_listing(id, language)
Use this to show one listing in full (id from search_listings, a Heimster link, or «found:<id>» for agency-website listings): photos, floor plans, description, costs, location facts, open viewings with ids, and the link. Call it before booking a viewing or applying.
Eingabe-Schema
{
"type": "object",
"properties": {
"id": {
"type": "string",
"description": "Listing id (UUID)."
},
"language": {
"type": "string",
"enum": [
"de",
"en",
"fr",
"it"
],
"description": "Language of titles, descriptions and links (default de). Use the user's language."
}
},
"required": [
"id"
],
"additionalProperties": false
}🟢compare_listings(ids, language)
Use this when someone wants to compare two to four listings (vergleichen, comparer, confrontare): price, price per m², rooms, area, floor, availability, public transport, shops and schools nearby, sun score – side by side.
Eingabe-Schema
{
"type": "object",
"properties": {
"ids": {
"type": "array",
"items": {
"type": "string"
},
"minItems": 2,
"maxItems": 4,
"description": "Listing ids from search_listings."
},
"language": {
"type": "string",
"enum": [
"de",
"en",
"fr",
"it"
],
"description": "Language of titles, descriptions and links (default de). Use the user's language."
}
},
"required": [
"ids"
],
"additionalProperties": false
}🟢address_facts(address, language)
Use this for ANY Swiss address, even without a listing – «what is it like to live at …», «is it noisy», «schools/Kita/ÖV near …», «was gibt es rund um …», «quartier calme ?», «com'è la zona …»: the building (year, floors, flats, heating), public transport, everyday places within walking distance, road/rail noise, local prices and rents, construction nearby, and listings in or near the building.
Eingabe-Schema
{
"type": "object",
"properties": {
"address": {
"type": "string",
"description": "Swiss street address, e.g. «Bahnhofstrasse 10, 8001 Zürich»."
},
"language": {
"type": "string",
"enum": [
"de",
"en",
"fr",
"it"
],
"description": "Language of titles, descriptions and links (default de). Use the user's language."
}
},
"required": [
"address"
],
"additionalProperties": false
}🟢search_new_builds(place, type, rooms_min, price_max, limit, ...)
Use this for new-build homes (Neubau, Erstbezug, Erstvermietung, neuf, nuova costruzione): developments with available units, prices from, rooms and move-in date. Filter by place, rent/sale, rooms and maximum price.
Eingabe-Schema
{
"type": "object",
"properties": {
"place": {
"type": "string",
"description": "Municipality, canton or project name."
},
"type": {
"type": "string",
"enum": [
"rent",
"sale",
"any"
]
},
"rooms_min": {
"type": "number"
},
"price_max": {
"type": "integer",
"description": "CHF; per month for rent, total for sale."
},
"limit": {
"type": "integer",
"minimum": 1,
"maximum": 10
},
"language": {
"type": "string",
"enum": [
"de",
"en",
"fr",
"it"
],
"description": "Language of titles, descriptions and links (default de). Use the user's language."
}
},
"additionalProperties": false
}🟢upcoming_construction(place, min_dwellings, limit, language)
Use this when someone asks what is being built or planned in a Swiss municipality or canton (Was wird gebaut, Überbauung, Bauprojekte, nouveaux logements en construction, cantieri): approved and ongoing residential projects with at least 3 flats from the federal building register (GWR), with size and status.
Eingabe-Schema
{
"type": "object",
"properties": {
"place": {
"type": "string",
"description": "Municipality (e.g. «Uster») or canton code (e.g. «ZH»)."
},
"min_dwellings": {
"type": "integer",
"minimum": 3
},
"limit": {
"type": "integer",
"minimum": 1,
"maximum": 15
},
"language": {
"type": "string",
"enum": [
"de",
"en",
"fr",
"it"
],
"description": "Language of titles, descriptions and links (default de). Use the user's language."
}
},
"required": [
"place"
],
"additionalProperties": false
}🟢area_market_facts(place, language)
Use this for market figures of a Swiss municipality, Kreis or Quartier (Mietpreise, Quadratmeterpreise, Leerstand, Landpreise; prix au m², loyers, taux de vacance; prezzi, affitti, sfitto): condominium and house prices per m², rents per m², land prices and vacancy rate, each with year, area level and source.
Eingabe-Schema
{
"type": "object",
"properties": {
"place": {
"type": "string",
"description": "E.g. «Zürich Oerlikon», «Kreis 6», «Winterthur»."
},
"language": {
"type": "string",
"enum": [
"de",
"en",
"fr",
"it"
],
"description": "Language of titles, descriptions and links (default de). Use the user's language."
}
},
"required": [
"place"
],
"additionalProperties": false
}🟢property_value_range(address, living_area_m2, rooms, language)
Use this when an OWNER asks what their flat or house is worth (Was ist meine Wohnung wert, Marktwert, valeur de mon bien, quanto vale): the market price range from public sales data (canton of Zurich so far) – a range, not a valuation. Ask for the living area of a flat. For other cantons offer owner_enquiry.
Eingabe-Schema
{
"type": "object",
"properties": {
"address": {
"type": "string"
},
"living_area_m2": {
"type": "number",
"description": "Required for flats."
},
"rooms": {
"type": "number"
},
"language": {
"type": "string",
"enum": [
"de",
"en",
"fr",
"it"
],
"description": "Language of titles, descriptions and links (default de). Use the user's language."
}
},
"required": [
"address"
],
"additionalProperties": false
}🟡send_enquiry(listing_id, name, email, phone, message, ...)
Use this when someone wants to contact the provider of a listing (anfragen, Kontakt aufnehmen, Besichtigung anfragen, contacter l'agence, contattare): sends the enquiry in their name. Needs their name, e-mail and a short message (phone optional). Works for Heimster listings and «found:<id>» agency-website listings (forwarded to the agency). If the person is signed in to Heimster it is sent at once; otherwise Heimster e-mails a confirmation link first.
Eingabe-Schema
{
"type": "object",
"properties": {
"listing_id": {
"type": "string"
},
"name": {
"type": "string"
},
"email": {
"type": "string"
},
"phone": {
"type": "string"
},
"message": {
"type": "string",
"description": "The user's own words, 5–2000 characters."
},
"language": {
"type": "string",
"enum": [
"de",
"en",
"fr",
"it"
],
"description": "Language of titles, descriptions and links (default de). Use the user's language."
}
},
"required": [
"listing_id",
"name",
"email",
"message"
],
"additionalProperties": false
}🟢book_viewing(listing_id, viewing_id, name, email, phone, ...)
Use this to book a place at an open viewing (Besichtigung buchen, réserver une visite, prenotare una visita) – viewing ids come from get_listing. Needs name, e-mail and number of people. Signed in: booked at once; otherwise after the e-mail confirmation.
Eingabe-Schema
{
"type": "object",
"properties": {
"listing_id": {
"type": "string"
},
"viewing_id": {
"type": "string"
},
"name": {
"type": "string"
},
"email": {
"type": "string"
},
"phone": {
"type": "string"
},
"party_size": {
"type": "integer",
"minimum": 1,
"maximum": 6
},
"language": {
"type": "string",
"enum": [
"de",
"en",
"fr",
"it"
],
"description": "Language of titles, descriptions and links (default de). Use the user's language."
}
},
"required": [
"listing_id",
"viewing_id",
"name",
"email"
],
"additionalProperties": false
}🟡create_search_alert(category, place, property_type, rooms_min, price_max, ...)
Use this when someone wants to be notified about new listings (Suchabo, Benachrichtigung, alerte, avviso): e-mails new matching listings for a place, type, rooms, price and area. Needs their e-mail (or a Heimster sign-in). Starts after the confirmation link; unsubscribe in one click.
Eingabe-Schema
{
"type": "object",
"properties": {
"category": {
"type": "string",
"enum": [
"rent",
"buy",
"shared_flat",
"sublet"
]
},
"place": {
"type": "string",
"description": "Municipality, postal code or canton in Switzerland, e.g. «Winterthur», «8004», «ZH»."
},
"property_type": {
"type": "string",
"enum": [
"apartment",
"house",
"commercial",
"parking",
"land"
]
},
"rooms_min": {
"type": "number"
},
"price_max": {
"type": "integer"
},
"area_min": {
"type": "integer"
},
"email": {
"type": "string"
},
"language": {
"type": "string",
"enum": [
"de",
"en",
"fr",
"it"
],
"description": "Language of titles, descriptions and links (default de). Use the user's language."
}
},
"required": [
"place",
"email"
],
"additionalProperties": false
}⚪follow_property_value(address, email, living_area_m2, rooms, language)
Use this when an OWNER wants to follow their property's value over time (Wert verfolgen, monatliches Update; canton of Zurich so far): a private page and a monthly e-mail with the market range, buyer demand and construction nearby. Needs e-mail and, for a flat, the living area. Starts after the e-mail confirmation.
Eingabe-Schema
{
"type": "object",
"properties": {
"address": {
"type": "string"
},
"email": {
"type": "string"
},
"living_area_m2": {
"type": "number"
},
"rooms": {
"type": "number"
},
"language": {
"type": "string",
"enum": [
"de",
"en",
"fr",
"it"
],
"description": "Language of titles, descriptions and links (default de). Use the user's language."
}
},
"required": [
"address",
"email"
],
"additionalProperties": false
}⚪owner_enquiry(address, intent, timeframe, name, email, ...)
Use this when an OWNER anywhere in Switzerland wants to sell, let or value a property, or wants a broker (Haus/Wohnung verkaufen, vermieten, Makler gesucht, bewerten lassen; vendre, louer, agence immobilière; vendere, affittare): the Heimster team gets in touch within two working days and, if the owner wishes, connects an experienced local brokerage – nothing goes to a brokerage without their consent. Needs the address, the intent, name and e-mail (phone and timeframe optional). Signed in: sent at once; otherwise after the e-mail confirmation.
Eingabe-Schema
{
"type": "object",
"properties": {
"address": {
"type": "string"
},
"intent": {
"type": "string",
"enum": [
"sell",
"let",
"value",
"info"
]
},
"timeframe": {
"type": "string",
"enum": [
"now",
"year",
"later"
],
"description": "now = within 3 months, year = within 12 months"
},
"name": {
"type": "string"
},
"email": {
"type": "string"
},
"phone": {
"type": "string"
},
"message": {
"type": "string"
},
"language": {
"type": "string",
"enum": [
"de",
"en",
"fr",
"it"
],
"description": "Language of titles, descriptions and links (default de). Use the user's language."
}
},
"required": [
"address",
"intent",
"name",
"email"
],
"additionalProperties": false
}🟢my_applications(language)
Use this when someone asks about their own applications or purchase interests on Heimster (meine Bewerbungen, Stand meiner Bewerbung, mes candidatures): status and links. Call it directly – if the person is not signed in, the app shows the Heimster sign-in itself.
Eingabe-Schema
{
"type": "object",
"properties": {
"language": {
"type": "string",
"enum": [
"de",
"en",
"fr",
"it"
],
"description": "Language of titles, descriptions and links (default de). Use the user's language."
}
},
"additionalProperties": false
}🟢apply_for_listing(listing_id, message, language)
Use this to apply for a RENTAL listing with the person's Heimster application profile (bewerben, sich bewerben, postuler, candidarsi). Call it directly once they confirm – if they are not signed in, the app shows the Heimster sign-in itself; if the profile or the phone check is missing, the result says how to complete it. Documents are never sent through the chat; they are shared on the Heimster application page afterwards.
Eingabe-Schema
{
"type": "object",
"properties": {
"listing_id": {
"type": "string"
},
"message": {
"type": "string",
"description": "Short personal note to the provider (optional)."
},
"language": {
"type": "string",
"enum": [
"de",
"en",
"fr",
"it"
],
"description": "Language of titles, descriptions and links (default de). Use the user's language."
}
},
"required": [
"listing_id"
],
"additionalProperties": false
}⚪register_purchase_interest(listing_id, phone, message, financing, language)
Use this to register interest in a property FOR SALE with the agent (Kaufinteresse anmelden, kaufen möchten, intérêt d'achat, interesse all'acquisto). Optional: phone, a message and the financing status (unknown, self_funded, confirmed, approved). Call it directly once they confirm – if they are not signed in, the app shows the Heimster sign-in itself.
Eingabe-Schema
{
"type": "object",
"properties": {
"listing_id": {
"type": "string"
},
"phone": {
"type": "string"
},
"message": {
"type": "string"
},
"financing": {
"type": "string",
"enum": [
"unknown",
"self_funded",
"confirmed",
"approved"
]
},
"language": {
"type": "string",
"enum": [
"de",
"en",
"fr",
"it"
],
"description": "Language of titles, descriptions and links (default de). Use the user's language."
}
},
"required": [
"listing_id"
],
"additionalProperties": false
}🟢search(query)
Free-text search over Heimster listings and new-build projects. Returns ids for fetch.
Eingabe-Schema
{
"type": "object",
"properties": {
"query": {
"type": "string"
}
},
"required": [
"query"
],
"additionalProperties": false
}🟢fetch(id)
Full text of a result from search (id like «listing:<uuid>» or «project:<slug>»).
Eingabe-Schema
{
"type": "object",
"properties": {
"id": {
"type": "string"
}
},
"required": [
"id"
],
"additionalProperties": false
}Community
Nachweis