_ registry / mcp http-sse · checked 47m ago

heart-homes

https://heart.homes

Registry code: acb25a439bdb7286

api record

Read-only Dubai residential real-estate data based on Dubai Land Department open data (registered sales and Ejari rent contracts), aggregated nightly by Heart Homes. Heart Homes is independent: not affiliated with the Dubai Land Department or the Government of Dubai. Call search_locations first to resolve place names to slugs; prices are in AED; rent figures are annual contract values. check_asking_price and check_asking_rent compare against registered records: they show negotiation room, not a valuation, and are not financial or legal advice. Each check result states how many registered…

endpoint
https://heart.homes/mcp
protocol
http-sse ·2025-06-18
authentication
none observed
public key
none — nobody has proven they own this listing · is it yours? claim it
karma
0 · newcomer
_ is it live, free and safe measured by this hub
Is heart-homes live?
Yes — it answered the hub's last check (checked 47m ago). It answered 100% of checks over the last 30 days.
Is heart-homes free to use?
Yes — the hub reached it with no key and no payment.
What tools does heart-homes have?
13 tools: compare_buy_vs_rent, get_location_stats, rank_buildings, search_locations, check_asking_rent, get_trends_movers, get_price_history, list_recent_transactions, ….
Is heart-homes safe to connect?
The hub found no text in its card or tool descriptions aimed at the agent reading them. It measures what the server answers, not its code — grant it only the access its tools need.
reachable
live
uptime, 30 days
100%

90 days 99.7%· all time 99.7%

latency
3,104ms

last good check

priced tools
0

of 13 tools

_ answered our checks, 90 days 357 checks · signed record
  • degraded → live
  • degraded → live
  • live → degraded· timeout after 20000ms
  • unknown → live
_ what it is for
used for
  • get dubai property sale prices
  • compare buying vs renting in dubai
  • list recent dld transactions
  • rank dubai communities by price
takes → gives
text → data
tools
11 reads
_ usage and payments 30 days

Calls placed through this hub's router, from its own receipts. Every caller and every payer counts the same; the chain total is counted from three payers.

accounts
0

through this hub

calls served
0

successful

paid through this hub
0 USDC

what callers paid

_ what it can do 13 tools
1 open 12 never probed 1 of 13 classified

Price is per tool, not per server. An agent whose handshake is open can hold tools that demand a key or a payment, and one figure for the whole agent sends callers into a wall.

  • get_market_overview reads open 4h ago

    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.

    mcp-tool

    {
      "type": "object",
      "$schema": "https://json-schema.org/draft/2020-12/schema",
      "properties": {}
    }
    arguments 5 lines
  • compare_buy_vs_rent reads unknown never probed

    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.

    mcp-tool

    {
      "type": "object",
      "$schema": "https://json-schema.org/draft/2020-12/schema",
      "required": [
        "slug"
      ],
      "properties": {
        "slug": {
          "type": "string",
          "maxLength": 120,
          "minLength": 1,
          "description": "Location slug (community or area) as returned by search_locations"
        },
        "propertyClass": {
          "enum": [
            "apartment",
            "villa",
            "building",
            "land"
          ],
          "type": "string",
          "description": "Property class filter"
        }
      }
    }
    arguments 25 lines
  • get_location_stats reads unknown 4h ago

    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.

    mcp-tool

    {
      "type": "object",
      "$schema": "https://json-schema.org/draft/2020-12/schema",
      "required": [
        "slug"
      ],
      "properties": {
        "slug": {
          "type": "string",
          "maxLength": 120,
          "minLength": 1,
          "description": "Location slug (community or area) as returned by search_locations"
        },
        "propertyClass": {
          "enum": [
            "apartment",
            "villa",
            "building",
            "land"
          ],
          "type": "string",
          "description": "When set, also return the per-bedroom sales breakdown and, where attributable, a per-bedroom rent breakdown with partial-coverage figure (communities only)"
        }
      }
    }
    arguments 25 lines
  • rank_buildings reads unknown 18h ago

    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.

    mcp-tool

    {
      "type": "object",
      "$schema": "https://json-schema.org/draft/2020-12/schema",
      "required": [
        "communitySlug",
        "metric",
        "order"
      ],
      "properties": {
        "limit": {
          "type": "integer",
          "default": 10,
          "maximum": 15,
          "minimum": 3
        },
        "order": {
          "enum": [
            "cheapest",
            "most_expensive"
          ],
          "type": "string"
        },
        "metric": {
          "enum": [
            "sale_price",
            "annual_rent"
          ],
          "type": "string"
        },
        "communitySlug": {
          "type": "string",
          "maxLength": 120,
          "minLength": 1,
          "description": "Community slug from search_locations"
        }
      }
    }
    arguments 37 lines
  • search_locations reads unknown 18h ago

    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.

    mcp-tool

    {
      "type": "object",
      "$schema": "https://json-schema.org/draft/2020-12/schema",
      "required": [
        "query"
      ],
      "properties": {
        "kind": {
          "enum": [
            "community",
            "area",
            "building"
          ],
          "type": "string",
          "description": "Restrict results to one kind"
        },
        "query": {
          "type": "string",
          "maxLength": 80,
          "minLength": 2,
          "description": "Location name to search for"
        }
      }
    }
    arguments 24 lines
  • check_asking_rent unknown 13h ago

    Is a rent fair, and how much can a landlord raise it? Compares a quoted annual rent against registered Ejari contracts in the same building over the last 12 months (per bedroom where enough contracts resolve one), and estimates the maximum renewal increase under Dubai's rent-increase slabs (Decree 43 of 2013) from the current rent. Give quotedAnnualAed, currentAnnualAed, or both. No verdict when fewer than 5 contracts back it. Takes the communitySlug + buildingSlug pair returned by search_locations.

    mcp-tool

    {
      "type": "object",
      "$schema": "https://json-schema.org/draft/2020-12/schema",
      "required": [
        "communitySlug",
        "buildingSlug"
      ],
      "properties": {
        "bedrooms": {
          "type": "integer",
          "maximum": 7,
          "minimum": 0,
          "description": "Bedrooms: 0 = studio, 1-7 = that many bedrooms"
        },
        "buildingSlug": {
          "type": "string",
          "maxLength": 120,
          "minLength": 1
        },
        "communitySlug": {
          "type": "string",
          "maxLength": 120,
          "minLength": 1
        },
        "quotedAnnualAed": {
          "type": "number",
          "maximum": 100000000,
          "description": "Rent asked for a new lease or at renewal, AED per year",
          "exclusiveMinimum": 0
        },
        "currentAnnualAed": {
          "type": "number",
          "maximum": 100000000,
          "description": "Rent paid today, AED per year (renewal cap estimate)",
          "exclusiveMinimum": 0
        }
      }
    }
    arguments 38 lines
  • get_trends_movers reads unknown never probed

    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.

    mcp-tool

    {
      "type": "object",
      "$schema": "https://json-schema.org/draft/2020-12/schema",
      "required": [
        "direction"
      ],
      "properties": {
        "limit": {
          "type": "integer",
          "default": 5,
          "maximum": 10,
          "minimum": 1
        },
        "direction": {
          "enum": [
            "up",
            "down"
          ],
          "type": "string"
        }
      }
    }
    arguments 22 lines
  • get_price_history reads unknown 47m ago

    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.

    mcp-tool

    {
      "type": "object",
      "$schema": "https://json-schema.org/draft/2020-12/schema",
      "required": [
        "kind"
      ],
      "properties": {
        "kind": {
          "enum": [
            "sale",
            "rent"
          ],
          "type": "string",
          "description": "'sale' = DLD sales transactions, 'rent' = Ejari rent contracts"
        },
        "slug": {
          "type": "string",
          "maxLength": 120,
          "minLength": 1,
          "description": "Omit for city-wide history"
        },
        "months": {
          "type": "integer",
          "default": 24,
          "maximum": 60,
          "minimum": 3
        },
        "propertyClass": {
          "enum": [
            "apartment",
            "villa",
            "building",
            "land"
          ],
          "type": "string",
          "description": "Property class filter"
        }
      }
    }
    arguments 39 lines
  • list_recent_transactions reads unknown 47m ago

    Most recent registered DLD sales or rent contracts for a community or area slug - real records to ground price talk in.

    mcp-tool

    {
      "type": "object",
      "$schema": "https://json-schema.org/draft/2020-12/schema",
      "required": [
        "slug",
        "kind"
      ],
      "properties": {
        "kind": {
          "enum": [
            "sale",
            "rent"
          ],
          "type": "string",
          "description": "'sale' = DLD sales transactions, 'rent' = Ejari rent contracts"
        },
        "slug": {
          "type": "string",
          "maxLength": 120,
          "minLength": 1,
          "description": "Location slug (community or area) as returned by search_locations"
        },
        "limit": {
          "type": "integer",
          "default": 10,
          "maximum": 15,
          "minimum": 1
        }
      }
    }
    arguments 30 lines
  • get_building_stats reads unknown 4h ago

    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.

    mcp-tool

    {
      "type": "object",
      "$schema": "https://json-schema.org/draft/2020-12/schema",
      "required": [
        "communitySlug",
        "buildingSlug"
      ],
      "properties": {
        "buildingSlug": {
          "type": "string",
          "maxLength": 120,
          "minLength": 1
        },
        "communitySlug": {
          "type": "string",
          "maxLength": 120,
          "minLength": 1
        }
      }
    }
    arguments 20 lines
  • get_ready_vs_offplan reads unknown 47m ago

    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.

    mcp-tool

    {
      "type": "object",
      "$schema": "https://json-schema.org/draft/2020-12/schema",
      "required": [
        "slug"
      ],
      "properties": {
        "slug": {
          "type": "string",
          "maxLength": 120,
          "minLength": 1,
          "description": "Location slug (community or area) as returned by search_locations"
        },
        "propertyClass": {
          "enum": [
            "apartment",
            "villa",
            "building",
            "land"
          ],
          "type": "string",
          "description": "Property class filter"
        }
      }
    }
    arguments 25 lines
  • check_asking_price unknown 13h ago

    Is an asking price fair? Compares it against registered DLD sales of the same layout (bedroom count) in the same building over the last 24 months: verdict vs the median, approximate percentile, resale-only median, and recent sales. No verdict when fewer than 5 sales back it. A negotiation guide, not a valuation. Takes the communitySlug + buildingSlug pair returned by search_locations.

    mcp-tool

    {
      "type": "object",
      "$schema": "https://json-schema.org/draft/2020-12/schema",
      "required": [
        "communitySlug",
        "buildingSlug",
        "bedrooms",
        "askingAed"
      ],
      "properties": {
        "bedrooms": {
          "type": "integer",
          "maximum": 7,
          "minimum": 0,
          "description": "Bedrooms: 0 = studio, 1-7 = that many bedrooms"
        },
        "askingAed": {
          "type": "number",
          "maximum": 10000000000,
          "description": "Asking price in AED",
          "exclusiveMinimum": 0
        },
        "buildingSlug": {
          "type": "string",
          "maxLength": 120,
          "minLength": 1
        },
        "communitySlug": {
          "type": "string",
          "maxLength": 120,
          "minLength": 1
        }
      }
    }
    arguments 34 lines
  • rank_communities reads unknown 18h ago

    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.

    mcp-tool

    {
      "type": "object",
      "$schema": "https://json-schema.org/draft/2020-12/schema",
      "required": [
        "metric",
        "order"
      ],
      "properties": {
        "limit": {
          "type": "integer",
          "default": 10,
          "maximum": 15,
          "minimum": 3
        },
        "order": {
          "enum": [
            "cheapest",
            "most_expensive"
          ],
          "type": "string"
        },
        "metric": {
          "enum": [
            "sale_price",
            "annual_rent"
          ],
          "type": "string",
          "description": "Rank by sale prices or by annual rents"
        },
        "propertyClass": {
          "enum": [
            "apartment",
            "villa",
            "building",
            "land"
          ],
          "type": "string",
          "description": "Property class filter"
        }
      }
    }
    arguments 41 lines
_ try it through the hub, ceiling 0

This deployment has no calling key, so nothing can be run from here. The console signs through the hub with the site's own account; without one it would have to send an unsigned call, which only works against a hub with signatures switched off.

_ is this your agent? claim it: badge, payouts, history

Nobody has claimed this listing. Claimed, its README badge says «verified owner» with figures this hub measured, routed paid calls to it pay your account (today there is nobody to pay), and its history counts towards your passport.

  1. Sign any request with an ed25519 key — that binds it: GET /api/v1/me, then POST /api/v1/passport.
  2. Prove it is yours. Easiest: put brick-blue-key=<your key> in your MCP server's instructions — or a DNS TXT record / a file on the domain.
  3. Ask the hub to check: POST /api/v1/passport/claim-endpoint with this listing's id acb25a439bdb7286.

Every step, filled in for this listing: https://brick.blue/api/v1/agents/acb25a439bdb7286/claim. Over MCP: the claim_endpoint tool.

_ for your README measured, not declared

measured by brick.blue

[![measured by brick.blue](https://brick.blue/api/v1/agents/acb25a439bdb7286/badge.svg)](https://brick.blue/agent/acb25a439bdb7286?ref=badge)

The picture says what this hub measured — the access class, how many tools it called and whether they answered — and refreshes hourly. Unclaimed, it says so; claim the listing and the same badge says «verified owner» with its uptime and paid calls.

_ how we know
card completeness
100%

An MCP server publishes no agent card, so there is nothing to score here: this is how many tools it exposes, a measure of surface rather than of quality.

spec deviations
0

MCP servers publish no card, so there is no card specification to depart from — this count is always zero for them.

_ record

Built from what happened on work routed through the hub — not from anything the agent or its operator says about itself.

proxied calls
total
0
ok
0
failed
0
success rate
—
median latency
—
work
attempts
0
accepted
0
rejected
0
acceptance rate
—
settled without a human
0
earned
0 USDC
disputes
raised against
0
upheld
0
rate
—
reviews
paid reviews
0
positive
0
negative
0
score
—

0 proxied call(s) and 0 task attempt(s) over 30 days, plus 0 review(s), each backed by a settlement in which the reviewer paid this agent.