Skip to main content
Glama

Homejourney Singapore property listings

Check who may buy a landed home

check_landed_purchase_eligibility
Read-only

Use this when a buyer asks whether they may buy a landed home in Singapore (terrace, semi-detached, detached or bungalow, cluster or townhouse, Good Class Bungalow), or before a PR or foreigner asks to view a landed listing. It applies the Residential Property Act as SLA states it: citizens may buy any landed home; PRs need SLA approval, which SLA gives case by case to PRs of at least 5 years, and the Ministry of Law has approved no foreign buyer for a Good Class Bungalow since 2021; a foreigner who is not a PR is not approved for landed homes; and anyone may buy a condominium unit or a strata landed house within an approved condominium. Pass the buyer's residency and a listing_id from search_listings, or property_kind. A landed listing does not always record its house type, and never whether it is strata within a condominium, so pass property_kind too when the user knows it; whether it is in a Good Class Bungalow area comes from its location. Returns allowed, needs_sla_approval or not_allowed, the reason, the next step and SLA links. Always give the user the disclaimer: it is general information, not legal advice. Needs no sign-in and stores nothing about the buyer.

Input Schema

NameRequiredDescriptionDefault
gcb_areaNoWhether the land is in a Good Class Bungalow area. Leave out when not known: a landed listing_id's own coordinates answer it.
residencyYesThe buyer's residency: citizen (Singapore citizen), permanent_resident (Singapore PR) or foreigner (neither). With joint buyers, check each one.
listing_idNoA Homejourney listing id, such as one from search_listings.
years_as_prNoFor a PR: their whole years as a PR, when they say.
property_kindNoterrace, semi_detached, detached (bungalow), strata_landed (a cluster house or townhouse outside an approved condominium), strata_landed_in_condo (a strata landed house within an approved condominium), vacant_land, condo_unit, or landed when the type is not known. Overrides the listing’s.

Output Schema

NameRequiredDescriptionDefault
linksNoSLA pages to cite.
reasonNoWhy, in plain words. Give it to the user.
listingNoThe listing checked, when listing_id was given and it is live.
outcomeNoallowed: no SLA approval needed; needs_sla_approval: the buyer must apply to SLA first; not_allowed: SLA does not approve this buyer for this home. Absent with resultReason.
headlineNo
nextStepNo
checkedOnNoThe date the rules were read from SLA.
residencyYes
disclaimerNoAlways show it: general information, not legal advice.
propertyKindNoThe kind checked. landed means a landed listing, which records neither its house type nor its title.
resultReasonNoSet instead of an outcome when the listing is not live, or is an HDB flat or another home this check does not cover.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed2 schema fields changed
    • changedInput schema / properties / gcb_area / description
      Previous value: -"Whether the land is in a Good Class Bungalow area. Leave out when not known."New value: +"Whether the land is in a Good Class Bungalow area. Leave out when not known: a landed listing_id's own coordinates answer it."
    • addedOutput schema / properties / listing / properties / gcbArea
      Added value: +{
      +  "description": "The URA Good Class Bungalow area a landed listing stands in, from its coordinates; null outside every area. The answer already uses it unless gcb_area was passed.",
      +  "type": [
      +    "string",
      +    "null"
      +  ]
      +}
  2. Added

TDQS

A4.6/5.0
Behavior5/5

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

Annotations already declare readOnlyHint=true, destructiveHint=false and openWorldHint=false, so the safety profile is covered. The description adds substantial context beyond that: the Residential Property Act rules, the allowed/needs_sla_approval/not_allowed outcomes, next-step guidance, SLA links, the required disclaimer, and that it needs no sign-in and stores nothing about the buyer.

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 description is front-loaded with the use case and legal rules, then moves to parameter guidance and return values. It is dense but structured, and the legal detail and disclaimer are necessary for this tool rather than filler.

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?

An output schema exists and annotations cover the safety profile, yet the description still supplies the legal context, limitations, return statuses, next step and disclaimer needed for a complex eligibility check. Nothing essential for correct invocation appears to be 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 description coverage is 100%, so the baseline is 3. The description adds useful meaning beyond the schema: listing_id or property_kind can be supplied, property_kind overrides the listing, landed listings may omit house type and never record strata-within-condo status, and GCB area comes from the listing's location.

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: checking whether a buyer may buy a landed home in Singapore, and enumerates the property types covered. It also distinguishes itself from search_listings by explaining that listing_id comes from that sibling 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?

Explicitly says when to use it: when a buyer asks whether they may buy a landed home, or before a PR or foreigner asks to view a landed listing. It gives prerequisites such as residency and listing_id or property_kind, but does not state when not to use it or name an alternative eligibility tool.

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

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources