Over REST: no operation in the public API description does this. MCP and REST compared.
Description
Generate an area insights heatmap showing property distribution and price dynamics across geographic areas.
This tool aggregates active real estate listings for the child locations of the given location_id
(e.g., districts of a city), returning the selected data_point metric for each of them.
It supports a wide range of property filters, including estate type, price range,
construction year, and location hierarchy.
Use Cases
Retrieve geographic insights for real estate analytics:
- Visualize market activity intensity across a city or region.
- Identify hotspots of high property density or high average price.
- Compare neighborhoods based on average price per sqm.
- Analyze supply distribution and property trends over time.
- Combine with time-series data to understand historical evolution by area.
Parameters
| Name | Type | Required | Description |
|---|---|---|---|
request_data | MCPHeatMapRequestSchema | Yes | Defines filters, metrics, and date range for heatmap generation. |
Important Notes
- Only ACTIVE listings are included.
- The tool automatically resolves child locations (e.g., neighborhoods within a city).
- If no matching data is found, a
ToolErrorwill be raised. - Use returned data for map visualization or spatial analytics dashboards.
Returns
[
{
"location_id": 12345,
"location_name": "Lisbon",
"value": 5200.5
}
]Each item represents one geographic unit with aggregated metric value.
Parameters
request_dataobjectrequired19 properties
type_groupstringrequiredapartment housebusiness_typestringrequiredsale rentprice_rangeobjectnullable2 properties
minintegernullablemaxintegernullableprice_per_sqm_rangeobjectnullable2 properties
minintegernullablemaxintegernullablerooms_rangeobjectnullable2 properties
minintegernullablemaxintegernullablebedrooms_rangeobjectnullable2 properties
minintegernullablemaxintegernullablebathrooms_rangeobjectnullable2 properties
minintegernullablemaxintegernullabletotal_area_rangeobjectnullable2 properties
minintegernullablemaxintegernullableplot_area_rangeobjectnullable2 properties
minintegernullablemaxintegernullableconstruction_year_rangeobjectnullable2 properties
minintegernullablemaxintegernullablecharacteristicsobjectnullable2 properties
must_havestring[]balcony elevator no_elevator garage garden parking storage swimming_pool terrace rental_license furniture rented_out life_annuityexcludestring[]balcony elevator no_elevator garage garden parking storage swimming_pool terrace rental_license furniture rented_out life_annuityconditionsstring[]used ruin very-good new otherprivatebooleanbankbooleanauctionbooleanexclude_outliersbooleanlocation_idintegerrequireddata_pointstringrequiredavg_price avg_price_psqm available_on_market new sold_or_rented price_up price_downdate_rangeobjectrequired2 properties
minstring (date)requiredYYYY-MM-DD. If the specified date is not Monday - the closest previous Monday will be selectedmaxstring (date)nullableYYYY-MM-DD. If the specified date is not Sunday - the closest previous Sunday will be selectedResponse
Returned as result.
Show the response shape (3 fields)
location_idintegerrequiredlocation_namestringrequiredvaluenumberrequiredExample call
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": "ma_get_heatmap",
"arguments": {
"request_data": {
"type_group": "apartment",
"business_type": "sale",
"location_id": 1,
"data_point": "avg_price",
"date_range": {
"min": "2025-01-01"
}
}
}
}
}