Skip to main content
Glama

Heart Homes — Dubai property data

Server Details

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

If you are the author of this connector, you can claim ownership with GitHub, an HTTP challenge, or a DNS record. Claimed connector authors can inspect health checks, view analytics, and manage their listing.
Status
Healthy
Last Tested
Transport
Streamable HTTP · MCP 2025-11-25
URL

TDQS

A4.3/5.0

Scored across 11 tools

Disambiguation5/5

Each tool maps to a distinct resource or lens: location resolution, city/community/building statistics, price history, rankings, transactions, buy-vs-rent, and ready/off-plan split. Even similarly themed tools (e.g., get_location_stats vs. get_price_history) are clearly separated by headline stats vs. monthly series, and rank_communities vs. get_trends_movers by price level vs. price change.

Naming Consistency5/5

All tools follow a consistent verb-first snake_case pattern: search_, get_, list_, rank_, compare_. The two 'vs' names (compare_buy_vs_rent, get_ready_vs_offplan) are still readable and fit the action-object template without breaking the overall convention.

Tool Count5/5

11 tools is well within the ideal scope for a focused domain like Dubai property data. Each tool addresses a distinct query type—overview, location stats, building stats, history, rankings, transactions, comparisons—and none feel redundant or unnecessary.

Completeness5/5

The surface covers the core data needs for a property-data server: market overview, area/building stats, price trends, rankings, recent transactions, buy-vs-rent comparison, and ready/off-plan analysis. Search_locations resolves free-text input, and the combination covers both macro and micro questions without obvious dead ends.

Available Tools

11 tools
compare_buy_vs_rentBuy vs rent comparisonA
Read-only
Inspect

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
slugYesLocation slug (community or area) as returned by search_locations
propertyClassNoProperty class filter

TDQS

A4/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true and openWorldHint=false, covering the safety profile, so the bar is lower. The description adds genuinely useful context beyond that: a 12-month weighted calculation window and the three computed metrics. It does not explain edge cases like sparse rental data or how the gross rental yield is derived, making it adequate but not rich.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

A single 28-word sentence that front-loads the action ('Compare buying vs renting'), immediately lists the metrics, and closes with the optional filter. Every clause earns its place with zero filler or repetition of the title.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With no output schema present, the description carries the burden of describing return values, and it does so by enumerating the three metrics an agent will receive. For a read-only, two-parameter tool this is nearly complete; the only gaps are minor presentation details such as currency, units, and yield formatting.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%: slug is documented as the location slug returned by search_locations, and propertyClass carries a full enum. The description's 'one community or area' echoes slug's semantics and 'Optionally filter to one property class' reaffirms the schema's optionality, adding modest confirmation but no new meaning beyond what the schema already provides.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description opens with a specific verb and resource, 'Compare buying vs renting in one community or area,' and enumerates the exact metrics computed: 12-month weighted median sale price, median annual rent, and implied gross rental yield. Among the siblings (get_market_overview, get_price_history, rank_communities, etc.), this is the only tool producing a buy-vs-rent comparison with rental yield, so it is clearly distinguishable.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description gives clear context: it is scoped to one community or area and optionally filterable to one property class, so an agent knows this is the tool for a localized buy-vs-rent analysis. It stops short of a 5 because it never names alternatives or states when-not-to-use conditions, such as when a broader market overview or price-history trend is the better fit.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_building_statsBuilding statisticsA
Read-only
Inspect

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
buildingSlugYes
communitySlugYes

TDQS

A4.3/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Beyond the readOnlyHint and openWorldHint annotations, the description adds useful conditional behavior: rent statistics are included only when rent contracts can be attributed to the building, and the per-bedroom breakdown appears only when enough contracts resolve a bedroom. This helps the agent set expectations about partial or conditional outputs.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single sentence that front-loads the core purpose and lists the returned metrics efficiently. The conditional rent clauses add necessary nuance without excessive length.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

There is no output schema, so the description serves as the return contract. It enumerates the main data categories and explains conditions under which rent fields are present, which is sufficient for an agent to invoke the tool and interpret results. Minor details like exact date ranges of 'recent' are not specified but do not block correct usage.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema provides only type and length constraints, so the description carries the full burden. It explains that both communitySlug and buildingSlug are required to identify a building and that they come as a pair from search_locations, which is meaningful guidance beyond the bare schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description names a specific resource (a single building) and enumerates the concrete statistics returned: 12-month sales, median price, trend, recent sales, property-type mix, and rent data. It clearly separates this from broader location or market tools by scoping to one building.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides clear usage context by stating that it takes the communitySlug and buildingSlug pair returned by search_locations, establishing both a precondition and an input source. It does not explicitly name alternative tools or when not to use it, but the single-building scope makes the intended context obvious.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_location_statsLocation statisticsA
Read-only
Inspect

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
slugYesLocation slug (community or area) as returned by search_locations
propertyClassNoWhen set, also return the per-bedroom sales breakdown and, where attributable, a per-bedroom rent breakdown with partial-coverage figure (communities only)

TDQS

A4.2/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations only provide readOnlyHint and openWorldHint. The description adds meaningful behavioral detail: partial rent-bedroom coverage, the requirement to report it as approximate using rentBedroomCoveragePct and rentBedroomNote, and the building-level unavailability. No annotation contradiction.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Three sentences: the first front-loads the core return content, the second explains conditional behavior, and the third adds a caveat. No filler or repetition of schema details.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

There is no output schema, so the description carries the return-shape burden; it lists the headline metrics, the property-class mix, and the conditional breakdowns. It also includes reporting instructions and a limitation. Nothing essential for invoking the tool is missing.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so the baseline is 3. The description adds value beyond the schema by clarifying that propertyClass breakdowns apply to communities and by flagging the per-building rent limitation, which helps an agent choose valid parameter values.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description identifies a specific resource ('one community or area slug') and enumerates the headline stats returned, making the tool's purpose unmistakable. It is clear enough to be distinguished from building-specific siblings, but it never explicitly names an alternative tool such as get_building_stats.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

It conveys that the tool is for community/area slugs and warns that per-bedroom rent is not available for a single building, which implies limits. However, it does not explicitly state when to prefer get_location_stats over siblings like get_building_stats or get_market_overview, so routing is left to inference.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_market_overviewDubai market overviewA
Read-only
Inspect

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.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A4.5/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true, so the safety profile is known. The description adds useful behavioral context: a 12-month rolling window, aggregate KPIs, and data freshness, which tells the agent what kind of data to expect without contradicting the annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is two compact sentences with no filler. The first sentence front-loads the metric scope and the second gives actionable usage guidance, so every part earns its place.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With no parameters and no output schema, the description adequately covers what the tool returns and when to call it. It specifies the KPIs, the time window, geographical scope, and data-freshness inclusion, which is enough for an agent to decide and invoke correctly.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The tool has zero parameters, so there are no parameter semantics to clarify. The schema fully covers the parameter surface, and the description's mention of city-wide scope and time window is sufficient contextual orientation.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description names a specific verb and resource ('City-wide Dubai sales KPIs') and enumerates the exact metrics returned. This clearly distinguishes it from location-, building-, and trend-specific sibling tools.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

'Good first call for broad questions' gives clear guidance on when to use the tool. It does not explicitly mention alternatives, but the city-wide scope implies that more specific questions should use sibling tools like get_building_stats or get_location_stats.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_price_historyMonthly price historyA
Read-only
Inspect

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
kindYes'sale' = DLD sales transactions, 'rent' = Ejari rent contracts
slugNoOmit for city-wide history
monthsNo
propertyClassNoProperty class filter

TDQS

A3.8/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true and openWorldHint=false, so the safety profile is covered. The description adds genuinely useful context beyond annotations — the clarification that rent medians are annual contract values in AED/year prevents unit misinterpretation. However, it doesn't disclose response format, data recency, or month coverage, and with no output schema the return shape is left unspecified.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two tight sentences with zero waste. The core data product and scope are front-loaded, and the second sentence earns its place with the critical unit clarification for rent medians. Every word carries information.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a read-only query tool with no output schema, the description covers the essentials: what data is returned, how to scope it, the sale/rent distinction, the optional property-class filter, and units. The main gap is the absence of response-format detail, but the declared outputs (transaction counts and median prices) largely imply the shape, and annotations cover the safety profile.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 75% — kind, slug, and propertyClass are already described, and months carries numeric constraints (default 24, min 3, max 60). The description adds marginal value: the AED/year unit tied to rent kind and the 'one property class' limitation, but it largely restates the schema. The months parameter has no semantic description anywhere.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific data product — monthly transaction counts and median prices — with scope (community/area slug or city-wide), transaction kind (sales/rents), and an optional property-class filter. This is clear and specific enough to convey what the tool does, but it stops short of explicitly distinguishing itself from overlapping siblings like get_market_overview or get_trends_movers.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Provides clear scope conditions: use for a community/area slug or city-wide, for sales or rents, optionally filtered to one property class. The when-to-use context is evident, but there are no explicit exclusions or alternative routing ('use X instead when...'), so an agent must infer when a sibling tool is the better fit.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_ready_vs_offplanReady vs off-plan (secondary market) splitA
Read-only
Inspect

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
slugYesLocation slug (community or area) as returned by search_locations
propertyClassNoProperty class filter

TDQS

A4.1/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true; the description adds the 12-month window, the metrics returned, and a semantic warning not to present off-plan figures as resale/flipping. It does not detail response shape or empty-data behavior, but the key behavioral risk is addressed.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The purpose is front-loaded in the first sentence, and each subsequent sentence adds definitions or usage guidance. It is slightly repetitive around 'ready/resale/secondary-market' but remains dense and relevant.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a read-only tool with no output schema, the description covers scope, time window, metrics, terminology, and an optional filter. It stops short of stating the output structure explicitly beyond 'ready row', but enough is present for correct invocation.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so both slug and propertyClass are already documented. The description repeats the optional property-class filter and the one-community/area scope but adds no syntax or format details beyond the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description names a specific verb and resource: a sales split between secondary/ready and off-plan markets, scoped to one community or area over 12 months, with concrete metrics. It also defines 'ready' and 'off-plan' distinctly, which separates this from siblings like get_market_overview or list_recent_transactions.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

It gives explicit category guidance: flipping/reselling/resale questions should use the ready row rather than off-plan figures. However, it does not name sibling tools or state when to use another tool instead, so it stops short of full alternative routing.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

list_recent_transactionsRecent transactionsA
Read-only
Inspect

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

ParametersJSON Schema
NameRequiredDescriptionDefault
kindYes'sale' = DLD sales transactions, 'rent' = Ejari rent contracts
slugYesLocation slug (community or area) as returned by search_locations
limitNo

TDQS

A3.8/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already indicate readOnlyHint=true, so the description's additional disclosure that these are 'registered' and 'real records' adds useful context about data provenance and ordering beyond the structured annotation. It clarifies that results are factual recent contracts, not estimates or forecasts.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

A single, tightly written sentence front-loads the core purpose and immediately conveys the data source and intended use. There is no redundant phrasing or filler.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple read-only list tool with three parameters and no output schema, the description gives enough context about purpose, data source, and usage intent. It does not describe the return shape, but the absence of an output schema makes that a minor gap given the straightforward nature of the tool.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema already documents 'kind' and 'slug' well, and the description reinforces that 'sale' means DLD sales and 'rent' means Ejari contracts. However, the 'limit' parameter lacks a description in both schema and tool description, so the coverage gap is not fully compensated.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states a specific action and resource: listing the most recent DLD sales or Ejari rent contracts for a location slug. It conveys the factual, record-based nature of the data, which helps separate it from analytic siblings like get_market_overview or get_price_history, though it does not explicitly name a differentiating sibling.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Usage is implied rather than explicit: the phrase 'real records to ground price talk in' suggests when this tool is useful (when concrete recent transactions are needed). However, it does not state when to prefer it over alternatives such as get_price_history or get_market_overview, nor does it give exclusion criteria.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

rank_buildingsRank buildings within a communityA
Read-only
Inspect

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNo
orderYes
metricYes
communitySlugYesCommunity slug from search_locations

TDQS

A4.6/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Beyond the readOnlyHint annotation, the description discloses important behavioral caveats: the 12-month median window, partial rent coverage due to Ejari records lacking building names, and exclusion of buildings with fewer than 5 records. This materially helps the agent set expectations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Three concise sentences with no filler. The core purpose is front-loaded, and each caveat sentence earns its place by explaining data limitations and filtering rules.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The description covers scope, metrics, ordering, and data caveats, which is enough for correct tool selection and invocation. It does not describe the exact return shape, but with no output schema the title and core sentence sufficiently imply a ranked list of buildings.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is only 25%, but the description adds meaning for 'metric' (sale price vs annual rent) and 'order' (cheapest/most expensive). 'communitySlug' is already explained in the schema, while 'limit' remains schema-only, so the compensation is strong but not complete.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific verb ('rank') and resource ('buildings in one community'), and clarifies the exact question it answers: 'cheapest/most expensive buildings in X'. This clearly differentiates it from sibling tools like rank_communities or get_building_stats.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides a clear usage context by mapping the tool to a specific user question. It does not explicitly name alternative tools or state when not to use this tool, so it falls short of a 5.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

rank_communitiesRank communities by price or rentA
Read-only
Inspect

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNo
orderYes
metricYesRank by sale prices or by annual rents
propertyClassNoProperty class filter

TDQS

A4.6/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true, so the safety profile is covered. The description adds valuable behavioral context beyond annotations: the 30+ transaction minimum, the default exclusion of whole-building leases and land deals, and the 12-month median window. These are exactly the kind of filtering behaviors an agent needs to know to interpret results correctly.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two sentences, both dense with useful information. The first sentence front-loads the core purpose and user intents; the second adds the critical filtering caveats. No wasted words, no repetition of schema details.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a read-only ranking tool with no output schema, the description covers the key decision factors: what metric is used, what the default scope is, and the minimum transaction threshold. It doesn't describe the return format or whether results include the median values, but the absence of an output schema and the read-only annotation make this a minor gap rather than a critical one.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 50%, with metric and propertyClass having descriptions. The description adds meaning by explaining the default propertyClass behavior (residential only) and clarifying that metric values map to 'sale prices' or 'annual rents'. It doesn't detail the limit or order parameters, but those are self-explanatory from their names and enums, so the description compensates well for the coverage gap.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific verb ('rank'), a resource ('communities'), and the two ranking metrics (12-month median sale price or median annual rent). It also explicitly ties the tool to user intents like 'cheapest areas' and 'most expensive communities', which makes its purpose unmistakable and distinguishes it from siblings like rank_buildings.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description gives clear context on when to use this tool: when the user wants the direct answer to cheapest/most expensive/most affordable areas. It also explains the default behavior (residential classes only without propertyClass filter) and the 30+ transaction threshold, which helps an agent decide whether this tool is appropriate versus alternatives like get_market_overview or rank_buildings.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

search_locationsSearch locationsA
Read-only
Inspect

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
kindNoRestrict results to one kind
queryYesLocation name to search for

TDQS

A4.4/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true and openWorldHint=false, covering the safety profile. The description adds valuable behavioral context: it returns canonical slugs and is the mandatory first step before sibling tools, which is meaningful beyond the structured fields.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two dense sentences with no filler. The core action and output are front-loaded, and the critical usage rule is delivered in the second sentence. Every word earns its place.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple, read-only resolver, the description covers purpose, outputs, and usage sequencing. While there is no output schema and the description does not address ambiguity or empty-result behavior, the canonical-slug statement and strong usage rule make this adequately complete for an agent.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, with both 'query' and 'kind' already documented. The description adds the 'free-text' notion and clarifies that output feeds other tools, but it mostly restates the enum values from the schema rather than adding deep new parameter semantics.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description uses a specific verb ('Resolve') and resource ('free-text Dubai location name ... to canonical slugs'), clearly distinguishing this lookup tool from the analytics siblings. It also states the exact role of the tool in the workflow, so an agent can identify it instantly.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

It explicitly instructs 'Always call this first when the user names a place' and explains that other tools depend on the returned slugs. This gives a strong, unambiguous usage rule and implies when not to use it (for analytics directly).

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

  1. 11 tool updates
    • First observedcompare_buy_vs_rent
    • First observedget_building_stats
    • First observedget_location_stats
    • First observedget_market_overview
    • First observedget_price_history
    • First observedget_ready_vs_offplan
    • First observedget_trends_movers
    • First observedlist_recent_transactions
    • First observedrank_buildings
    • First observedrank_communities
    • First observedsearch_locations

Related MCP Connectors

Related MCP Servers

  • A
    license
    A
    quality
    C
    maintenance
    Enables querying 1.6M+ Dubai Land Department sales transactions and 9.5M+ Ejari rental contracts with flexible filters by area, property type, bedrooms, and date range.
    1
    1
    MIT
  • A
    license
    Not graded
    quality
    C
    maintenance
    Enables querying Dubai real-estate data from the Dubai Land Department, including property transactions, rental contracts, valuations, development projects, land parcels, buildings, and licensed broker/developer registers.
    MIT
  • A
    license
    A
    quality
    D
    maintenance
    Search comparable property sales across 16 global markets with 43M+ government-sourced transactions. Tools: search comps by location, get area statistics and trends, list available markets. Covers UK, France, Singapore, NYC, Chicago, Dubai, and 10 more cities.
    3
    4
    MIT
  • A
    license
    Not graded
    quality
    C
    maintenance
    Access 17M+ geocoded French property transactions (DVF), 22M+ DPE energy ratings, and 20M+ building records via MCP or REST API. Search transactions, market stats, comparables, price trends, rental yield, flip detection, and more.
    MIT
Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources