Heimster – Swiss homes
Swiss homes to rent or buy, with walking distances, noise, sun and commute times for any address.
¿Debería usar esto?
Calidad y seguridad
Hallazgos (1)
- LOWen property_value_range
Basado en el análisis automatizado de las definiciones de herramientas y el cumplimiento del protocolo.
Costo de contexto
Este es el número aproximado de tokens que se consumen cada vez que las herramientas del servidor se cargan en el contexto de un modelo. Los recuentos más altos reducen la atención disponible para otras tareas.
Instalar
Instalación con un clic
Agrega esto a tu archivo `claude_desktop_config.json`:
{
"mcpServers": {
"heimster": {
"url": "https://heimster.ch/mcp/public"
}
}
}Puntos de conexión remotos
https://heimster.ch/mcp/publicstreamable-httpQué puede hacer
Inventario de herramientas
Herramientas (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.
Esquema de entrada
{
"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.
Esquema de entrada
{
"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.
Esquema de entrada
{
"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.
Esquema de entrada
{
"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.
Esquema de entrada
{
"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.
Esquema de entrada
{
"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.
Esquema de entrada
{
"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.
Esquema de entrada
{
"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.
Esquema de entrada
{
"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.
Esquema de entrada
{
"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.
Esquema de entrada
{
"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.
Esquema de entrada
{
"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.
Esquema de entrada
{
"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.
Esquema de entrada
{
"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.
Esquema de entrada
{
"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.
Esquema de entrada
{
"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.
Esquema de entrada
{
"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>»).
Esquema de entrada
{
"type": "object",
"properties": {
"id": {
"type": "string"
}
},
"required": [
"id"
],
"additionalProperties": false
}Comunidad
Evidencia