Skip to main content
Glama

Heimster – Swiss homes

Server Details

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

If you are the author of this connector, you can claim ownership by verifying the domain or GitHub account it belongs to. Claimed connector authors can inspect health checks, view analytics, and manage their listing.
Status
Healthy
Uptime
99.8% over 25 days
Last Tested
Transport
Streamable HTTP · MCP 2025-11-25
URL
ChatGPT
–
Claude
–

TDQS

A3.8/5.0

Scored across 18 tools

Disambiguation4/5

Descriptions are exceptionally detailed with distinct multilingual trigger phrases, so most tools are clearly separable. Minor overlaps remain: search vs search_listings vs search_new_builds share a discovery purpose, and property_value_range vs follow_property_value both funnel owners to the same free valuation link, which could cause misselection.

Naming Consistency4/5

Almost all names use snake_case with a dominant verb_noun pattern (apply_for_listing, book_viewing, compare_listings, get_listing). Deviations are mild: bare verbs (search, fetch) and noun-only phrases (address_facts, area_market_facts, my_applications, upcoming_construction), but casing stays uniform throughout.

Tool Count4/5

18 tools is on the heavier side but justified by the genuine breadth of the domain (search, listing detail, market data, viewings, applications, owner services, alerts, construction). Each tool maps to a plausible distinct user intent rather than padding.

Completeness4/5

Coverage is broad: discovery, listing detail, comparison, viewing booking, rental applications, purchase interest, enquiries, owner valuation/brokerage, area facts, market figures, and construction. Gaps are minor — no favorites/save-listing, and alert lifecycle beyond creation/unsubscribe is absent, but agents can work around these.

Available Tools

18 tools
address_factsEverything about an addressA
Read-onlyIdempotent
Inspect

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.

NameRequiredDescriptionDefault
addressYesSwiss street address, e.g. «Bahnhofstrasse 10, 8001 Zürich».
languageNoLanguage of titles, descriptions and links (default de). Use the user's language.

TDQS

A4.1/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnly, idempotent, openWorld and non-destructive, so the safety profile is covered. The description adds useful behavioral context by disclosing the breadth of data returned (noise, rents, nearby construction), which matters since there is no output schema. It does not mention rate limits, cost, or lookup latency.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Front-loaded with the primary instruction and scoping condition, then a compact enumeration of returned facts. The quadruple-language example list is somewhat bulky, but each example maps to a plausible user phrasing rather than being filler.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With no output schema, the description carries the burden of telling the agent what comes back, and it does so by listing the fact categories. An agent knows what to expect and when to call it; minor gaps remain on result format and coverage boundaries (e.g., non-Swiss addresses are implicitly out of scope).

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%: the address format example and the language enum/default/'use the user's language' rule are all already documented in the schema. The description's multilingual query examples reinforce language handling but add no syntax or format detail beyond the schema, so baseline 3 applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific resource (Swiss address) and enumerates exactly what facts are returned: building attributes, transit, amenities, noise, prices, construction, listings. The phrase 'even without a listing' cleanly distinguishes it from sibling tools like get_listing and search_listings.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Strong trigger guidance ('Use this for ANY Swiss address') plus concrete multilingual example queries that map real user phrasings to the tool. It does not explicitly name alternatives such as area_market_facts or property_value_range, so the when-not-to-use boundary is left implicit.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

apply_for_listingApply for a rentalAInspect

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.

NameRequiredDescriptionDefault
messageNoShort personal note to the provider (optional).
languageNoLanguage of titles, descriptions and links (default de). Use the user's language.
listing_idYes

TDQS

A4.1/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations cover readOnlyHint, openWorldHint, idempotentHint and destructiveHint, so safety is partly declared. The description adds real behavioral context beyond that: the app handles sign-in, missing-profile and phone-check feedback comes back in the result, and documents are not sent in chat but shared on the Heimster application page. It stops short of describing rate limits or what the result payload looks like.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Front-loaded with purpose and a direct call-to-action, then handles edge cases and the document policy in order. The parenthetical multilingual keywords are somewhat noisy but the rest is efficient.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a 3-parameter mutation tool with no output schema, the description covers the confirm gate, auth handling, profile preconditions, result feedback and a policy on document sharing. It lacks any mention of return shape or failure semantics, which keeps it from a 5.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 67%, so the schema already documents the optional message and language fields. The description adds no syntax or format detail for listing_id or language beyond the enum already present, so baseline 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Specific verb (apply) plus resource (RENTAL listing) with multilingual keywords that aid retrieval. It is clearly distinguishable from register_purchase_interest, send_enquiry, and owner_enquiry.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicitly says to call it directly once the user confirms and explains the not-signed-in and missing-profile/phone-check branches, so the agent knows when not to intervene. It does not compare against sibling alternatives like owner_enquiry or send_enquiry, but the condition for use is clear.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

area_market_factsProperty market figures of an areaA
Read-onlyIdempotent
Inspect

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.

NameRequiredDescriptionDefault
placeYesE.g. «Zürich Oerlikon», «Kreis 6», «Winterthur».
languageNoLanguage of titles, descriptions and links (default de). Use the user's language.

TDQS

A3.7/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already cover the safety profile (readOnly, non-destructive, idempotent, closed-world), so the bar is lower. The description adds genuinely useful context beyond them: the supported geographic granularity (municipality/Kreis/Quartier) and the shape of each returned record (year, area level, source).

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

A single front-loaded sentence that opens with the usage cue and then lists metrics. The multilingual parenthetical is dense but it is the tool's real vocabulary surface, so it earns its place; still, the trilingual metric list is heavier than strictly needed.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

There is no output schema, and the description compensates by enumerating the returned fields (prices per m², rents, land prices, vacancy rate, each with year, area level and source). Combined with annotations covering safety, an agent has enough to call this correctly; only the boundary with property-value siblings is left open.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so both parameters are already documented, giving a baseline of 3. The description reinforces the `place` semantics by naming the area levels (municipality, Kreis, Quartier) and demonstrates multilingual support that maps to the `language` enum, but adds no format or constraint detail beyond the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb+resource (market figures for a Swiss municipality, Kreis or Quartier) and enumerates the exact metrics returned: per-m² condo/house prices, rents, land prices, vacancy rate. It implicitly separates itself from property-level siblings like property_value_range by scoping to area-level aggregates, but never names a sibling explicitly.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The 'Use this for...' framing gives a clear trigger condition, but there are no exclusions or alternatives. An agent cannot tell from this text whether an area-level question should go here or to property_value_range/address_facts when the query is ambiguous.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

book_viewingBook a viewingAInspect

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.

NameRequiredDescriptionDefault
nameYes
emailYes
phoneNo
languageNoLanguage of titles, descriptions and links (default de). Use the user's language.
listing_idYes
party_sizeNo
viewing_idYes

TDQS

A3.8/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations cover the safety profile (readOnly=false, idempotent=false, openWorld=true, destructive=false), so the bar is lower. The description still adds real behavioral value by disclosing the two fulfilment paths — immediate booking when signed in vs. booking after e-mail confirmation — which the annotations do not convey.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two tight sentences, front-loaded with the action and then the prerequisites and flow. The parenthetical multilingual synonyms add bulk but serve a real purpose for a multilingual real-estate agent.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a 7-parameter, 4-required mutation tool with no output schema, the description covers the core inputs and the confirmation flow but omits the phone parameter, the purpose of listing_id, party_size limits, and what the caller receives on success or failure. Adequate but with clear gaps.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is only 14% (only 'language' is documented), so the description must compensate. It does map 'name, e-mail and number of people' to name/email/party_size and explains where viewing_id comes from, but leaves listing_id and phone unexplained, so the gap is only partially closed.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb+resource ('book a place at an open viewing') and even provides the multilingual synonyms a user might speak. It names get_listing as the source of viewing ids, but does not differentiate itself from neighbours like apply_for_listing or register_purchase_interest, which are also booking/reservation actions.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

It gives clear context: this is for open viewings and the viewing id must come from get_listing first, and it explains the signed-in vs. e-mail-confirmation paths. It stops short of stating when not to use it versus the other enquiry/reservation siblings.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

compare_listingsCompare listingsA
Read-onlyIdempotent
Inspect

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.

NameRequiredDescriptionDefault
idsYesListing ids from search_listings.
languageNoLanguage of titles, descriptions and links (default de). Use the user's language.

TDQS

A3.9/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint, idempotentHint, destructiveHint=false and openWorldHint, so the safety profile is covered. The description adds the attribute set returned (price, price/m², sun score, nearby amenities), which is useful, but the 2–4 bound merely restates the schema's minItems/maxItems. Nothing about perf, pagination, or failure modes on unknown ids.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

A single front-loaded sentence that opens with the trigger condition and then enumerates the comparison dimensions. The parenthetical translated keywords are slightly cluttered but serve intent matching, so waste is minimal.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

There is no output schema, so the description partly compensates by listing what the comparison returns. Combined with 100% schema coverage on both inputs, an agent has enough to invoke it correctly; only edge behavior (fewer than 2 or duplicate ids) is unaddressed.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%: ids (from search_listings) and language (default de, use the user's language) are fully documented in the schema itself. The description adds no format or constraint detail beyond what the schema already gives, so baseline 3 applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Specific verb (compare) plus resource (listings), with the exact cardinality (two to four) and the full attribute set compared side by side. It is clearly distinguishable from search_listings and get_listing, which retrieve rather than compare.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

"Use this when someone wants to compare two to four listings" gives an explicit trigger, and the multilingual cues (vergleichen, comparer, confrontare) help match non-English user intents. No alternative tool is named or excluded, so it stops short of a full when/when-not routing rule.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

create_search_alertCreate a search alertAInspect

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.

NameRequiredDescriptionDefault
emailYes
placeYesMunicipality, postal code or canton in Switzerland, e.g. «Winterthur», «8004», «ZH».
area_minNo
categoryNo
languageNoLanguage of titles, descriptions and links (default de). Use the user's language.
price_maxNo
rooms_minNo
property_typeNo

TDQS

A3.9/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations cover safety (readOnlyHint false, openWorldHint true, idempotentHint false), and the description adds genuinely new context: it needs an e-mail or a Heimster sign-in, activation begins only after a confirmation link, and unsubscribe is one click. What it doesn't state is duplicate-alert behavior or any throttling, which keeps it from a 5.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

A single compact sentence front-loads the trigger, then the effect and prerequisites. The parenthetical multilingual synonyms are slightly dense but serve a real trigger-matching purpose, so nothing is wasted.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For an 8-parameter mutation tool with no output schema, the description supplies the essential operational facts: the notification behavior, the required contact/auth, and the confirmation-gated activation. The remaining gap is that five of eight parameters are undocumented in both schema and prose.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is only 25% (just place and language are documented), so the description must carry more of the load. It names the filter dimensions ('place, type, rooms, price and area') but maps them loosely — 'type' is ambiguous between category and property_type — and adds no enum values, defaults, or unit guidance.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb+resource ('notified about new listings', 'e-mails new matching listings') with the filter dimensions it operates on. It implicitly distinguishes itself from one-shot siblings like search_listings by framing continuous notification, though it never names those siblings explicitly.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

'Use this when someone wants to be notified about new listings' gives a clear trigger condition, reinforced by the multilingual synonyms (Suchabo, Benachrichtigung, alerte, avviso) that tell the agent when user phrasing maps here. No explicit when-not or named alternative, so it stops short of a 5.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

fetchFetch a Heimster documentA
Read-onlyIdempotent
Inspect

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

NameRequiredDescriptionDefault
idYes

TDQS

A3.6/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint, idempotentHint, destructiveHint=false and openWorldHint, so the safety profile is fully covered by structured data. The description adds only that the return is full text (as opposed to the abbreviated results search yields), which is modest extra context; it says nothing about error behavior for bad ids or rate limits.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

A single front-loaded sentence with zero filler; the id format appears immediately rather than buried. It is terse to the point of being a fragment, but every element earns its place.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

There is no output schema, and the description covers the essential return nature ('full text') plus the input grammar, which is adequate for a one-parameter read tool with complete annotations. Minor gaps remain around invalid-id behavior and whether any metadata accompanies the text.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the description carries the whole burden for the single id parameter, and it does so well by giving the concrete id grammar with examples ('listing:<uuid>', 'project:<slug>'). It stops short of saying where the id originates beyond 'a result from search', but the format detail is genuinely useful beyond the bare schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a concrete resource and scope: it returns the full text of a document that came from search, and the title names the verb (fetch a Heimster document). It is a noun phrase rather than a verb+resource sentence, and it never contrasts itself with siblings like get_listing or search, so it is clear but not fully differentiated.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Phrasing as 'a result from search' implies the intended pipeline (call search first, then fetch with a returned id), which is useful implied usage. However there is no explicit when-to-use/when-not guidance and no statement of how it differs from get_listing, so usage must be inferred.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

follow_property_valueFollow a property's valueA
Read-onlyIdempotent
Inspect

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.

NameRequiredDescriptionDefault
addressYes
languageNoLanguage of titles, descriptions and links (default de). Use the user's language.
living_area_m2No

TDQS

A3.7/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true, idempotentHint=true and destructiveHint=false, so the safety profile is covered. The description adds value beyond that by disclosing the actual outcome: a returned link plus the downstream monthly follow in the Heimster account, which tells the agent this is a hand-off to an external valuation flow rather than a data lookup.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

A single front-loaded sentence opening with the usage trigger, with no filler. The parenthetical German terms are mild clutter but earn their place for a German-market tool matching localized queries.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With no output schema, the description correctly explains what comes back (the valuation link) and what happens next, which is the key missing piece. What remains thin – address format and area units – is the parameter gap already counted elsewhere; overall the definition is adequate for a simple 3-param read tool.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is only 33%: only 'language' is documented in the schema, while 'address' and 'living_area_m2' carry no explanation anywhere. The description mentions no parameters at all – not required 'address' format, not the unit/meaning of living_area_m2 – so it fails to compensate for the coverage gap.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description gives a specific verb+resource ('follow their property's value over time') and states the concrete output ('returns the link to the free owner valuation'). It does not explicitly contrast itself with near siblings such as property_value_range or area_market_facts, but the OWNER persona and follow-over-time framing make the function clear.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

'Use this when an OWNER wants to follow their property's value over time' gives an explicit triggering condition and audience. It stops short of naming alternatives (e.g. property_value_range for a one-off estimate) or when-not to use it, so it is clear context rather than full routing guidance.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_listingListing detailsA
Read-onlyIdempotent
Inspect

Use this to show one listing in full (id from search_listings, a Heimster link, or «found:» 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.

NameRequiredDescriptionDefault
idYesListing id (UUID).
languageNoLanguage of titles, descriptions and links (default de). Use the user's language.

TDQS

A4.4/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint, idempotentHint, openWorldHint and destructiveHint=false, so safety is covered. The description adds value beyond that by disclosing the return contents (including open viewings with ids) and the accepted id forms, which is real behavioral context. It does not discuss rate limits or error behavior, so not a 5.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

A single front-loaded sentence opens with the purpose before the parenthetical detail. It is dense but every clause carries information (id sources, return payload, preconditions). Slightly heavy for one sentence, keeping it below a 5.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With no output schema, the description compensates by enumerating exactly what the agent gets back, plus valid id inputs, plus when to invoke it. Nothing needed to select and call this read-only tool correctly is missing.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so the baseline is 3, but the description genuinely enriches the `id` parameter by naming its three sources (search_listings output, a Heimster link, or «found:<id>» for agency-website listings) — meaning the bare 'Listing id (UUID)' schema does not convey. The `language` param is left to the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description uses a specific verb ('show one listing in full') and explicitly enumerates the payload — photos, floor plans, description, costs, location facts, open viewings with ids, and the link. This clearly distinguishes it from search_listings (which finds listings) and from the booking/application siblings.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

It gives concrete usage context: 'Call it before booking a viewing or applying,' tying the tool to a workflow step. It also tells the agent where the id may come from. It stops short of naming explicit alternatives or when-not-to-use conditions, so it lands at clear-context-but-no-exclusions.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

my_applicationsMy applicationsA
Read-onlyIdempotent
Inspect

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.

NameRequiredDescriptionDefault
languageNoLanguage of titles, descriptions and links (default de). Use the user's language.

TDQS

A4.2/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint, idempotentHint, non-destructive, and closed-world, so the safety profile is covered. The description adds genuinely non-structured behavior: it is safe to call directly and sign-in is handled by the app rather than the agent. That auth-handling detail is the main value-add, though rate limits or empty-result behavior are not addressed.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two sentences, zero filler: the trigger and scope come first, the invocation/auth note second. Every clause earns its place and nothing is repeated from the title.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a zero-required-param read tool with a fully documented schema and no output schema, the description covers trigger, scope, and auth handling. It lightly sketches returns ('status and links') but says nothing about what an empty result means or result count, which is a minor gap rather than a blocking one.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100% and the single 'language' parameter already documents its enum and the 'use the user's language' guidance. The description adds no additional meaning about the parameter, so the baseline 3 applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific resource and scope: the caller's own applications and purchase interests, returning status and links. The word 'own' plus the phrasing separates it from write-side siblings like register_purchase_interest and apply_for_listing. Multilingual trigger phrases (meine Bewerbungen, mes candidatures) add retrieval-specific disambiguation.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Gives a clear usage trigger ('when someone asks about their own applications or purchase interests') and even tells the agent how to invoke it. It stops short of naming exclusions or an alternative tool for application history versus, say, listing enquiries, so it is clear context without explicit when-not guidance.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

owner_enquiryOwner: sell, let or value a propertyAInspect

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.

NameRequiredDescriptionDefault
nameYes
emailYes
phoneNo
intentYes
addressYes
messageNo
languageNoLanguage of titles, descriptions and links (default de). Use the user's language.
timeframeNonow = within 3 months, year = within 12 months

TDQS

A4.3/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations only declare the mutation profile (readOnlyHint=false, openWorldHint=true, idempotentHint=false), while the description adds what actually happens: the team responds within two working days, no brokerage contact happens without the owner's consent, and submission is immediate when signed in but gated on e-mail confirmation otherwise. That is exactly the operational detail annotations cannot convey.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Front-loaded with the trigger condition, and the parenthetical phrase lists and consent/send semantics all carry information. It is dense but not padded; only the multi-language trigger list could be trimmed.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With no output schema, the description carries the return behavior itself (who contacts whom, when, and the consent boundary), which is sufficient for an 8-param lead-submission tool. Minor gaps remain around failure cases and what the confirmation e-mail flow requires of the agent.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is only 25% (language and timeframe documented; intent/address/name/email/phone/message bare), so the description must compensate. It does state which fields are required (address, intent, name, e-mail) and marks phone and timeframe optional, but adds no format, validation, or meaning for message/intent beyond the enum labels themselves.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific actor and intent set ('when an OWNER anywhere in Switzerland wants to sell, let or value a property, or wants a broker'), which separates it cleanly from tenant/buyer-oriented siblings like send_enquiry and apply_for_listing. The multilingual trigger phrases even anticipate how users phrase the request.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Gives clear context for when to invoke: an owner-initiated sell/let/value/broker request. It does not explicitly name the alternative tool to use for non-owner enquiries or exclusions, so the agent must infer routing between it and send_enquiry.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

property_value_rangeValue of a property (owner valuation)A
Read-onlyIdempotent
Inspect

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.

NameRequiredDescriptionDefault
roomsNo
addressYes
languageNoLanguage of titles, descriptions and links (default de). Use the user's language.
living_area_m2NoOptional – prefills the valuation.

TDQS

A4.3/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnly/idempotent/non-destructive/openWorld, so the safety profile is covered. The description adds genuinely useful behavior beyond that: it returns a link rather than a figure, takes about two minutes, requires an SMS check, and delivers a 'personal cockpit' — all context an agent could not infer from annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Single sentence, front-loaded with the usage trigger before the payoff and the sibling redirect. The stacked parentheticals (multilingual triggers, timing, SMS step) make it dense but each clause carries information, so little is wasted.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With no output schema, the description carries the return-value burden and does so by stating it returns a link, not a valuation figure — a critical expectation-setting detail. Only the rooms parameter is left unaddressed, a minor gap in an otherwise complete definition.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 50%: language and living_area_m2 are documented in the schema, while rooms is not. The description reinforces 'that address' and the user-language intent via multilingual triggers, but adds little else about rooms or area inputs, so it roughly meets the baseline rather than compensating heavily.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource: returns the link to Heimster's free owner valuation for a given address, with scope ('all of Switzerland') and delivery details. It explicitly distinguishes itself from area_market_facts, so an agent can route correctly without opening another schema.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Names the exact trigger ('when an OWNER asks what their flat or house is worth') and even supplies multilingual phrasings to match user intent. It also names the alternative (area_market_facts) for the area-price case, so when-not-to-use is explicit.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

register_purchase_interestRegister purchase interestAInspect

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.

NameRequiredDescriptionDefault
phoneNo
messageNo
languageNoLanguage of titles, descriptions and links (default de). Use the user's language.
financingNo
listing_idYes

TDQS

A3.9/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare this is a non-destructive, non-idempotent, open-world write. The description adds genuine behavioral context beyond that: no separate auth step is needed because the app surfaces the Heimster sign-in itself. It does not warn that repeat calls are non-idempotent (duplicate interest records) or describe what the user sees after registration.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The purpose is front-loaded in the first clause, and the operational guidance follows in a compact second sentence. The parenthetical list of four equivalent intent phrases is bulky, but it plausibly earns its place for multilingual intent matching.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a five-parameter write tool with no output schema, the definition covers purpose, trigger condition, optional inputs and the auth path. It stops short of describing the return/confirmation behavior and does not help the agent disambiguate from sibling enquiry tools, which is the main remaining gap.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is only 20% (just 'language'), so the description carries real load by naming the optional phone, message and financing fields. However, it only restates the financing enum values already present in the schema and explains nothing about listing_id or what each optional field changes downstream.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description names a specific verb ('register interest') and resource ('a property FOR SALE with the agent'), and the multilingual trigger phrases anchor the intent. It distinguishes itself from rental-oriented siblings only implicitly ('FOR SALE'), and it never names the adjacent tools apply_for_listing, send_enquiry or owner_enquiry, so the agent must infer the boundary.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

'Call it directly once they confirm' gives an explicit trigger condition, and the note that sign-in is handled by the app removes a prerequisite the agent would otherwise feel obliged to check. It offers no explicit when-not-to-use guidance or named alternatives among the many enquiry-type siblings.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

search_listingsSearch homes on HeimsterB
Read-onlyIdempotent
Inspect

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.

NameRequiredDescriptionDefault
sortNo
greenNoOnly green, family-friendly surroundings: parks & playgrounds within 500 m (grün, im Grünen, Natur, Spielplatz; verdure; verde).
limitNo
placeNoMunicipality, postal code or canton in Switzerland, e.g. «Winterthur», «8004», «ZH».
quietNoOnly quiet locations: road/rail noise by day below 55 dB at the facade.
livelyNoOnly 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».
area_minNoMinimum living area in m².
categoryNorent (default), buy, shared_flat (WG room) or sublet.
languageNoLanguage of titles, descriptions and links (default de). Use the user's language.
new_buildNoOnly units in new-build projects.
price_maxNoCHF; per month for rent, total for buy.
price_minNoCHF; per month for rent, total for buy.
rooms_maxNo
rooms_minNoSwiss room count, e.g. 3.5
workplaceNoWhere the user works or studies (address or place) – for the commute filter.
max_park_mNoMax distance (m) to a park.
max_stop_mNoMax distance (m) to a bus/tram stop.
max_school_mNoMax distance (m) to a school.
min_sun_scoreNoMinimum Heimster sun score (0–100, direct sun on the building/flat).
property_typeNo
max_childcare_mNoMax distance (m) to childcare (Kita) or kindergarten.
max_commute_minNoMax door-to-door minutes by public transport to the workplace (default 30).
max_supermarket_mNoMax walking distance (m) to a supermarket.
max_train_station_mNoMax distance (m) to a train station.

TDQS

B3.3/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint, idempotentHint, openWorldHint and destructiveHint=false, so the safety profile is covered. The description does add one real behavioral fact beyond the annotations – that results span both Heimster and external Swiss agency websites – but says nothing about result volume, pagination, limits, or result freshness.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness2/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The purpose is front-loaded, but the description is a dense wall of text with extensive parenthetical keyword dumps in German, French and Italian that duplicate the schema's own synonym lists. Much of the middle ('ruhig, sonnig, lebendig/belebt, grün, zentral, familienfreundlich; calme, ensoleillé, animé...') does not earn its space because the parameters already carry those synonyms.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a 24-parameter, zero-required search tool with no output schema, the description adequately conveys the filter surface (place, type, rooms, price, area, commute, proximity, feel) and the data sources, and annotations cover the safety profile. Gaps remain around zero-param behaviour, default sort, and the limit cap, but nothing critical for correct invocation is missing.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 83%, so the schema already documents nearly every parameter, including the multilingual synonym mappings (green, quiet, lively). The description's only added value is a summary of filter categories ('place, type, rooms, price and area; sort by newest or price'), which largely restates the schema. Baseline 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific verb and resource ('Searches homes and properties in Switzerland – to rent or buy') and covers the feel-based and proximity filters, so the agent knows exactly what this tool retrieves. However, it never names or contrasts sibling tools such as search_new_builds or the generic search, so differentiation from neighbours is left to inference.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

There is one genuinely actionable usage instruction ('Ask where they work when the commute matters'), which implies the commute filter requires an extra step. Beyond that there is no explicit when-to-use / when-not-to-use guidance and no routing to alternatives like search_new_builds for new-build projects or create_search_alert for saved searches.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

search_new_buildsNew-build projectsA
Read-onlyIdempotent
Inspect

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.

NameRequiredDescriptionDefault
typeNo
limitNo
placeNoMunicipality, canton or project name.
languageNoLanguage of titles, descriptions and links (default de). Use the user's language.
price_maxNoCHF; per month for rent, total for sale.
rooms_minNo

TDQS

A3.8/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint, idempotentHint, destructiveHint=false and openWorldHint=false, so the safety profile is fully covered without help from the description. The description adds useful content-shape context ('prices from', 'available units', 'move-in date'), which is genuinely behavioral. It does not mention ordering, result caps, or rate behavior, so it adds some value but not rich context.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two sentences, front-loaded with the trigger phrase, followed by the filter inventory — no filler. The parenthetical synonym list is long but earns its place by enabling multilingual query matching. Structure is clean and readable.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a 6-param, zero-required search tool with no output schema, the description covers what results contain and which filters apply, and the annotations carry the safety profile. Missing niceties are pagination/limit behavior and the language default, though the latter is documented in the schema. Adequate for correct invocation.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is only 50%, covering place, language and price_max; type, limit and rooms_min are undocumented in the schema. The description compensates by naming place, rent/sale (type), rooms (rooms_min) and maximum price (price_max), covering the two otherwise-undocumented meaningful filters. limit and language defaults remain unexplained in the description, but language is handled by the schema and limit is trivial.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific verb+resource ('search' for 'new-build homes') and pins the domain precisely with developments that have available units, prices from, rooms and move-in date. The multilingual synonyms (Neubau, Erstbezug, Erstvermietung, neuf, nuova costruzione) sharpen the concept well. It stops short of naming the sibling it is not (e.g. search_listings or upcoming_construction), so an agent must infer the boundary from scope alone.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The opening 'Use this for new-build homes...' is an explicit when-to-use trigger with a concrete domain, which is more than implied usage. However, it names no alternatives and gives no when-not guidance — the agent is not told to prefer search_listings for resale or upcoming_construction for unbuilt projects. Clear context, but no exclusions.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

send_enquirySend an enquiryAInspect

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:» 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.

NameRequiredDescriptionDefault
nameYes
emailYes
phoneNo
messageYesThe user's own words, 5–2000 characters.
languageNoLanguage of titles, descriptions and links (default de). Use the user's language.
listing_idYes

TDQS

A4.3/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Goes well beyond the annotations: it discloses that the enquiry is sent in the sender's name, requires name/e-mail/message with phone optional, that agency-website listings are forwarded to the agency, and the key flow difference — signed-in users get immediate send, everyone else receives a confirmation-link e-mail. These are non-obvious behaviors an agent must plan around.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Front-loaded trigger clause followed by requirements, listing scope, and send flow in a compact paragraph. The parenthetical stack of translation keywords is clutter for a purely human reader, but it aids intent matching and does not obscure the core content.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a six-parameter, non-idempotent, open-world write with no output schema, the description covers requirements, scope and the post-send flow. It omits what the agent should do with listing_id selection and the language parameter, and says nothing about failure handling.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is only 33%, and the description compensates for the core fields by noting name, e-mail and message are needed and phone is optional. However, listing_id and the language enum are never mentioned in the description, so it only partially covers the gap.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource ('sends the enquiry in their name' to 'the provider of a listing'), and the multilingual trigger phrases plus the two supported listing types make it distinguishable from siblings like book_viewing, owner_enquiry and apply_for_listing without opening a schema.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicit trigger: 'Use this when someone wants to contact the provider of a listing', with clear scope for Heimster listings and 'found:<id>' agency listings forwarded to the agency. It does not name an alternative tool or state when *not* to use it (e.g. vs owner_enquiry or book_viewing), so it stops just short of a 5.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

upcoming_constructionHousing under construction («Bald hier»)A
Read-onlyIdempotent
Inspect

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.

NameRequiredDescriptionDefault
limitNo
placeYesMunicipality (e.g. «Uster») or canton code (e.g. «ZH»).
languageNoLanguage of titles, descriptions and links (default de). Use the user's language.
min_dwellingsNo

TDQS

A3.9/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true, idempotentHint=true, destructiveHint=false and openWorldHint=false, so safety is covered. The description adds real depth beyond that: the data source (federal GWR register), the inclusion threshold (≥3 flats), and the nature of the results (approved and ongoing projects, with size and status). It omits pagination/count behavior for limit.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

A single sentence with the usage trigger front-loaded and the parenthetical multilingual synonyms placed after the core scope. Nothing is redundant, though the long trigger list makes the sentence dense.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a read-only, idempotent, no-output-schema tool with one required parameter, the description covers what it retrieves, from where, and under what filter. The only real omission is the behavior of the undocumented limit parameter, which is a minor gap rather than a blocking one.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 50%: place and language are documented in the schema, while limit and min_dwellings have no descriptions. The description partially compensates by stating the 'at least 3 flats' criterion that underlies min_dwellings, but it says nothing about what limit controls or its 1–15 range. Baseline 3 is appropriate for this partial gap.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description gives a concrete verb+resource ('approved and ongoing residential projects' from GWR with ≥3 flats), plus the returned fields (size, status). It is far more specific than a restatement of the title. It does not, however, distinguish itself from the sibling search_new_builds, which an agent could easily confuse with this tool.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

It opens with an explicit usage trigger ('Use this when someone asks what is being built or planned in a Swiss municipality or canton') and supplies multilingual query phrasings to match against, which is directly actionable. There is no when-not guidance and no named alternative, so it stops short of routing between competing tools.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

  1. 2 tool updates
    • Changedfollow_property_value3 fields changed
      • removedInput schema / properties / email
        Removed value: -{
        -  "type": "string"
        -}
      • removedInput schema / properties / rooms
        Removed value: -{
        -  "type": "number"
        -}
      • changedInput schema / required
        Previous value: -[
        -  "address",
        -  "email"
        -]New value: +[
        +  "address"
        +]
    • Changedproperty_value_range1 field changed
      • changedInput schema / properties / living_area_m2 / description
        Previous value: -"Required for flats."New value: +"Optional – prefills the valuation."
  2. 1 tool update
    • Changedsearch_listings2 fields changed
      • addedInput schema / properties / green
        Added value: +{
        +  "description": "Only green, family-friendly surroundings: parks & playgrounds within 500 m (grün, im Grünen, Natur, Spielplatz; verdure; verde).",
        +  "type": "boolean"
        +}
      • addedInput schema / properties / lively
        Added value: +{
        +  "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».",
        +  "type": "boolean"
        +}
  3. 18 tool updates
    • First observedaddress_facts
    • First observedapply_for_listing
    • First observedarea_market_facts
    • First observedbook_viewing
    • First observedcompare_listings
    • First observedcreate_search_alert
    • First observedfetch
    • First observedfollow_property_value
    • First observedget_listing
    • First observedmy_applications
    • First observedowner_enquiry
    • First observedproperty_value_range
    • First observedregister_purchase_interest
    • First observedsearch
    • First observedsearch_listings
    • First observedsearch_new_builds
    • First observedsend_enquiry
    • First observedupcoming_construction

Related MCP Connectors

Related MCP Servers

  • F
    license
    Not graded
    quality
    C
    maintenance
    The most comprehensive signal intelligence on Swiss businesses — 800K+ companies with people, FINMA/SRO regulatory data, building permits, procurement tenders, and AI-enriched profiles from the official commercial register.
    -
  • A
    license
    A
    quality
    B
    maintenance
    Enables AI assistants and agents to query real neighbourhood data around a property, including nearest schools, nurseries, supermarkets, public transport, train stations, motorway access, distances with travel times, and quotable summaries across 25 countries.
    4
    111 npm
    MIT
  • A
    license
    A
    quality
    A
    maintenance
    Enables AI agents to query the Swiss Federal Register of Buildings and Dwellings (GWR/RegBL) — including building lookups, address geocoding, construction statistics, and housing pipeline analysis — through MCP tools.
    9
    28 PyPI
    1
    MIT
  • F
    license
    A
    quality
    D
    maintenance
    Enables AI assistants to provide authoritative, cited, jurisdiction-correct answers about Switzerland using official federal, cantonal, and municipal sources across multiple languages and topics.
    13
    -
Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources