# Heimster – Swiss homes (remote · heimster.ch)

Swiss homes to rent or buy, with walking distances, noise, sun and commute times for any address.

- Trust score: 68/100 (medium)
- Change this week: +5
- Registry status: active
- Liveness: live
- Owner verified: no
- Last scored: 2026-10-18

## Components

- remote · `heimster.ch`: 68/100 (this document), [markdown](https://verifymcp.io/servers/ch-heimster-heimster/mcp-public.md), [page](https://verifymcp.io/servers/ch-heimster-heimster/mcp-public)

## Channel facts

- Endpoint: `https://heimster.ch/mcp/public`
- Transports: `streamable-http`
- Auth: `none`
- Version: `1.0.0`

## Trust breakdown

How this component scores in each security and reliability category. Every signal is checked automatically against the live server, and we only credit what we can confirm. Scores are 0–100 per category. Scoring method: https://verifymcp.io/docs/scoring (what has changed: https://verifymcp.io/docs/scoring/changelog)

Scored 2026-10-18.

- **Endpoint Security**: 80/100
  - The endpoint's TLS certificate is valid, in date, and uses a strong key.
  - No authorisation is required to call this server. Every tool declares its destructiveHint and none is destructive, so open access doesn't expose one.
  - HTTPS is enforced; there's no plaintext access path.
  - The HSTS (Strict-Transport-Security) header is present.
  - DNSSEC check failed: this domain isn't protected by DNSSEC.
- **Transport & Reachability**: 100/100
  - Verified streamable-http transport via a live MCP handshake.
- **Schema Quality & AI Usability**: 38/100
  - 0% of prompts and resources have a non-trivial description (not blank, and not just the item's name).
  - AI-judged instruction clarity (good).
  - Context-footprint check failed: tool/resource definitions use about 3055 tokens (~152/item across 20 items; 18 tools + 2 resources), over budget; trim descriptions and params.
  - Usage-examples check failed: none of the tools include examples.
- **Stability & Change Management**: 20/100
  - Stability check failed: schema churn in the 7 days we've observed: 0 tool removals, 1 breaking changes, 0 auth/transport breaks, 0 additions.
- **Tool Coverage**: 84/100
  - 100% of tools have a non-trivial description (not blank, and not just the tool's name).
  - 53% of tool parameters carry a description.
- **Tool Safety**: 100/100
  - No prompt-injection markers were found in the server instructions, tool names or descriptions we captured.
  - All 1 tool(s) whose name or description implies an irreversible operation declare an MCP destructiveHint annotation.
  - An AI judge read all 20 captured unit(s) of tool text and found none that tries to manipulate the model reading it.
- **Capabilities**: 100/100
  - Implements a supported MCP spec version (2025-11-25); the latest is 2026-07-28.
  - Supports UI / widget rendering.

## Install

### How do I install the Heimster – Swiss homes MCP server?

Heimster – Swiss homes is a hosted endpoint at https://heimster.ch/mcp/public, so there is nothing to install locally. Ready-made configuration for Claude, Cursor, VS Code, Codex and 5 more is on this page, copied from each client's own documentation.

### Claude

```bash
claude mcp add --transport http ch-heimster-heimster 'https://heimster.ch/mcp/public'
```

### Cursor

```json
{
  "mcpServers": {
    "ch-heimster-heimster": {
      "url": "https://heimster.ch/mcp/public"
    }
  }
}
```

### VS Code

```json
{
  "servers": {
    "ch-heimster-heimster": {
      "type": "http",
      "url": "https://heimster.ch/mcp/public"
    }
  }
}
```

### Codex

```toml
[mcp_servers.ch-heimster-heimster]
url = "https://heimster.ch/mcp/public"
```

### opencode

```json
{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "ch-heimster-heimster": {
      "type": "remote",
      "url": "https://heimster.ch/mcp/public",
      "enabled": true
    }
  }
}
```

### OpenClaw

```bash
openclaw mcp add ch-heimster-heimster --url 'https://heimster.ch/mcp/public' --transport streamable-http
```

### Hermes

```yaml
mcp_servers:
  ch-heimster-heimster:
    url: "https://heimster.ch/mcp/public"
```

### Netclaw

```json
{
  "McpServers": {
    "ch-heimster-heimster": {
      "Transport": "http",
      "Url": "https://heimster.ch/mcp/public"
    }
  }
}
```

### Vellum

```bash
assistant mcp add ch-heimster-heimster -t streamable-http -u 'https://heimster.ch/mcp/public'
```

### Other

```json
{
  "mcpServers": {
    "ch-heimster-heimster": {
      "type": "http",
      "url": "https://heimster.ch/mcp/public"
    }
  }
}
```

The mcpServers block is a cross-client convention. Remote transports vary, so check your client's docs.

## Changelog

Every change recorded for this component, newest first. Days that predate change tracking, or that we cannot explain, say so: "we were watching and nothing happened" and "we were not watching" are different claims.

### 2026-10-17 (score 68, 0)

- [security regression] Stability: 0.17 → fail
- [security regression] A breaking change shipped without a version bump: still 1.0.0
- [security] The server rewrote its instructions, which are the text every model session reads
- [security] Tool “follow_property_value” rewrote its description, which is the text the model reads
- [security] Tool “property_value_range” rewrote its description, which is the text the model reads
- [functional regression] “follow_property_value” dropped the required parameter “email”
- [cosmetic] “property_value_range” reworded the description of “living_area_m2”
- [cosmetic] “follow_property_value” dropped the optional parameter “rooms”
- [cosmetic] Tool “property_value_range” changed its title: Market range of a property → Value of a property (owner valuation)

### 2026-10-16 (score 68, +1)

No change was recorded against any check on this day. Stability & Change Management went from 13 to 17. That category is still filling its 30-day observation window: 4 days of observed history at the previous scan, 5 at this one. The score rises as the window fills, whether or not the server changes.

### 2026-10-13 (score 67, +3)

- [security improvement] HSTS header: fail → pass

### 2026-10-12 (score 64, +1)

- [functional improvement] Stability: unverified → 0.03

### 2026-10-11 (score 63)

First indexed and scored.

## MCP tools (18)

### `search_listings` (~687 tokens)

Search homes on Heimster

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.

Input parameters:

- `area_min` (integer): Minimum living area in m².
- `category` (string): rent (default), buy, shared_flat (WG room) or sublet.
- `green` (boolean): Only green, family-friendly surroundings: parks & playgrounds within 500 m (grün, im Grünen, Natur, Spielplatz; verdure; verde).
- `language` (string): Language of titles, descriptions and links (default de). Use the user's language.
- `limit` (integer)
- `lively` (boolean): 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».
- `max_childcare_m` (integer): Max distance (m) to childcare (Kita) or kindergarten.
- `max_commute_min` (integer): Max door-to-door minutes by public transport to the workplace (default 30).
- `max_park_m` (integer): Max distance (m) to a park.
- `max_school_m` (integer): Max distance (m) to a school.
- `max_stop_m` (integer): Max distance (m) to a bus/tram stop.
- `max_supermarket_m` (integer): Max walking distance (m) to a supermarket.
- `max_train_station_m` (integer): Max distance (m) to a train station.
- `min_sun_score` (integer): Minimum Heimster sun score (0–100, direct sun on the building/flat).
- `new_build` (boolean): Only units in new-build projects.
- `place` (string): Municipality, postal code or canton in Switzerland, e.g. «Winterthur», «8004», «ZH».
- `price_max` (integer): CHF; per month for rent, total for buy.
- `price_min` (integer): CHF; per month for rent, total for buy.
- `property_type` (string)
- `quiet` (boolean): Only quiet locations: road/rail noise by day below 55 dB at the facade.
- `rooms_max` (number)
- `rooms_min` (number): Swiss room count, e.g. 3.5
- `sort` (string)
- `workplace` (string): Where the user works or studies (address or place) – for the commute filter.

### `get_listing` (~105 tokens)

Listing details

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.

Input parameters:

- `id` (string, required): Listing id (UUID).
- `language` (string): Language of titles, descriptions and links (default de). Use the user's language.

### `compare_listings` (~94 tokens)

Compare listings

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.

Input parameters:

- `ids` (array, required): Listing ids from search_listings.
- `language` (string): Language of titles, descriptions and links (default de). Use the user's language.

### `address_facts` (~156 tokens)

Everything about an address

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.

Input parameters:

- `address` (string, required): Swiss street address, e.g. «Bahnhofstrasse 10, 8001 Zürich».
- `language` (string): Language of titles, descriptions and links (default de). Use the user's language.

### `search_new_builds` (~138 tokens)

New-build projects

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.

Input parameters:

- `language` (string): Language of titles, descriptions and links (default de). Use the user's language.
- `limit` (integer)
- `place` (string): Municipality, canton or project name.
- `price_max` (integer): CHF; per month for rent, total for sale.
- `rooms_min` (number)
- `type` (string)

### `upcoming_construction` (~137 tokens)

Housing under construction («Bald hier»)

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.

Input parameters:

- `language` (string): Language of titles, descriptions and links (default de). Use the user's language.
- `limit` (integer)
- `min_dwellings` (integer)
- `place` (string, required): Municipality (e.g. «Uster») or canton code (e.g. «ZH»).

### `area_market_facts` (~139 tokens)

Property market figures of an area

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.

Input parameters:

- `language` (string): Language of titles, descriptions and links (default de). Use the user's language.
- `place` (string, required): E.g. «Zürich Oerlikon», «Kreis 6», «Winterthur».

### `property_value_range` (~146 tokens)

Value of a property (owner valuation)

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): returns the link to Heimster's free owner valuation for that address (all of Switzerland, about two minutes, value after a short SMS check, with a personal cockpit). Heimster gives no figure for a specific property here; for area prices use area_market_facts.

Input parameters:

- `address` (string, required)
- `language` (string): Language of titles, descriptions and links (default de). Use the user's language.
- `living_area_m2` (number): Optional – prefills the valuation.
- `rooms` (number)

### `send_enquiry` (~179 tokens)

Send an enquiry

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.

Input parameters:

- `email` (string, required)
- `language` (string): Language of titles, descriptions and links (default de). Use the user's language.
- `listing_id` (string, required)
- `message` (string, required): The user's own words, 5–2000 characters.
- `name` (string, required)
- `phone` (string)

### `book_viewing` (~133 tokens)

Book a viewing

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.

Input parameters:

- `email` (string, required)
- `language` (string): Language of titles, descriptions and links (default de). Use the user's language.
- `listing_id` (string, required)
- `name` (string, required)
- `party_size` (integer)
- `phone` (string)
- `viewing_id` (string, required)

### `create_search_alert` (~172 tokens)

Create a search alert

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.

Input parameters:

- `area_min` (integer)
- `category` (string)
- `email` (string, required)
- `language` (string): Language of titles, descriptions and links (default de). Use the user's language.
- `place` (string, required): Municipality, postal code or canton in Switzerland, e.g. «Winterthur», «8004», «ZH».
- `price_max` (integer)
- `property_type` (string)
- `rooms_min` (number)

### `follow_property_value` (~93 tokens)

Follow a property's value

Use this when an OWNER wants to follow their property's value over time (Wert verfolgen, monatliches Update): returns the link to the free owner valuation – after it the owner follows the value monthly in their Heimster account.

Input parameters:

- `address` (string, required)
- `language` (string): Language of titles, descriptions and links (default de). Use the user's language.
- `living_area_m2` (number)

### `owner_enquiry` (~212 tokens)

Owner: sell, let or value a property

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.

Input parameters:

- `address` (string, required)
- `email` (string, required)
- `intent` (string, required)
- `language` (string): Language of titles, descriptions and links (default de). Use the user's language.
- `message` (string)
- `name` (string, required)
- `phone` (string)
- `timeframe` (string): now = within 3 months, year = within 12 months

### `my_applications` (~86 tokens)

My applications

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.

Input parameters:

- `language` (string): Language of titles, descriptions and links (default de). Use the user's language.

### `apply_for_listing` (~145 tokens)

Apply for a rental

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.

Input parameters:

- `language` (string): Language of titles, descriptions and links (default de). Use the user's language.
- `listing_id` (string, required)
- `message` (string): Short personal note to the provider (optional).

### `register_purchase_interest` (~138 tokens)

Register purchase interest

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.

Input parameters:

- `financing` (string)
- `language` (string): Language of titles, descriptions and links (default de). Use the user's language.
- `listing_id` (string, required)
- `message` (string)
- `phone` (string)

### `search` (~31 tokens)

Search Heimster

Free-text search over Heimster listings and new-build projects. Returns ids for fetch.

Input parameters:

- `query` (string, required)

### `fetch` (~38 tokens)

Fetch a Heimster document

Full text of a result from search (id like «listing:<uuid>» or «project:<slug>»).

Input parameters:

- `id` (string, required)

## Diagnostics

Captured diagnostic sections: TLS, DNSSEC, Authorisation, Transports. The full working is on the page: https://verifymcp.io/servers/ch-heimster-heimster/mcp-public#diagnostics

## Score history

- 2026-10-18: 68
- 2026-10-17: 68
- 2026-10-16: 68
- 2026-10-15: 67
- 2026-10-14: 67
- 2026-10-13: 67
- 2026-10-12: 64
- 2026-10-11: 63

## Common questions

### What is the Heimster – Swiss homes MCP server?

Heimster – Swiss homes is an MCP server listed in the public MCP registry as ch.heimster/heimster. Swiss homes to rent or buy, with walking distances, noise, sun and commute times for any address. This page covers its hosted endpoint (https://heimster.ch/mcp/public).

### Is the Heimster – Swiss homes MCP server safe to use?

Heimster – Swiss homes scores 68 out of 100 on VerifyMCP. That is a record of what we were able to check automatically, not an endorsement. The category breakdown on this page shows every signal behind the number, including the ones we could not confirm.

### What tools does the Heimster – Swiss homes MCP server expose?

Heimster – Swiss homes exposes 18 tools: search_listings, get_listing, compare_listings, address_facts, search_new_builds, and 13 more. Their descriptions and schemas cost roughly 2,829 tokens of context every time the server is loaded.

### Does the Heimster – Swiss homes MCP server require authentication?

No. We connected to Heimster – Swiss homes without credentials and it answered, so anything it exposes is reachable by anyone who knows the address.

### Is the Heimster – Swiss homes MCP server still maintained?

Heimster – Swiss homes is still listed as active in the MCP registry. We last reached this channel on 18 October 2026. Those dates come from our own scans of the registry and the channel itself, not from anything the publisher announced.

## Links

- Remote endpoint: https://heimster.ch/mcp/public
- Website: https://heimster.ch/chatgpt
- Changelog RSS feed: https://verifymcp.io/servers/ch-heimster-heimster/mcp-public.xml
- Changelog JSON feed: https://verifymcp.io/servers/ch-heimster-heimster/mcp-public.json
- HTML version of this page: https://verifymcp.io/servers/ch-heimster-heimster/mcp-public
