MCLL Real Estate
MCLL(mcllrealestate.com)은 태국의 프리미엄 부동산 회사입니다. 이 스킬을 통해 에이전트는 방콕, 푸켓, 그리고 섬 지역의 매매 및 임대 매물을 검색하고 읽을 수 있습니다. 모든 데이터는 공개된 읽기 전용 데이터이며, 키나 로그인이 필요하지 않습니다.
런타임에서 지원하는 접근 방식을 선택하세요. MCP와 REST는 매물 목록을 반환하고, Markdown은 지역, 뉴스, 개발 페이지도 렌더링합니다.
1. MCP 서버 (가장 풍부함 – 이 방법을 선호)
Streamable-HTTP MCP 엔드포인트: https://mcllrealestate.com/api/mcp
서버 카드: https://mcllrealestate.com/.well-known/mcp/server-card.json
세 가지 도구:
search_listings— 매물 검색. 인수:type("sale"|"rent", 필수),locale(en/fr/th/zh, 기본en), 선택적city,area,propertyType(사용자 이름 —"Phuket","Condo"),bedrooms,minPrice,maxPrice(THB),page. 반환값:{ total, page, results: [{ id, title, url, transactionType, city, area, bedrooms, bathrooms, areaSqm, priceThb, image }] }— 각 결과의url은get_listing에 전달할slug로 끝납니다.get_listing— 하나의 매물 전체 상세 정보. 인수:type("sale"|"rent"),slug(검색 결과에서),locale. 가격, 크기, 특징, 좌표, Markdowndescription을 반환합니다.execute— 코드 모드. 인수:code(JavaScript 문자열). Cloudflare 샌드박스에서 전역mcll.search(args)및mcll.get(args)와 함께 실행됩니다. 개방형 네트워크, 파일 시스템, 비밀, 쓰기 작업은 불가능합니다. JSON 직렬화 가능한 결과를 위해return을 사용하세요. 최상위await가 작동합니다. 한 번의 호출로 여러 매물을 비교, 순위 지정, 계산하는 데 가장 적합합니다.
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. REST API (MCP 클라이언트가 필요 없는 경우)
OpenAPI: https://mcllrealestate.com/api/openapi.json
- 검색 —
GET /api/listings?type=sale|rent&locale=en+ 선택적 필터. 이 필터는 이름이 아닌 id(UUID)를 사용합니다:city,area,propertyType,bedrooms,bathrooms,priceMin,priceMax,sizeMin,sizeMax,furnished,features,sort,page. 반환값:{ total, page, results }, 각 결과는 MCP 검색과 동일한 안전한 공개 프로젝션을 가집니다: 절대url, 공개 이미지 URL, 가격 필드, 도시/지역 이름, 관리자 전용 필드는 없습니다. (이름 기반 필터링 — "푸켓의 콘도" — 의 경우 MCPsearch_listings도구를 사용하세요. 이 도구가 이름을 ID로 변환해줍니다.) - 상세 정보 —
GET /api/listings/{type}/{slug}?locale=en→ 하나의 매물을 JSON으로 반환하며 Markdowndescription을 포함합니다.type은sale또는rent,slug는 매물 URL의 마지막 경로 세그먼트에서 가져옵니다.
# 알려진 매물의 상세 정보 (공개 URL의 slug 사용):
curl -s "https://mcllrealestate.com/api/listings/sale/kamala-cliff-villa?locale=en"
# 검색 (매매 매물, 1페이지):
curl -s "https://mcllrealestate.com/api/listings?type=sale&locale=en"
3. Markdown 콘텐츠 협상 (모든 페이지 → 깨끗한 텍스트)
매물, 지역, 뉴스, 또는 개발 URL에 Accept: text/markdown 헤더를 보내면 MCLL이 HTML 대신 Markdown 버전을 반환합니다 — 페이지를 파싱하는 것보다 훨씬 적은 토큰을 사용합니다. 홈페이지는 사이트 개요를 반환합니다. 지역, 뉴스, 개발 페이지는 이 방법으로만 접근 가능합니다 — MCP 도구나 REST 엔드포인트가 이를 다루지 않습니다. 해당 URL은 사이트맵에서 찾을 수 있습니다.
curl -s -H "Accept: text/markdown" \
"https://mcllrealestate.com/en/buy/villa/phuket/kamala/kamala-cliff-villa"
인덱스 및 정적 페이지는 Markdown 버전이 없으며 HTML을 반환합니다. 이러한 경우 검색 API를 사용하세요.
일반적인 워크플로
- 사용자가 여러 매물 간의 비교, 순위 지정, 또는 파생 지표를 요청할 때 **
execute**를 사용합니다. - 그렇지 않으면 사용자가 원하는 것을 검색합니다 (
search_listings, 또는GET /api/listings). - 결과 목록을 읽고
title,area,priceThb를 기준으로 관련 매물을 선택합니다. - 선택한 매물의 상세 정보를 가져옵니다 (
get_listing, 상세 REST 경로, 또는 매물url의 Markdown). - 매물 정보를 사용자에게 제공하고 공개
url로 연결합니다.
발견 및 규칙
- 사이트맵 (모든 URL, 로케일별):
https://mcllrealestate.com/sitemap.xml. - API 카탈로그 (머신 인덱스):
https://mcllrealestate.com/.well-known/api-catalog. - 에이전트용 사이트 가이드:
https://mcllrealestate.com/llms-full.txt. - 로케일:
en·fr·th·zh. 게시되지 않은 로케일은 영어로 대체됩니다. - 가격은 THB 단위입니다.
priceOnRequest: true(또는priceThb: null)는 가격이 공개되지 않았음을 의미합니다 — "가격 문의"라고 말하고, 숫자를 절대 말하지 마세요. - 게시된 매물만 반환됩니다. 인증은 없으며 쓰기 가능한 것은 없습니다.