Platform
Get started

Casafari is the AI agent-native real estate data intelligence platform. The most complete property index in Europe: a deduplicated, cleaned property graph of residential and commercial property, for sale and for rent, in 16 countries.The most complete property index in Europe: a deduplicated, cleaned property graph.

How the graph is built

Claro AI · MCP tool

refine_search

Refine a search

Separate server6 parameters

Claro AI is a separate MCP server provided by Casafari, not part of https://mcp.casafari.com/. Its address on the platform is https://platform.casafari.com/mcp/claro: Streamable HTTP, a platform API key or the platform's OAuth, metered in platform units. How to connect.

Over REST: POST /v1/search/refine (equivalent). MCP and REST compared.

What does Refine a search do?

Change part of an earlier search in plain words ("bigger, at least 200 m²", "Barcelona too", "drop the corner") and run it again, as a new search with its own search_id and pages. Uses the search_id from search_premises; searches are kept 24 hours. Results as search_premises gives them, location figures with location_sources. Up to 200 results a page (50 with a publishable key). next_cursor gets the next page: send it as cursor (alone, with limit if you like); the order is fixed when the search runs and stays the same for its 24 hours, so pages never repeat or skip a premises. page gives offset, limit and the total ranked. The read-through (check) runs only for pages of up to 50.

Which parameters does refine_search take?

search_idstringrequired
changestring
What to change, in plain words. Required unless cursor is sent.
limitinteger
Results a page, up to 200; above 50 check is off.
1–200default 10
cursorstring
next_cursor from an earlier answer: returns that search's next page, same criteria and order. Send without brief, criteria or change.
checkboolean
default true
insightsboolean
Add insights, charts as data over every match, each with a one-sentence answer, its count, scope, source and date: per criterion how many matches meet it, leave it unsaid or contradict it (and how many would state everything without it); with one price limit, what it reaches among premises of this kind and place before the limit, else what the matches ask per m²; and where the matches are by district or town. Asking prices; each unit counted once.
default false

How do I call refine_search?

Required arguments only, with placeholder values. Your assistant fills them in from the parameters above.

JSON-RPC
{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "refine_search",
    "arguments": {
      "search_id": "…"
    }
  }
}

Tip: add .md to any URL to read it as Markdown.