MCLL Real Estate
MCLL (mcllrealestate.com) es una firma inmobiliaria tailandesa premium. Este skill permite a un agente buscar y leer sus listados publicados — en venta y alquiler, en Bangkok, Phuket y las islas. Todo aquí son datos públicos de solo lectura; no se necesita clave ni inicio de sesión.
Elige el método de acceso que soporte tu runtime. MCP y REST devuelven listados; Markdown también renderiza las páginas de áreas, noticias y desarrollos.
1. Servidor MCP (el más completo — preferir este)
Endpoint MCP Streamable-HTTP: https://mcllrealestate.com/api/mcp
Tarjeta del servidor: https://mcllrealestate.com/.well-known/mcp/server-card.json
Tres herramientas:
search_listings— buscar listados. Args:type("sale"|"rent", obligatorio),locale(en/fr/th/zh, por defectoen), y opcionalescity,area,propertyType(nombres humanos —"Phuket","Condo"),bedrooms,minPrice,maxPrice(THB),page. Devuelve{ total, page, results: [{ id, title, url, transactionType, city, area, bedrooms, bathrooms, areaSqm, priceThb, image }] }— laurlde cada resultado termina en unslugque pasas aget_listing.get_listing— detalle completo de un listado. Args:type("sale"|"rent"),slug(de un resultado de búsqueda),locale. Devuelve precio, tamaño, características, coordenadas y unadescriptionen Markdown.execute— Modo Código. Args:code(cadena JavaScript). Se ejecuta en un sandbox de Cloudflare con las funciones globalesmcll.search(args)ymcll.get(args). Sin red abierta, sistema de archivos, secretos ni escritura. Usareturnpara el resultado serializable en JSON;awaitde nivel superior funciona. Ideal para comparar, clasificar o calcular entre muchos listados en una sola llamada.
Ejemplo de código 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 (sin cliente MCP necesario)
OpenAPI: https://mcllrealestate.com/api/openapi.json
- Búsqueda —
GET /api/listings?type=sale|rent&locale=enmás filtros opcionales. Ten en cuenta que estos filtros reciben ids (UUIDs), no nombres:city,area,propertyType,bedrooms,bathrooms,priceMin,priceMax,sizeMin,sizeMax,furnished,features,sort,page. Devuelve{ total, page, results }, donde cada resultado tiene la misma proyección pública segura que la búsqueda MCP:urlabsoluta, URL de imagen pública, campos de precio, nombres de ciudad/área y sin campos de solo administración. (Para filtrado por nombre — "condos en Phuket" — usa la herramientasearch_listingsde MCP, que resuelve nombres a ids por ti.) - Detalle —
GET /api/listings/{type}/{slug}?locale=en→ un listado como JSON, con unadescriptionen Markdown.typeessaleorent;slugproviene del último segmento de la URL del listado.
# Detalle de un listado conocido (slug de su URL pública):
curl -s "https://mcllrealestate.com/api/listings/sale/kamala-cliff-villa?locale=en"
# Búsqueda (listados de venta, página 1):
curl -s "https://mcllrealestate.com/api/listings?type=sale&locale=en"
3. Negociación de contenido Markdown (cualquier página → texto limpio)
Envía Accept: text/markdown a cualquier URL de listado, área, noticia o desarrollo y MCLL devuelve una versión en Markdown en lugar de HTML — muchos menos tokens que analizar la página. La página de inicio devuelve una visión general del sitio. Las áreas, noticias y desarrollos solo son accesibles de esta manera — ninguna herramienta MCP ni endpoint REST los cubre; encuentra sus URLs en el sitemap.
curl -s -H "Accept: text/markdown" \
"https://mcllrealestate.com/en/buy/villa/phuket/kamala/kamala-cliff-villa"
Las páginas de índice y estáticas no tienen versión Markdown y devuelven HTML — usa la API de búsqueda para esas.
Flujo de trabajo típico
- Usa
executecuando el usuario pida comparación, clasificación o métricas derivadas entre múltiples listados. - De lo contrario busca lo que el usuario quiere (
search_listings, oGET /api/listings). - Lee la lista de resultados; elige el(los) listado(s) relevante(s) por
title,area,priceThb. - Obtén los detalles del(los) listado(s) elegido(s) (
get_listing, la ruta REST de detalle, o Markdown en laurldel listado). - Responde al usuario con los datos del listado y enlázalos a la
urlpública.
Descubrimiento y convenciones
- Sitemaps (cada URL, por locale):
https://mcllrealestate.com/sitemap.xml. - Catálogo API (índice de máquina):
https://mcllrealestate.com/.well-known/api-catalog. - Guía del sitio para agentes:
https://mcllrealestate.com/llms-full.txt. - Idiomas:
en·fr·th·zh. Los idiomas no publicados usan inglés por defecto. - Los precios están en THB;
priceOnRequest: true(opriceThb: null) significa que el precio no es público — di "Precio bajo consulta", nunca un número. - Solo se devuelven listados publicados; no hay autenticación ni nada escribible aquí.