Heart Homes — Dubai property data
Dubai property prices, rents and trends from official Dubai Land Department records. Read-only.
¿Debería usar esto?
Calidad y seguridad
Basado en el análisis automatizado de las definiciones de herramientas y el cumplimiento del protocolo.
Costo de contexto
Este es el número aproximado de tokens que se consumen cada vez que las herramientas del servidor se cargan en el contexto de un modelo. Los recuentos más altos reducen la atención disponible para otras tareas.
Instalar
Instalación con un clic
Agrega esto a tu archivo `claude_desktop_config.json`:
{
"mcpServers": {
"heart-homes": {
"url": "https://heart.homes/mcp"
}
}
}Puntos de conexión remotos
https://heart.homes/mcpstreamable-httpQué puede hacer
Inventario de herramientas
Herramientas (11)
🟢search_locations(query, kind)
Resolve a free-text Dubai location name (community, area, or building) to canonical slugs. Always call this first when the user names a place; other tools take the returned slugs.
Esquema de entrada
{
"type": "object",
"properties": {
"query": {
"type": "string",
"minLength": 2,
"maxLength": 80,
"description": "Location name to search for"
},
"kind": {
"description": "Restrict results to one kind",
"type": "string",
"enum": [
"community",
"area",
"building"
]
}
},
"required": [
"query"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢get_market_overview
City-wide Dubai sales KPIs over the last 12 months (transaction count, total value, median price, median price per sqm) plus data freshness. Good first call for broad questions.
Esquema de entrada
{
"type": "object",
"properties": {},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢get_location_stats(slug, propertyClass)
Headline stats for one community or area slug: 12-month sales volume, median price, price per sqm, 12-month trend, plus a property-class mix for sales and rents. When propertyClass is set for a community, also returns per-bedroom sales and rent breakdowns; rent bedroom coverage is partial and must be reported as approximate using rentBedroomCoveragePct and rentBedroomNote. Per-bedroom rent for a single building is not available.
Esquema de entrada
{
"type": "object",
"properties": {
"slug": {
"type": "string",
"minLength": 1,
"maxLength": 120,
"description": "Location slug (community or area) as returned by search_locations"
},
"propertyClass": {
"description": "When set, also return the per-bedroom sales breakdown and, where attributable, a per-bedroom rent breakdown with partial-coverage figure (communities only)",
"type": "string",
"enum": [
"apartment",
"villa",
"building",
"land"
]
}
},
"required": [
"slug"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢get_ready_vs_offplan(slug, propertyClass)
Sales split between the secondary (ready / resale) market and the off-plan (pre-completion developer) market for one community or area over the last 12 months - transaction count, total value, and median price for each. "ready" = completed homes resold on the secondary market; "off-plan" = pre-completion developer sales. Property flipping, reselling, and "resale market" questions are READY / secondary-market questions: report the ready row here and do not present off-plan figures as flipping or resale figures. Optionally filter to one property class.
Esquema de entrada
{
"type": "object",
"properties": {
"slug": {
"type": "string",
"minLength": 1,
"maxLength": 120,
"description": "Location slug (community or area) as returned by search_locations"
},
"propertyClass": {
"type": "string",
"enum": [
"apartment",
"villa",
"building",
"land"
],
"description": "Property class filter"
}
},
"required": [
"slug"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢get_price_history(slug, kind, propertyClass, months)
Monthly transaction counts and median prices for a community/area slug (or city-wide when slug is omitted), for sales or rents, optionally filtered to one property class. Rent medians are annual contract values in AED/year.
Esquema de entrada
{
"type": "object",
"properties": {
"slug": {
"description": "Omit for city-wide history",
"type": "string",
"minLength": 1,
"maxLength": 120
},
"kind": {
"type": "string",
"enum": [
"sale",
"rent"
],
"description": "'sale' = DLD sales transactions, 'rent' = Ejari rent contracts"
},
"propertyClass": {
"type": "string",
"enum": [
"apartment",
"villa",
"building",
"land"
],
"description": "Property class filter"
},
"months": {
"default": 24,
"type": "integer",
"minimum": 3,
"maximum": 60
}
},
"required": [
"kind"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢get_building_stats(communitySlug, buildingSlug)
Stats for one building: 12-month sales, median price, trend, recent sales, property-type mix, and - where rent contracts can be attributed to the building - median annual rent and recent rent contracts, and a per-bedroom rent breakdown where enough contracts resolve a bedroom. Takes the communitySlug + buildingSlug pair returned by search_locations.
Esquema de entrada
{
"type": "object",
"properties": {
"communitySlug": {
"type": "string",
"minLength": 1,
"maxLength": 120
},
"buildingSlug": {
"type": "string",
"minLength": 1,
"maxLength": 120
}
},
"required": [
"communitySlug",
"buildingSlug"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢rank_buildings(communitySlug, metric, order, limit)
Buildings in one community ranked by 12-month median sale price or median annual rent - answers 'cheapest/most expensive buildings in X'. Rent coverage is partial: Ejari records carry no building name, so only buildings whose project name identifies them uniquely have rent stats. Buildings with fewer than 5 records are excluded.
Esquema de entrada
{
"type": "object",
"properties": {
"communitySlug": {
"type": "string",
"minLength": 1,
"maxLength": 120,
"description": "Community slug from search_locations"
},
"metric": {
"type": "string",
"enum": [
"sale_price",
"annual_rent"
]
},
"order": {
"type": "string",
"enum": [
"cheapest",
"most_expensive"
]
},
"limit": {
"default": 10,
"type": "integer",
"minimum": 3,
"maximum": 15
}
},
"required": [
"communitySlug",
"metric",
"order"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢list_recent_transactions(slug, kind, limit)
Most recent registered DLD sales or rent contracts for a community or area slug - real records to ground price talk in.
Esquema de entrada
{
"type": "object",
"properties": {
"slug": {
"type": "string",
"minLength": 1,
"maxLength": 120,
"description": "Location slug (community or area) as returned by search_locations"
},
"kind": {
"type": "string",
"enum": [
"sale",
"rent"
],
"description": "'sale' = DLD sales transactions, 'rent' = Ejari rent contracts"
},
"limit": {
"default": 10,
"type": "integer",
"minimum": 1,
"maximum": 15
}
},
"required": [
"slug",
"kind"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢compare_buy_vs_rent(slug, propertyClass)
Compare buying vs renting in one community or area: 12-month weighted median sale price, median annual rent, and the implied gross rental yield. Optionally filter to one property class.
Esquema de entrada
{
"type": "object",
"properties": {
"slug": {
"type": "string",
"minLength": 1,
"maxLength": 120,
"description": "Location slug (community or area) as returned by search_locations"
},
"propertyClass": {
"type": "string",
"enum": [
"apartment",
"villa",
"building",
"land"
],
"description": "Property class filter"
}
},
"required": [
"slug"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢rank_communities(metric, order, propertyClass, limit)
Communities ranked by 12-month median sale price or median annual rent - the direct answer to 'cheapest areas', 'most expensive communities', 'most affordable rents'. Only communities with 30+ transactions are ranked; without a propertyClass filter, only residential classes (apartments + villas) count, so whole-building leases and land deals don't skew the medians.
Esquema de entrada
{
"type": "object",
"properties": {
"metric": {
"type": "string",
"enum": [
"sale_price",
"annual_rent"
],
"description": "Rank by sale prices or by annual rents"
},
"order": {
"type": "string",
"enum": [
"cheapest",
"most_expensive"
]
},
"propertyClass": {
"type": "string",
"enum": [
"apartment",
"villa",
"building",
"land"
],
"description": "Property class filter"
},
"limit": {
"default": 10,
"type": "integer",
"minimum": 3,
"maximum": 15
}
},
"required": [
"metric",
"order"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢get_trends_movers(direction, limit)
Communities with the biggest 12-month price moves (direction 'up' = risers, 'down' = fallers). Only communities with 30+ sales are included, so thin-volume noise is excluded.
Esquema de entrada
{
"type": "object",
"properties": {
"direction": {
"type": "string",
"enum": [
"up",
"down"
]
},
"limit": {
"default": 5,
"type": "integer",
"minimum": 1,
"maximum": 10
}
},
"required": [
"direction"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}Prompts recomendados
search_locationslist_recent_transactionssearch_locationsget_market_overviewget_market_overviewComunidad
Evidencia