Heart Homes — Dubai property data

Dubai property prices, rents and trends from official Dubai Land Department records. Read-only.

Should I use this

Quality & Safety

A
Description quality
98%
Schema completeness
87%
Naming quality
95%
Poisoning risk
100%
Permission match
100%
Protocol compliance
100%

Based on automated analysis of tool definitions and protocol compliance.

Context Cost

~2,007Tokens (tool definitions)
~1.1 KBTypical response size
Moderate attention impact (1.57% of 128k context)

This is the approximate number of tokens consumed each time the server's tools are loaded into a model's context. Higher counts reduce the attention available for other tasks.

Install

One-Click Install

Add this to your `claude_desktop_config.json` file:

{
  "mcpServers": {
    "heart-homes": {
      "url": "https://heart.homes/mcp"
    }
  }
}

Remote endpoints

https://heart.homes/mcpstreamable-http

What it can do

Tool inventory

Tools (11)

🟢 Read-only🟡 Write🔴 Delete⚪ Unknown
🟢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.

Input Schema

{
  "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.

Input Schema

{
  "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.

Input Schema

{
  "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.

Input Schema

{
  "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.

Input Schema

{
  "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.

Input Schema

{
  "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.

Input Schema

{
  "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.

Input Schema

{
  "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.

Input Schema

{
  "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.

Input Schema

{
  "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.

Input Schema

{
  "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"
}

Recommended Prompts

find_specific
Find [specific item] using Heart Homes — Dubai property data
Expected tools: search_locations
list_items
List all [items] available in Heart Homes — Dubai property data
Expected tools: list_recent_transactions
search_research
Search for information about [topic] using Heart Homes — Dubai property data
Expected tools: search_locations
fetch_info
Fetch [information type] using Heart Homes — Dubai property data
Expected tools: get_market_overview
retrieve_data
Get details about [item] from Heart Homes — Dubai property data
Expected tools: get_market_overview

Community

Rate this Server

Evidence

Recent observations

verifiedversion not recorded11 tools
verifiedversion not recorded11 tools
verifiedversion not recorded11 tools
verifiedversion not recorded11 tools
verifiedversion not recorded11 tools
verifiedversion not recorded11 tools