agentsclimarketplace

Mcll real estate

Skill mcllrealestate/agent-skills/skills/mcll-real-estate

Search and retrieve published MCLL real-estate listings from mcllrealestate.com. Use for Thai property searches, residences for sale or rent, prices, areas, branded residences, new developments, or comparisons across MCLL listings. Prefer the MCLL MCP server; its execute tool is Code Mode JavaScript for calculations and comparisons over published listings. REST and Markdown fallbacks work without MCP. Read-only, no auth, no API key. Skip real estate outside Thailand and non-MCLL portals.From its SKILL.md

Install
npx -y skills add mcllrealestate/agent-skills --skill mcll-real-estate

Assembled from the repository path, not quoted from the project. Check it against their README if it does not work.

One thing to look at

  • 0 stars0 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.

What its file declares

Copied from the file, not written here

The file declares its own license as MIT. That is the author’s claim about this one file, and it is not the same thing as the license GitHub reports for the repository, which is listed with the other numbers below.

SKILL.md

6.3 KB, ~1.4k tokens by cl100k_base, as published. Nobody here has run it

MCLL Real Estate

MCLL (mcllrealestate.com) is a Thai real-estate firm. This skill lets an agent search and read published sale and rent listings across Bangkok, Phuket, and the islands. Everything here is read-only public data; no key or login is needed.

Pick the access method your runtime supports. MCP and REST return listings; Markdown also renders the area, news, and development pages.

1. MCP server (prefer this)

Streamable-HTTP MCP endpoint: https://mcllrealestate.com/api/mcp Server card: https://mcllrealestate.com/.well-known/mcp/server-card.json

Three tools:

  • search_listings: find listings. Args: type ("sale" | "rent", required), locale (en/fr/th/zh, default en), and optional city, area, propertyType (human names such as "Phuket" or "Condo"), bedrooms, minPrice, maxPrice (THB), page. Returns { total, page, results: [{ id, title, url, transactionType, city, area, bedrooms, bathrooms, areaSqm, priceThb, image }] }. Each result's url ends in a slug you pass to get_listing.
  • get_listing: full detail of one listing. Args: type ("sale"|"rent"), slug (from a search result), locale. Returns price, size, features, coordinates, and a Markdown description.
  • execute: MCLL Code Mode. Args: code (JavaScript string). Runs server-side in a Cloudflare Worker sandbox with global mcll.search(args) and mcll.get(args). No open network, filesystem, environment variables, secrets, or writes. Use return for the JSON-serializable result; top-level await works. Best for comparing, ranking, or computing across many listings in one call.

Example execute code:

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 (no MCP client needed)

OpenAPI: https://mcllrealestate.com/api/openapi.json

  • Search: GET /api/listings?type=sale|rent&locale=en plus optional filters. Note these filters take ids (UUIDs), not names: city, area, propertyType, bedrooms, bathrooms, priceMin, priceMax, sizeMin, sizeMax, furnished, features, sort, page. Returns { total, page, results }, where each result has the same safe public projection as MCP search: absolute url, public image URL, price fields, city/area names, and no admin-only fields. For name-based filtering such as "condos in Phuket", use the MCP search_listings tool, which resolves names to ids for you.)
  • Detail: GET /api/listings/{type}/{slug}?locale=en returns one listing as JSON, with a Markdown description. type is sale or rent; slug comes from a listing URL's last path segment.
# Detail of a known listing (slug from its public URL):
curl -s "https://mcllrealestate.com/api/listings/sale/kamala-cliff-villa?locale=en"

# Search (sale listings, page 1):
curl -s "https://mcllrealestate.com/api/listings?type=sale&locale=en"

3. Markdown content negotiation

Send Accept: text/markdown to any listing, area, news, or development URL and MCLL returns a Markdown rendition instead of HTML, with fewer tokens than parsing the page. The home page returns a site overview. Areas, news, and developments are reachable only this way; no MCP tool or REST endpoint covers them. Find their URLs in the sitemap.

curl -s -H "Accept: text/markdown" \
  "https://mcllrealestate.com/en/buy/villa/phuket/kamala/kamala-cliff-villa"

Index and static pages have no Markdown rendition and return HTML; use the search API for those.

Typical workflow

  1. Use execute when the user asks for comparison, ranking, or derived metrics across multiple listings.
  2. Otherwise search for what the user wants (search_listings, or GET /api/listings).
  3. Read the result list and pick the relevant listing(s) by title, area, priceThb.
  4. Fetch details for the chosen listing(s) (get_listing, the detail REST route, or Markdown on the listing url).
  5. Answer the user with the listing's facts and link them to the public url.

Discovery and conventions

  • Sitemaps (every URL, per locale): https://mcllrealestate.com/sitemap.xml.
  • API catalog (machine index): https://mcllrealestate.com/.well-known/api-catalog.
  • Site guide for agents: https://mcllrealestate.com/llms-full.txt.
  • Locales: en · fr · th · zh. Unpublished locales fall back to English.
  • Prices are in THB; priceOnRequest: true (or priceThb: null) means the price is not public. Say "Price upon enquiry", never a number.
  • Only published listings are returned; there is no auth and nothing is writable here.

What ships with it: 1 file

1.6 KB alongside SKILL.md

evals/

Keep looking

Skills are one crate of 325,949. Ordering is by how many stacks a row turns up in, so the top of any crate is what has actually been picked rather than what has the most stars.