Call it as refine_search on the Claro AI MCP server, https://platform.casafari.com/mcp/claro (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. stated_only: true pages through only the matches that state every criterion (those with a point not stated or not met are left out; counts still gives both totals, page.total the set being paged); send it with the first search, or with search_id to page a stored search's stated matches without searching again, and its next_cursor keeps it. search_id with offset (and no brief, criteria or change) returns that search's page from that place. pins_only: true with search_id (or a cursor) returns just each match's pin, pins (id, lat, lon, precision, plus type, district, rent and sale price, size and the day it was first listed, listed_since, each null when not stated), up to 2000 a page, for a map.
Which parameters does refine_search take?
search_idstringrequiredchangestringlimitintegercursorstringstated_onlybooleanoffsetintegercheckbooleaninsightsbooleaninsights, 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.langstringen deHow do I call refine_search?
Required arguments only, with placeholder values. Your assistant fills them in from the parameters above.
{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "refine_search",
"arguments": {
"search_id": "…"
}
}
}