Skip to content
verify mcp Beta VerifyMCP is currently in beta. If you notice any issues, get in touch and we’ll put it right.

Homejourney Singapore property listings

REMOTE · AI-APPS.HOMEJOURNEY.SG

Search, read and compare Singapore property listings and book home services, with no account.

+3 this week 82 Trust /100

Last scanned (22 hours ago)

Scores higher than 85% of remote servers

Reachable. Last reached 4 Nov 2026.

Category E-commerce

Trust breakdown (7 categories)

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. How we score → Why this is hard to score →

Endpoint Security80
Transport & Reachability100
Schema Quality & AI Usability69
  • 100% of prompts and resources have a non-trivial description (not blank, and not just the item's name).Pass
  • AI-judged instruction clarity (good).Pass
  • Context-footprint check failed: tool/resource definitions use about 7262 tokens (~363/item across 20 items; 15 tools + 5 resources), over budget; trim descriptions and params. See how to fix → Fail
  • Usage-examples check failed: none of the tools include examples. See how to fix → Fail
Stability & Change Management77
  • Stability observed for 23 of 30 days with no destabilising changes; credit accrues until the full window elapses.Partial
Tool Coverage86
  • 100% of tools have a non-trivial description (not blank, and not just the tool's name).Pass
  • 52% of tool parameters carry a description.Partial
  • Structured output schemas are declared (80% of tools); any adoption earns full credit.Pass
Tool Safety100
  • No prompt-injection markers were found in the server instructions, tool names or descriptions we captured.Pass
  • We read all 15 captured tool definition(s), and no name or description among them implies an irreversible operation.Pass
  • An AI judge read all 17 captured unit(s) of tool text and found none that tries to manipulate the model reading it.Pass
Capabilities100
  • Implements a supported MCP spec version (2025-11-25); the latest is 2026-07-28.Pass
  • Supports UI / widget rendering.Pass
Changelog

Every change we have recorded for this component, newest first. Security-relevant changes are always shown. ▲ marks a change for the better, ▼ a change for the worse; unmarked changes are neutral.

  • 4 Nov 26 0
    • Resource “Homejourney AI Connect listing detail” now points somewhere else: ui://homejourney/ai-app-listing-detail-v10.html → ui://homejourney/ai-app-listing-detail-v11.html security
    • Resource “Homejourney AI Connect shortlist” now points somewhere else: ui://homejourney/ai-app-shortlist-v10.html → ui://homejourney/ai-app-shortlist-v11.html security
    • Resource “Homejourney AI Connect viewings” now points somewhere else: ui://homejourney/ai-app-viewings-v11.html → ui://homejourney/ai-app-viewings-v12.html security
    • Tool “prepare_guest_service_checkout” rewrote its description, which is the text the model reads security
    • Tool “quote_service_booking” rewrote its description, which is the text the model reads security
    • Tool “search_services” rewrote its description, which is the text the model reads security
    • Server version: 1.0.0+50740003-7682-46c6-9d40-dbb7f3572fa3 → 1.0.0+545d8eb9-bf2a-4c83-b69f-9be1d6d8973f functional
    • “search_listings” added an optional parameter “landed_house_types” cosmetic
    • “search_listings” reworded the description of “min_remaining_lease_years” cosmetic
  • 3 Nov 26 +1
    • The server rewrote its instructions, which are the text every model session reads security
    • Tool “get_listing_details” rewrote its description, which is the text the model reads security
    • Tool “search_guides” rewrote its description, which is the text the model reads security
    • Tool “search_services” rewrote its description, which is the text the model reads security
    • Schema quality: 6214 → 7073 ▼ functional
    • Server version: 1.0.0+143b1a0b-7e95-4c1c-a1cb-da627bed3685 → 1.0.0+50740003-7682-46c6-9d40-dbb7f3572fa3 functional
    • New tool “check_landed_purchase_eligibility” functional
    • “search_listings” added an optional parameter “foreign_tenant” cosmetic
    • “search_services” added an optional parameter “unit_type” cosmetic
    • “search_services” added an optional parameter “units” cosmetic
  • 2 Nov 26 0
    • Resource “Homejourney AI Connect listing detail” now points somewhere else: ui://homejourney/ai-app-listing-detail-v9.html → ui://homejourney/ai-app-listing-detail-v10.html security
    • Resource “Homejourney AI Connect shortlist” now points somewhere else: ui://homejourney/ai-app-shortlist-v9.html → ui://homejourney/ai-app-shortlist-v10.html security
    • Resource “Homejourney AI Connect viewings” now points somewhere else: ui://homejourney/ai-app-viewings-v10.html → ui://homejourney/ai-app-viewings-v11.html security
    • The server rewrote its instructions, which are the text every model session reads security
    • Tool “quote_service_booking” rewrote its description, which is the text the model reads security
    • Tool “search_agents” rewrote its description, which is the text the model reads security
    • Tool “search_listings” rewrote its description, which is the text the model reads security
    • Server version: 1.0.0+bc1cca56-e771-467a-a740-ce3e6c245390 → 1.0.0+143b1a0b-7e95-4c1c-a1cb-da627bed3685 functional
    • “search_agents” added an optional parameter “property_type” cosmetic
  • 1 Nov 26 +1
    • Tool “fetch” rewrote its description, which is the text the model reads security
    • Server version: 1.0.0+4a9585cc-2023-4355-8729-4f60852703d6 → 1.0.0+bc1cca56-e771-467a-a740-ce3e6c245390 functional
  • 31 Oct 26 0
    • Resource “Homejourney AI Connect listing detail” now points somewhere else: ui://homejourney/ai-app-listing-detail-v8.html → ui://homejourney/ai-app-listing-detail-v9.html security
    • Resource “Homejourney AI Connect shortlist” now points somewhere else: ui://homejourney/ai-app-shortlist-v7.html → ui://homejourney/ai-app-shortlist-v9.html security
    • Resource “Homejourney AI Connect viewings” now points somewhere else: ui://homejourney/ai-app-viewings-v9.html → ui://homejourney/ai-app-viewings-v10.html security
    • The server rewrote its instructions, which are the text every model session reads security
    • Tool “compare_listings” rewrote its description, which is the text the model reads security
    • Tool “get_listing_details” rewrote its description, which is the text the model reads security
    • Tool “search_services” rewrote its description, which is the text the model reads security
    • Server version: 1.0.0+e590168f-8fde-4fa5-8816-0e7dcf77b4b1 → 1.0.0+4a9585cc-2023-4355-8729-4f60852703d6 functional
    • “search_listings” added an optional parameter “messages_on_homejourney” cosmetic
    • “search_services” added an optional parameter “bedrooms” cosmetic
    • “search_services” added an optional parameter “floor_area_sqft” cosmetic
    • “search_services” added an optional parameter “hdb_flat_type” cosmetic
  • 30 Oct 26 +1
    • Tool “get_listing_details” rewrote its description, which is the text the model reads security
    • Tool “get_owner_listing_checklist” rewrote its description, which is the text the model reads security
    • Tool “prepare_guest_service_checkout” rewrote its description, which is the text the model reads security
    • Tool “search_agents” rewrote its description, which is the text the model reads security
    • Server version: 1.0.0+b188aa42-6192-4fa1-bc6f-5640493f0cd3 → 1.0.0+e590168f-8fde-4fa5-8816-0e7dcf77b4b1 functional
    • “prepare_guest_service_checkout” added an optional parameter “onsite_contact” cosmetic
    • “search_agents” added an optional parameter “deal_type” cosmetic
    • “search_listings” added an optional parameter “min_remaining_lease_years” cosmetic
    • “search_agents” reworded the description of “agency” cosmetic
  • 29 Oct 26 0
    • The server rewrote its instructions, which are the text every model session reads security
    • Tool “search_guides” rewrote its description, which is the text the model reads security
    • Tool “search_listings” rewrote its description, which is the text the model reads security
    • Schema quality: 4574 → 5288 ▼ functional
    • Server version: 1.0.0+5560c633-9521-4d74-a0a1-7dab6ebf3d42 → 1.0.0+b188aa42-6192-4fa1-bc6f-5640493f0cd3 functional
    • New tool “search_agents” functional
    • “search_listings” added an optional parameter “max_school_distance_km” cosmetic
    • “search_listings” added an optional parameter “school” cosmetic
    • “search_listings” reworded the description of “property_type” cosmetic
  • 28 Oct 26 +1
    • The server rewrote its instructions, which are the text every model session reads security
    • Tool “get_listing_details” rewrote its description, which is the text the model reads security
    • Tool “get_owner_listing_checklist” rewrote its description, which is the text the model reads security
    • Tool “prepare_guest_service_checkout” rewrote its description, which is the text the model reads security
    • Tool “search_guides” rewrote its description, which is the text the model reads security
    • Tool “search_services” rewrote its description, which is the text the model reads security
    • Schema quality: 229 → 254 ▼ functional
    • Tool coverage: 30% → 41% ▲ functional
    • Server version: 1.0.0+1221ee07-99ec-4e84-aa04-a59ce3dc2c72 → 1.0.0+5560c633-9521-4d74-a0a1-7dab6ebf3d42 functional
    • “search_listings” added an optional parameter “pets_allowed” cosmetic
    • “search_listings” added an optional parameter “utilities_included” cosmetic
    • “prepare_guest_service_checkout” reworded the description of “catalog_version_id” cosmetic
    • “prepare_guest_service_checkout” reworded the description of “price_source” cosmetic
    • “prepare_guest_service_checkout” reworded the description of “provider_id” cosmetic
    • “prepare_guest_service_checkout” reworded the description of “provider_package_id” cosmetic
    • “prepare_guest_service_checkout” reworded the description of “service_details” cosmetic
    • “quote_service_booking” reworded the description of “catalog_version_id” cosmetic
    • “quote_service_booking” reworded the description of “price_source” cosmetic
    • “quote_service_booking” reworded the description of “provider_id” cosmetic
    • “quote_service_booking” reworded the description of “provider_package_id” cosmetic
    • “quote_service_booking” reworded the description of “service_details” cosmetic
Diagnostics

Diagnostic detail from the automated scan of this channel: what the scanner observed at each step, so you can see exactly where a check passed or failed. It is informational only and never changes the trust score.

Captured 4 Nov 2026 · Probed https://ai-apps.homejourney.sg/mcp/public

TLS valid

Negotiated TLS 1.3 with TLS_AES_128_GCM_SHA256 .

Subject Issuer Valid from Valid until Key Signature Serial
CN=homejourney.sg CN=YE2,O=Let's Encrypt,C=US 28 Sept 2026 27 Dec 2026 ECDSA 256 ECDSA-SHA384 68011b92db8b76804aeaaa1890f917f5f9d
SANs: *.homejourney.sg, homejourney.sg
CN=YE2,O=Let's Encrypt,C=US (CA) CN=Root YE,O=ISRG,C=US 3 Sept 2025 2 Sept 2028 ECDSA 384 ECDSA-SHA384 4df3b15dd6c0784c507cd37b58e6f115
CN=Root YE,O=ISRG,C=US (CA) CN=ISRG Root X2,O=Internet Security Research Group,C=US 13 May 2026 2 Sept 2032 ECDSA 384 ECDSA-SHA384 872165fc34b6e5fba8add5b3705fb53a
CN=ISRG Root X2,O=Internet Security Research Group,C=US (CA) CN=ISRG Root X1,O=Internet Security Research Group,C=US 13 May 2026 2 Sept 2032 ECDSA 384 SHA256-RSA 6c8f1dc727c7117f7baf853ac980f9cd

Background: What to check on a remote MCP endpoint →

DNSSEC insecure

Validation of ai-apps.homejourney.sg. — Not signed

Zone DS Keys Algorithms Outcome
. trust_anchor 20326, 38696 8, 8 Verified
sg. present 26329 8 Verified
homejourney.sg. absent Unsigned (proven) parent-signed NSEC/NSEC3 proves an unsigned delegation
Authentication No authorisation required

The endpoint answered without asking for a token. Anyone who knows the URL can reach it.

Result No authorisation required
HTTP status 200
Header Value
strict-transport-security max-age=31536000; includeSubDomains
x-content-type-options nosniff

Background: How OAuth 2.1 works in the 2026 MCP spec →

Transports 2 probes
Transport URL Outcome Status Location
streamable-http https://ai-apps.homejourney.sg/mcp/public Verified 200
http (plaintext) http://ai-apps.homejourney.sg/mcp/public HTTPS enforced 301 https://ai-apps.homejourney.sg/mcp/public
MCP tools · 15 exposed · ~5,639 tokens

The tools this component advertises to a client, with an estimated token cost for each. Expand a tool to see its parameters and schema. The per-tool counts are indicative and are not scored directly; the schema's total context footprint is one signal in Schema Quality & AI Usability. A tool's description is untrusted text the model reads on every call, which is what makes this list a security surface and not just an inventory: how tool poisoning works →

Tool Tokens
check_landed_purchase_eligibility ~458

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.

NameTypeReqDescription
gcb_areaboolean–Whether the land is in a Good Class Bungalow area. Leave out when not known: a landed listing_id's own coordinates answer it.
listing_idstring–A Homejourney listing id, such as one from search_listings.
property_kindstring–terrace, 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…
residencystringyesThe buyer's residency: citizen (Singapore citizen), permanent_resident (Singapore PR) or foreigner (neither). With joint buyers, check each one.
years_as_printeger–For a PR: their whole years as a PR, when they say.
NameTypeReqDescription
checkedOnstring–The date the rules were read from SLA.
disclaimerstring–Always show it: general information, not legal advice.
headlinestring––
linksarray–SLA pages to cite.
listingobject–The listing checked, when listing_id was given and it is live.
nextStepstring––
outcomestring–allowed: 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.
propertyKindstring–The kind checked. landed means a landed listing, which records neither its house type nor its title.
reasonstring–Why, in plain words. Give it to the user.
residencystringyes–
resultReasonstring–Set instead of an outcome when the listing is not live, or is an HDB flat or another home this check does not cover.

No examples provided.

compare_listings ~255

Use this after search_listings or list_saved_properties when the user wants two to six Homejourney listings compared side by side. Pass their listing_ids (a saved home's property_id), and optionally the user criteria: budget, bedrooms, bathrooms, preferred districts or MRT stations, the longest acceptable walk to the MRT, the fewest years of lease that must remain, and must-have features. Returns the listings ranked against those criteria, each with its score out of 100 (null when no criterion given can be judged) and the points it earns on each criterion, the reasons it fits, its tradeoffs and any missing data, plus price, size, nearest MRT, nearby schools, the nearest childcare centres and preschools and, for an HDB flat, the lease left on its block. Never returns owner or agent contact details. To show the result as a card, pass it to render_shortlist.

NameTypeReqDescription
criteriaobject––
hoststring–The AI app making this call, such as chatgpt or claude. It records where the request came from; it is not the listing owner or agent.
host_reference_idstring––
listing_idsarrayyes–
NameTypeReqDescription
dataobjectyes–
nextStepsarray–Suggestions for what the user usually does next, best first. Each names the tool to call or the page to open; none is taken without the user asking, and a tool that writes still needs their confirmat…

No examples provided.

fetch ~77

Fetch one Homejourney listing or guide by the ID that search returned, for deep-research and citation hosts. Returns the listing text, without owner or agent contact details, or the whole text of the guide, with its Homejourney URL for citations. After search_listings, use get_listing_details instead.

NameTypeReqDescription
idstringyes–
NameTypeReqDescription
idstringyes–
metadataobject––
textstringyes–
titlestringyes–
urlstringyes–

No examples provided.

get_guest_service_checkout_status ~50

Use the opaque status token returned by prepare_guest_service_checkout to check card approval, provider, completion, and payment state. Returns no contact or address details.

NameTypeReqDescription
status_tokenstringyes–
NameTypeReqDescription
dataobjectyes–

No examples provided.

get_listing_details ~228

Use this after search_listings when the user wants the full details of one Homejourney listing, such as its description, size, tenure, furnishing, availability, nearest MRT, nearby schools, the MRT stations open or under construction, primary schools by 1 km and 2 km band, secondary schools, supermarkets, hawker centres, CHAS clinics, parks, malls, bus stops with their bus numbers, and childcare centres and preschools near it, and Homejourney link. For an owner listing, including a flat its owner lists on HDB Flat Portal, it adds reportUrl, where the user reports a wrong, misleading or scam listing to Homejourney. For an HDB rental, tenantEligibility says who may rent it: the 6-month minimum, the pass a non-citizen needs and, for a whole flat, the HDB non-citizen quota with a link to the HDB quota checker; use it when the user is a PR or a foreigner. Never returns owner or agent contact details.

NameTypeReqDescription
listing_idstringyes–
NameTypeReqDescription
dataobjectyes–
nextStepsarray–Suggestions for what the user usually does next, best first. Each names the tool to call or the page to open; none is taken without the user asking, and a tool that writes still needs their confirmat…

No examples provided.

get_owner_listing_checklist ~182

Use this first when an owner wants to sell or rent out their own home on Homejourney, before asking them anything. Returns every field to collect (required or optional, allowed values, examples, which apply only to HDB, condo, landed or rentals), the photo rules, where to order a floor plan, the HDB and URA letting rules (rentalRules) to check with a landlord before collecting the rental details, with the HDB ones in ruleGroups by what is let (the whole flat, rooms, or every HDB rental), and the steps in order: the agent saves the details with create_listing_draft, then the owner adds photos or confirms the ones you add, verifies with Singpass, joins Homejourney Pro and publishes. Ask the owner for all required fields in one message. Needs no sign-in.

Input schema present but exposes no named parameters.

No output schema declared.

No examples provided.

prepare_guest_service_checkout ~703

Use this to book for a customer who is not signed in to Homejourney here, such as on the public connector; it needs no Homejourney account. A user signed in on this connector books for themselves with create_service_booking instead. After the customer confirms the selected provider package, the exact price, schedule, address, customer-provided email and mobile number, and contact consent, it returns one branded Homejourney review-and-authorization link. No OTP is required. The customer saves a card there for the exact booking, or chooses PayNow. Tell the customer: "Nothing is charged or held now. We charge your card, or send a PayNow request, after the job is done." The booking appears in the Homejourney account of the customer once they sign in with the same verified email or WhatsApp number. When someone else lets the technician in, such as a tenant, add them as onsite_contact.

NameTypeReqDescription
base_pricenumber––
catalog_version_idstringyesThe chosen package's catalogVersionId from search_services.
confirmedbooleanyes–
consent_textstring––
consent_to_contactbooleanyes–
customer_infoobjectyes–
discount_amountnumber––
extrasarray–Optional extras from the quote's availableExtras, each id once with a quantity up to its maxQuantity. Each is charged at the operator's price and leaves the visit's length and start as quoted.
hoststringyesThe AI app making this call, such as chatgpt or claude. It records where the request came from; it is not the listing owner or agent.
host_reference_idstring––
idempotency_keystringyes–
issue_descriptionstring––
number_of_hoursnumber–Hours booked, for an offering priced per hour. The provider may charge a minimum number of hours.
number_of_unitsinteger––
onsite_contactobject–Optional. The person at the address who lets the technician in when the customer won't be there, such as a landlord's tenant. Only the business assigned to the job sees it, until the job closes; the…
platform_unit_countinteger–Retired: Homejourney no longer offers its own catalog prices, so a launch_guide selection is refused. Leave it out.
price_sourcestringyesThe chosen package's priceSource from search_services.
property_sizestring–Home size, for an offering priced by home size. A quote without it names the sizes the provider prices.
provider_idstring–The chosen package's providerId from search_services.
provider_package_idstring–The chosen package's providerPackageId from search_services.
scheduled_datestringyes–
service_detailsstringyesThe chosen package's serviceId from search_services, such as leak-repair. Put the customer's own words in issue_description.
service_frequencystring––
service_typestringyes–
singapore_timestringyesExact customer-selected Singapore start time in 24-hour HH:mm format. Do not send a time range.
special_instructionsstring––
total_pricenumber––
NameTypeReqDescription
dataobjectyes–

No examples provided.

quote_service_booking ~716

Use this after search_services with the selected provider and package identifiers. Returns the exact server-revalidated price before confirmation and does not create a booking row. A quote needs no name, email, or phone. A provider package also returns the assignment deadline, after which an unaccepted booking is cancelled at no charge; it needs an exact start at least 2 hours away. An operator price quoted with the service address also returns slots, the open arrival times there on scheduled_date with the total for each; book one of those times. Without the address no time is checked, and the quote leads with requested_time_open: unknown. When none is open, slotsUnavailableReason says whether the address has no postal code, the postal code matches no address, or the provider does not serve it; otherwise the date is full, and nextOpenDates names the next dates with open times in the 14 days after it (empty when none opens), so quote one of those dates. availableExtras lists the extras the provider sells with the job, such as sofa steaming; quote again with the ones the customer wants in extras to get the total with them, and book with the same extras. A package named for a unit count ("3 wall units") is refused for another number_of_units with reason package_unit_count; quote the package for the asked count instead. Other refusals say what to change: start_too_soon names the first open start after the window when the quote has the service address and asks for the address otherwise, price_changed the new price, invalid_catalog_version the current catalog_version_id, and quote_required means the package cannot be booked on Homejourney.

NameTypeReqDescription
base_pricenumber––
catalog_version_idstringyesThe chosen package's catalogVersionId from search_services.
customer_infoobject–Optional. The service address (pickup_address for moving), only to list the open arrival times of an operator price.
discount_amountnumber––
extrasarray–Optional extras from the quote's availableExtras, each id once with a quantity up to its maxQuantity. Each is charged at the operator's price and leaves the visit's length and start as quoted.
issue_descriptionstring––
number_of_hoursnumber–Hours booked, for an offering priced per hour. The provider may charge a minimum number of hours.
number_of_unitsinteger––
platform_unit_countinteger–Retired: Homejourney no longer offers its own catalog prices, so a launch_guide selection is refused. Leave it out.
price_sourcestringyesThe chosen package's priceSource from search_services.
property_sizestring–Home size, for an offering priced by home size. A quote without it names the sizes the provider prices.
provider_idstring–The chosen package's providerId from search_services.
provider_package_idstring–The chosen package's providerPackageId from search_services.
scheduled_datestringyes–
service_detailsstringyesThe chosen package's serviceId from search_services, such as leak-repair. Put the customer's own words in issue_description.
service_frequencystring––
service_typestringyes–
singapore_timestringyesExact customer-selected Singapore start time in 24-hour HH:mm format. Do not send a time range.
special_instructionsstring––
total_pricenumber––
NameTypeReqDescription
dataobjectyes–

No examples provided.

render_listing_detail ~64

Show one Homejourney listing as a visual card with its photos, key details and a button to open it on Homejourney. Use this when the user wants to look at one listing. Never shows owner or agent contact details.

NameTypeReqDescription
listing_idstringyes–

No output schema declared.

No examples provided.

render_shortlist ~108

Show a comparison that compare_listings returned as a visual shortlist card. Use this after compare_listings when the host can display app cards; pass the comparison unchanged.

NameTypeReqDescription
canonicalUrlsarray––
comparedAtstring––
criteriaSummarystring––
listingsarrayyes–
missingDataNotesarray––
rankingarray––
sameHomeListingIdsarray––
unavailableListingIdsarray––

No output schema declared.

No examples provided.

search ~109

Search active Homejourney Singapore property listings for deep-research and citation hosts. Broad availability questions are supported; use location, project, or feature keywords only when the user supplied them. Returns canonical listing URLs for citations. When no listing matches, returns the Homejourney guides that answer the question (IDs starting guide:), or an empty list with a note naming the next tool. To filter by price, bedrooms, area or rent terms, use search_listings instead.

NameTypeReqDescription
querystringyes–
NameTypeReqDescription
notestring–Set only when results is empty: why, and which tool to call next.
resultsarrayyes–

No examples provided.

search_agents ~540

Use this when someone asks about a Singapore property agent (salesperson) by name or CEA registration number, such as R028241G, including an agent asking what Homejourney shows about them, or wants agents who work in an area or at an agency. The query searches names and CEA numbers only: for agents in an area, such as an HDB seller in Tampines, pass area, alone or with agency. Returns matching agents on CEA's register with their agency, CEA number, Homejourney listing count and public profile URL; with an area, agents with the most CEA-recorded deals there in the last three years come first, then those with the latest deal, each with their sales and rentals there and their latest deal month. Pass deal_type sale for a seller or buyer, so agents rank by their sales there, or rental for a landlord or tenant; without it every deal counts, and most HDB agent deals are rentals. Pass property_type to rank them by their deals in one kind of home there, such as landed for a landed home seller in D10. For a CEA number, or a name only one agent matches, it also returns the profile: transactions CEA records for them, their top areas and their public Homejourney listings, whose ids get_listing_details reads. Never returns contact details; send the user to the profile URL. Needs no sign-in.

NameTypeReqDescription
agencystring–The agency's full name as CEA registers it, in any case, such as PropNex Realty Pte. Ltd. (a match's agency), or a featured agency's short name, such as PropNex, ERA or Huttons.
areastring–An HDB town (TAMPINES, ANG MO KIO) or private district (D01 to D28), or a place a district names, such as Orchard; lists agents with CEA-recorded transactions there.
deal_typestring–With an area: rank its agents by their sales there (sale: for a seller or buyer) or their rentals there (rental: for a landlord or tenant). Leave out to count every deal.
limitinteger––
property_typestring–With an area: count only the agents' CEA-recorded deals in that kind of home there (hdb, condo, ec for executive condominiums, or landed for landed and strata landed houses). Leave out to count every…
querystring–The agent's name, or their CEA registration number. Never an area or agency.
NameTypeReqDescription
agencyobject–The agency the agents are filtered by, from its full CEA name or a featured agency short name such as PropNex.
areaobject–The area the agents are filtered by: the area input, or the query when it names only an area and no agent.
areaRecentTotalinteger–With an area: how many of `total` have a deal there since areaDeals.since. The rest dealt there only before it and come last.
dataarrayyes–
dealTypestring–With an area: the kind of deal that ordered its agents. Absent when every deal counted.
directoryUrlstringyes–
profileobject–The full profile; present when the query is a CEA number or one agent matches.
propertyTypestring–With an area: the kind of home whose deals ordered its agents. Absent when every kind counted.
queryNamesAgencyobject–A featured agency the query names. Without a matching agency, the query was searched as agent names, not as that agency's agents.
queryNamesAreaobject–An area the query names. Without a matching area, the query was searched as agent names, not as that area.
resultReasonstring–Set when no agent matches, or the area is not an HDB town or private district.
totalintegeryes–

No examples provided.

search_guides ~239

Use this when someone asks how buying, selling, renting or letting a home in Singapore works: grants and eligibility, BTO and resale, stamp duty, loans and down payments, the MOP, tenancy agreements, or renting out a flat or room. Also use it when a property agent asks how Homejourney works for agents: co-broking and CEA rules, verifying with Singpass, listing for clients, and viewing requests. Also use it when someone asks how to manage their Homejourney account: changing the sign-in email, resetting the password, verifying the email, or editing the profile. Returns Homejourney's reviewed guides and help articles that match, each with its URL, a short answer, who it is for (no persona means everyone), whether it has a calculator, and the date it was last checked. Cite the URL and its date. Filter with persona (buyer, seller, renter, landlord, foreigner or agent); leave query empty to list every guide for that persona. Needs no sign-in.

NameTypeReqDescription
limitinteger––
personastring––
querystring––
NameTypeReqDescription
catalogUrlstringyes–
dataarrayyes–
guidesHubUrlstringyes–
resultReasonstring–Why the search found no guide; absent when it found guides.
totalintegeryes–

No examples provided.

search_listings ~1,395

Primary listing-discovery tool for homes in Singapore. Use this when the user asks what properties are available, or describes a home to buy or rent by area, MRT station, school, budget, bedrooms, flat type or other criteria. Omit query for a broad availability request; query is full-text search over project, title, address and description. pagination.total is the exact number of matching listings; the listings one agent has at one address or in one development on a page come back as one result whose listingCluster names the others. Returns summaries of active, published Homejourney listings that may be shown in AI assistants: price, size, address, nearest MRT, nearby schools, a Homejourney link and a link to book a viewing, but never the owner or agent contact details.

NameTypeReqDescription
available_fromstring–The renter's move-in date. Matches homes available on or before it, and homes that state no date.
bathroom_countsarray–Exact bathroom counts to match; combines with bathrooms_min.
bathrooms_mininteger––
bedroom_countsarray–Exact bedroom counts to match, such as [2, 3]; 0 is a studio. Combines with bedrooms_min, so [0] plus bedrooms_min 5 means studio or 5+.
bedroomsinteger––
bedrooms_mininteger––
districtstring––
districtsarray–Singapore postal districts, such as "D09" or "15".
foreign_tenantboolean–true for a renter who is a foreigner, expat or PR. Searches rentals, rooms included, since no listing turns non-citizens away. An HDB whole flat comes back with checkHdbQuota true: it can go to a non…
furnishingstring–The furnishing the renter wants. Matches homes stated as this, and homes that state no furnishing.
hdb_flat_typesarray–HDB flat types, such as "4-room" or "executive".
landed_house_typesarray–Landed house types, such as "semi_detached" or "terrace"; detached is a bungalow, and strata_landed a landed house in a condominium development. Corner and intermediate houses both match their type.…
lease_duration_monthsinteger–The renter's lease length in months. Matches homes whose minimum lease is at most this, and homes that state no minimum.
limitinteger––
listed_bystring–Who lists the home. owner keeps homes their owners list: on Homejourney, or on HDB Flat Portal without an agent. agent keeps every other home. pagination.total counts only these homes.
listed_within_daysinteger––
listing_typestring––
max_school_distance_kmnumber–Keeps homes within this many km of a school, such as 1 or 2 for the Primary 1 bands. With school, the limit applies to that school, and each result's searchedSchool.distanceKm gives its distance.
messages_on_homejourneyboolean–Only homes whose host reads Homejourney messages: start_listing_conversation reaches the listing's Homejourney agent, else its owner, so the user's viewing can be arranged in a Homejourney thread. Le…
min_remaining_lease_yearsinteger–Fewest whole years of lease that must remain, as compare_listings reads it: an HDB flat's block lease, or a condo, EC or landed home's land lease. Freehold and 999-year homes always match, and so doe…
mrt_linesarray–MRT or LRT lines; a listing matches when its nearest station is on one. Combines with mrt_stations as 'near any'.
mrt_stationsarray–Nearest MRT station names, such as "Orchard" or "Tanjong Pagar".
pageinteger––
pets_allowedboolean–true for a renter with a pet. Leaves out homes that say no pets; homes that state no pet policy still match, so confirm it with the lister.
price_maxnumber––
price_minnumber––
project_namestring–Exact condominium or development name.
property_typestring–One of HDB, Condominium, Executive Condominium, Landed. Common words such as Condo, EC, Apartment, HDB flat or Bungalow are read as these.
psf_maxnumber–Price per square foot in SGD.
psf_minnumber–Price per square foot in SGD.
querystring––
reachable_onlyboolean–Only homes whose owner or agent can be reached now: a viewing request reaches the owner or a Homejourney agent, or the lister takes WhatsApp. Leaves out homes whose agent is not on Homejourney yet an…
schoolstring–A school's full MOE name, such as "Tao Nan School". Matches homes that list it among their nearby schools; each result's searchedSchool gives its distance. Use for "near a school" or Primary 1 search…
size_maxnumber–Floor area in square feet.
size_minnumber–Floor area in square feet.
sortstring–newest is the recommended order; listed_newest is strictly by listing date.
subletting_typestring––
tenurestring––
townsarray–HDB towns, URA planning areas or URA regions the listing lies in, such as "Tampines", "Bukit Timah" or "East". A region (Central, East, North, North-East, West) covers all its planning areas.
utilities_includedboolean–true for a renter who wants utilities in the rent. Leaves out homes that say utilities are extra; homes that do not say still match, so confirm it with the lister.
NameTypeReqDescription
continuedClustersarray–This page's listings in a listingCluster that the previous page already shows, which data leaves out: listingId is one of its listings on that page, listingIds are this page's listings in it.
dataarrayyes–
featuredarray–Labelled Pro listings matching the search, on page 1 only.
featuredNotestring––
leaseFilterobject–How min_remaining_lease_years narrowed the search.
matchedTermstring––
nextStepsarray–Suggestions for what the user usually does next, best first. Each names the tool to call or the page to open; none is taken without the user asking, and a tool that writes still needs their confirmat…
paginationobjectyes–
resultReasonstring–Why the search found no listing, or that it searched a corrected term.
roomMatchesinteger–Rooms that match when no whole unit does.
unappliedIntentarray–Words in query that an explicit filter replaced; those words were not searched.

No examples provided.

search_services ~515

Use this to find active Homejourney services. Each result carries the provider, package, catalogue version, and price required for quoting and checkout. Every result sells under its provider's own name and logo (soldUnder "provider"): a large operator's at its own published price, a small shop's at Homejourney's standard price; priceSetBy says which. A service can list both. A home-size package's suitable_for names the HDB flat type its floor area fits, such as 4-room HDB, even when the brand's own name counts fewer bedrooms. Booking saves a card. Booked signed in with create_service_booking: "Nothing is charged now. We hold the amount once the provider accepts, and charge it after the job is done." Booked with prepare_guest_service_checkout: "Nothing is charged or held now. We charge your card, or send a PayNow request, after the job is done." For a service priced by home size, such as move-in cleaning, pass the home's floor_area_sqft, hdb_flat_type or bedrooms to get each provider's one package for that home; noPackageForHomeSize names providers with none. For aircon, pass unit_type and units (or say them in the query, as in "2 wall units") to get each provider's one package for those units; noPackageForUnits names providers with none. A search for an architect, engineer or builder, or about extending, adding a storey or attic, or rebuilding a landed house, also returns landedWorks: whether the plan is likely A&A or reconstruction, its approvals and how to record the owner's request.

NameTypeReqDescription
bedroomsinteger–Bedrooms, matched only where a package or the home gives no floor area.
floor_area_sqftinteger–The home's floor area in sq ft; it outranks hdb_flat_type.
hdb_flat_typestring–The HDB flat type, matched by its usual floor area.
limitinteger––
pageinteger––
provider_idstring––
querystring––
service_typestring––
unit_typestring–The aircon unit type; read from the query ("2 wall units") when left out. Asks for aircon, so other trades are left out unless service_type is set.
unitsinteger–How many aircon units; read from the query ("3 units") when left out.
NameTypeReqDescription
dataarrayyes–
landedWorksobject–Present when the search asks for an architect, engineer or builder, or about extending, adding a storey or attic, or rebuilding a landed house: each plan with whether it is likely A&A or reconstructi…
noPackageForHomeSizearray–Providers that price the service by home size but sell no package for the home asked about.
noPackageForUnitsarray–Providers that price the service by aircon unit type or count but sell no package for the units asked about.
paginationobjectyes–
resultReasonstring–Why a search found no service; absent when it found services.
supportedServiceTypesarrayyes–
unsupportedCategoryPolicystringyes–

No examples provided.

Install

How do I install the Homejourney Singapore property listings MCP server?

Homejourney Singapore property listings is a hosted endpoint at https://ai-apps.homejourney.sg/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.

remote · ai-apps.homejourney.sg

# add to Claude Code
claude mcp add --transport http sg-homejourney-listings 'https://ai-apps.homejourney.sg/mcp/public'
Common questions

What is the Homejourney Singapore property listings MCP server?

Homejourney Singapore property listings is an MCP server listed in the public MCP registry as sg.homejourney/listings. Search, read and compare Singapore property listings and book home services, with no account. This page covers its hosted endpoint (https://ai-apps.homejourney.sg/mcp/public).

Is the Homejourney Singapore property listings MCP server safe to use?

Homejourney Singapore property listings scores 82 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 Homejourney Singapore property listings MCP server expose?

Homejourney Singapore property listings exposes 15 tools: search, fetch, search_listings, get_listing_details, compare_listings, and 10 more. Their descriptions and schemas cost roughly 5,639 tokens of context every time the server is loaded.

Does the Homejourney Singapore property listings MCP server require authentication?

No. We connected to Homejourney Singapore property listings without credentials and it answered, so anything it exposes is reachable by anyone who knows the address.

Is the Homejourney Singapore property listings MCP server still maintained?

Homejourney Singapore property listings is still listed as active in the MCP registry. We last reached this channel on 4 November 2026. Those dates come from our own scans of the registry and the channel itself, not from anything the publisher announced.