Homejourney Singapore property listings
Measured conclusion: Deep-tested. L2 outcome: tools_ok.
Search, read and compare Singapore property listings and book home services, with no account.
| Author | sg.homejourney |
|---|---|
| Access | remote |
| Publisher key required | No |
| Measured state | Deep-tested |
| L1 liveness | alive |
| L1 latency | 441 ms |
| Last measured | 2026-10-24 |
Add to your agent
Copy this into your MCP client config:
{
"mcpServers": {
"Homejourney Singapore property listings": {
"url": "https://ai-apps.homejourney.sg/mcp/public",
"transport": "streamable-http"
}
}
}
Measured tools (13)
searchread-onlySearch 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. To filter by price, bedrooms, area or rent terms, use search_listings instead.
Parameters:
query(required) — string
Hints: read-only yes · destructive no · idempotent not declared · open-world no
fetchread-onlyFetch one Homejourney listing by the ID that search returned, for deep-research and citation hosts. Returns the listing text, without owner or agent contact details, and its Homejourney URL for citations. After search_listings, use get_listing_details instead.
Parameters:
id(required) — string
Hints: read-only yes · destructive no · idempotent not declared · open-world no
search_listingsread-onlyPrimary 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, 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. 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.
Parameters:
page— integersort— string — newest is the recommended order; listed_newest is strictly by listing date.limit— integerquery— stringtowns— array — 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.tenure— stringpsf_max— number — Price per square foot in SGD.psf_min— number — Price per square foot in SGD.bedrooms— integerdistrict— stringsize_max— number — Floor area in square feet.size_min— number — Floor area in square feet.districts— array — Singapore postal districts, such as "D09" or "15".listed_by— string — 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.mrt_lines— array — MRT lines; a listing matches when its nearest station is on one. Combines with mrt_stations as 'near any'.price_max— numberprice_min— numberfurnishing— string — The furnishing the renter wants. Matches homes stated as this, and homes that state no furnishing.bedrooms_min— integerlisting_type— stringmrt_stations— array — Nearest MRT station names, such as "Orchard" or "Tanjong Pagar".project_name— string — Exact condominium or development name.bathrooms_min— integerproperty_type— stringavailable_from— string — The renter's move-in date. Matches homes available on or before it, and homes that state no date.bedroom_counts— array — 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+.hdb_flat_types— array — HDB flat types, such as "4-room" or "executive".reachable_only— boolean — 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 and has no verified WhatsApp number. pagination.total counts only these homes.bathroom_counts— array — Exact bathroom counts to match; combines with bathrooms_min.subletting_type— stringlisted_within_days— integerlease_duration_months— integer — The renter's lease length in months. Matches homes whose minimum lease is at most this, and homes that state no minimum.
Hints: read-only yes · destructive no · idempotent not declared · open-world no
get_listing_detailsread-onlyUse 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 and CHAS clinics near it, and Homejourney link. Never returns owner or agent contact details.
Parameters:
listing_id(required) — string
Hints: read-only yes · destructive no · idempotent not declared · open-world no
compare_listingsread-onlyUse 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, the reasons it fits, its tradeoffs and any missing data, plus price, size, nearest MRT, nearby schools 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.
Parameters:
listing_ids(required) — arrayhost— string — 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.criteria— objecthost_reference_id— string
Hints: read-only yes · destructive no · idempotent not declared · open-world no
render_shortlistread-onlyShow 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.
Parameters:
listings(required) — arrayranking— arraycomparedAt— stringcanonicalUrls— arraycriteriaSummary— stringmissingDataNotes— arraysameHomeListingIds— arrayunavailableListingIds— array
Hints: read-only yes · destructive no · idempotent not declared · open-world no
render_listing_detailread-onlyShow 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.
Parameters:
listing_id(required) — string
Hints: read-only yes · destructive no · idempotent not declared · open-world no
get_owner_listing_checklistread-onlyUse 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, and the steps in order: the agent saves the details with create_listing_draft, then the owner adds photos, verifies with Singpass, joins Homejourney Pro and publishes. Ask the owner for all required fields in one message. Needs no sign-in.
Hints: read-only yes · destructive no · idempotent not declared · open-world no
search_guidesread-onlyUse 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. Returns Homejourney's reviewed guides that match, each with its URL, a short answer, who it is for, whether it has a calculator, and the date it was last checked. Cite the guide URL and its date. Filter with persona (buyer, seller, renter or landlord); leave query empty to list every guide for that persona. Needs no sign-in.
Parameters:
limit— integerquery— stringpersona— string
Hints: read-only yes · destructive no · idempotent not declared · open-world no
search_servicesread-onlyUse 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. Booking saves a card and charges nothing until the provider accepts.
Parameters:
page— integerlimit— integerquery— stringprovider_id— stringservice_type— string
Hints: read-only yes · destructive no · idempotent not declared · open-world no
quote_service_bookingread-onlyUse 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, and quote another date when none is open. 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.
Parameters:
service_type(required) — stringservice_details(required) — stringcatalog_version_id(required) — stringprice_source(required) — stringscheduled_date(required) — stringsingapore_time(required) — string — Exact customer-selected Singapore start time in 24-hour HH:mm format. Do not send a time range.base_price— numberprovider_id— stringtotal_price— numbercustomer_info— object — Optional. The service address (pickup_address for moving), only to list the open arrival times of an operator price.property_size— string — Home size, for an offering priced by home size. A quote without it names the sizes the provider prices.discount_amount— numbernumber_of_hours— number — Hours booked, for an offering priced per hour. The provider may charge a minimum number of hours.number_of_units— integerissue_description— stringservice_frequency— stringplatform_unit_count— integer — Retired: Homejourney no longer offers its own catalog prices, so a launch_guide selection is refused. Leave it out.provider_package_id— stringspecial_instructions— string
Hints: read-only yes · destructive no · idempotent not declared · open-world no
prepare_guest_service_checkoutUse this for new customer bookings from an external agent, whether the customer already has a Homejourney account or not. 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 approves their card for the exact booking without a charge; Homejourney charges it only after verified completion, and PayNow can instead be requested after completion. The booking appears in the Homejourney account of the customer once they sign in with the same verified email or WhatsApp number.
Parameters:
host(required) — string — 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.idempotency_key(required) — stringconfirmed(required) — booleanservice_type(required) — stringservice_details(required) — stringcatalog_version_id(required) — stringprice_source(required) — stringscheduled_date(required) — stringsingapore_time(required) — string — Exact customer-selected Singapore start time in 24-hour HH:mm format. Do not send a time range.customer_info(required) — objectconsent_to_contact(required) — booleanbase_price— numberprovider_id— stringtotal_price— numberconsent_text— stringproperty_size— string — Home size, for an offering priced by home size. A quote without it names the sizes the provider prices.discount_amount— numbernumber_of_hours— number — Hours booked, for an offering priced per hour. The provider may charge a minimum number of hours.number_of_units— integerhost_reference_id— stringissue_description— stringservice_frequency— stringplatform_unit_count— integer — Retired: Homejourney no longer offers its own catalog prices, so a launch_guide selection is refused. Leave it out.provider_package_id— stringspecial_instructions— string
Hints: read-only no · destructive no · idempotent not declared · open-world yes
get_guest_service_checkout_statusread-onlyUse 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.
Parameters:
status_token(required) — string
Hints: read-only yes · destructive no · idempotent not declared · open-world no
Measured by MCPYP probing. Untested fields are omitted, never estimated. Listing is always free; MCPYP never proxies calls or stores user tokens.