MCLL Real Estate
MCLL (mcllrealestate.com) est un cabinet immobilier haut de gamme thaïlandais. Cette compétence permet à un agent de rechercher et lire ses annonces publiées — à vendre et à louer — à Bangkok, Phuket et dans les îles. Tout ici est en lecture seule et public ; aucune clé ni connexion n'est nécessaire.
Choisissez la méthode d'accès que votre runtime supporte. MCP et REST renvoient les annonces ; Markdown restitue également les pages zones, actualités et développements immobiliers.
1. Serveur MCP (le plus riche — à privilégier)
Point de terminaison MCP Streamable-HTTP : https://mcllrealestate.com/api/mcp
Carte serveur : https://mcllrealestate.com/.well-known/mcp/server-card.json
Trois outils :
search_listings— rechercher des annonces. Arguments :type("sale"|"rent", obligatoire),locale(en/fr/th/zh, par défauten), et optionnellementcity,area,propertyType(noms humains —"Phuket","Condo"),bedrooms,minPrice,maxPrice(THB),page. Renvoie{ total, page, results: [{ id, title, url, transactionType, city, area, bedrooms, bathrooms, areaSqm, priceThb, image }] }— chaque résultat possède unurlse terminant par unslugque vous passez àget_listing.get_listing— détail complet d'une annonce. Arguments :type("sale"|"rent"),slug(provenant d'un résultat de recherche),locale. Renvoie le prix, la taille, les caractéristiques, les coordonnées et unedescriptionen Markdown.execute— Mode Code. Arguments :code(chaîne JavaScript). S'exécute dans un bac à sable Cloudflare avec les globalesmcll.search(args)etmcll.get(args). Pas de réseau ouvert, de système de fichiers, de secrets ou d'écritures. Utilisezreturnpour le résultat sérialisable en JSON ;awaitau niveau racine fonctionne. Idéal pour comparer, classer ou calculer des métriques sur un grand nombre d'annonces en un seul appel.
Exemple de code execute :
const { results } = await mcll.search({ type: "sale", city: "Bangkok", page: 1 });
const details = await Promise.all(
results.slice(0, 2).map((r) =>
mcll.get({ type: "sale", slug: r.url.split("/").pop(), locale: "en" }),
),
);
return details.map((d) => ({
title: d.title,
url: d.url,
pricePerSqm: d.priceThb && d.areaSqm ? Math.round(d.priceThb / d.areaSqm) : null,
}));
2. API REST (aucun client MCP requis)
OpenAPI : https://mcllrealestate.com/api/openapi.json
- Recherche —
GET /api/listings?type=sale|rent&locale=enplus filtres optionnels. Notez que ces filtres prennent des ids (UUID), pas des noms :city,area,propertyType,bedrooms,bathrooms,priceMin,priceMax,sizeMin,sizeMax,furnished,features,sort,page. Renvoie{ total, page, results }, où chaque résultat a la même projection publique sécurisée que la recherche MCP :urlabsolue, URL d'image publique, champs de prix, noms de ville/zone, et aucun champ réservé à l'administration. (Pour le filtrage par nom — « condos à Phuket » — utilisez l'outil MCPsearch_listings, qui résout les noms en ids pour vous.) - Détail —
GET /api/listings/{type}/{slug}?locale=en→ une annonce au format JSON, avec unedescriptionen Markdown.typeestsaleourent;slugprovient du dernier segment de chemin de l'URL de l'annonce.
# Détail d'une annonce connue (slug provenant de son URL publique) :
curl -s "https://mcllrealestate.com/api/listings/sale/kamala-cliff-villa?locale=en"
# Recherche (annonces en vente, page 1) :
curl -s "https://mcllrealestate.com/api/listings?type=sale&locale=en"
3. Négociation de contenu Markdown (n'importe quelle page → texte propre)
Envoyez Accept: text/markdown à n'importe quelle URL d'annonce, zone, actualité ou développement et MCLL
renvoie une version Markdown au lieu du HTML — beaucoup moins de jetons que d'analyser la page.
La page d'accueil renvoie un aperçu du site. Les zones, actualités et développements ne sont accessibles
que par ce biais — aucun outil MCP ou point de terminaison REST ne les couvre ; trouvez leurs URL dans le
sitemap.
curl -s -H "Accept: text/markdown" \
"https://mcllrealestate.com/en/buy/villa/phuket/kamala/kamala-cliff-villa"
L'index et les pages statiques n'ont pas de version Markdown et renvoient du HTML — utilisez l'API de recherche pour celles-ci.
Flux de travail typique
- Utilisez
executelorsque l'utilisateur demande une comparaison, un classement ou des métriques dérivées sur plusieurs annonces. - Sinon, recherchez ce que l'utilisateur souhaite (
search_listings, ouGET /api/listings). - Lisez la liste des résultats ; choisissez l'annonce pertinente par
title,area,priceThb. - Récupérez les détails de l'annonce choisie (
get_listing, la route REST de détail, ou le Markdown sur l'urlde l'annonce). - Répondez à l'utilisateur avec les informations de l'annonce et liez-les à l'
urlpublique.
Découverte et conventions
- Sitemaps (toutes les URL, par locale) :
https://mcllrealestate.com/sitemap.xml. - Catalogue API (index machine) :
https://mcllrealestate.com/.well-known/api-catalog. - Guide du site pour agents :
https://mcllrealestate.com/llms-full.txt. - Locales :
en·fr·th·zh. Les locales non publiées tombent en anglais. - Les prix sont en THB ;
priceOnRequest: true(oupriceThb: null) signifie que le prix n'est pas public — dites « Prix sur demande », jamais un chiffre. - Seules les annonces publiées sont renvoyées ; il n'y a pas d'authentification et rien n'est inscriptible ici.