Dubai Diligence
Server Details
Dubai Land Department prices, rents and yields by building, with ready and off-plan split out.
- Status
- Healthy
- Uptime
- 100.0% over 25 days
- Last Tested
- Transport
- Streamable HTTP · MCP 2025-11-25
- URL
- Repository
- stevenworlow/dubai-diligence-mcp
- GitHub Stars
- 0
- ChatGPT
- –
- Claude
- –
TDQS
Scored across 7 tools
The six analytical tools are mostly distinct, but chat_dld_ask is a catch-all that can answer the same DLD price, broker, and yield questions as the specialized tools. Community prices, price split, and compare areas also overlap on median price metrics, though descriptions help routing.
All names use snake_case and most carry a dubai_ prefix, but the patterns vary: action-first (chat_dld_ask, dubai_compare_areas), noun-first (dubai_community_prices, dubai_price_split), and noun+verb (dubai_broker_check). Readable but not a predictable verb_noun convention.
Seven tools is well within the appropriate range for a focused Dubai property-data server; each covers a specific analytical mode (broker, community, compare, index, split, yields, Q&A). No padding or extreme breadth.
The set covers key diligence workflows: broker licence checks, community pricing, comparisons, price index, ready/off-plan split, and yield rankings, with chat_dld_ask as a fallback for free-form DLD queries. Gaps remain for property-level or transaction-level lookup and community discovery, but the catch-all tool provides a workaround.
Available Tools
7 toolschat_dld_askChat DLDARead-onlyInspect
Ask Chat DLD a question in plain English and get its answer, exactly as dubaidiligence.com/chat gives it: Dubai Land Department records only, sourced, and a refusal rather than a guess when the records cannot answer. Pass back the pending value from the previous answer to continue a multi-step question such as a valuation.
| Name | Required | Description | Default |
|---|---|---|---|
| pending | No | The `pending` object from the previous answer, when there was one. | |
| question | Yes | The question, up to 500 characters. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, yet the description adds real behavioral context: answers are sourced, and the tool refuses rather than guesses when records are insufficient. It also explains the stateful continuation mechanism, which annotations cannot convey. Return format details are lightly implied but not fully spelled out.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, front-loaded with the core action and scope, then the continuation mechanic. Dense but every clause (records-only, sourced, refusal, pending) carries distinct information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a 2-parameter tool with a nested `pending` object and no output schema, the description covers what the tool returns (an answer plus a possible `pending`), its sourcing discipline, and its failure mode. Only the exact response shape is left implicit.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so both parameters are already documented; the description adds meaning by explaining that `pending` is the value carried over from a prior answer to continue multi-step questions. It exceeds the baseline without documenting the nested object's internal shape.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a concrete verb + resource ('Ask Chat DLD a question... and get its answer') and pins the scope to Dubai Land Department records, which separates it from the narrower sibling data tools. It stops short of naming a sibling as the alternative, so it is clear rather than fully differentiated.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It gives a clear triggering context (plain-English questions about DLD records) and an explicit multi-step case: pass the previous `pending` value to continue a question such as a valuation. No exclusions or named alternatives are given, so it is context without routing.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
dubai_broker_checkCheck a Dubai broker on the registerBInspect
Whether a named broker currently holds a licence on the Dubai Land Department register, their broker number, their company, and how many transactions the register attributes to them. A transaction count is a record of what the register attributes, not a measure of anyone: it is blank for the newly licensed and for anyone transacting under a colleague's number.
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes | The broker's name as it appears on their licence. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full behavioral burden. It does disclose the return fields and adds a genuine caveat about how to read the transaction count, which is real transparency. It is silent, however, on what happens when the name is not found, whether matching is exact or fuzzy, and whether the lookup is case- or spelling-sensitive.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, front-loaded with the tool's scope. The second sentence is slightly expansive but earns its place by pre-empting a likely misinterpretation of the transaction count.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema and no annotations, the description must carry the return and edge-case load. It partially does so by listing the reported fields, but leaves the not-found/not-licensed outcome and name-matching rules unstated for a one-parameter lookup tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% and there is a single required parameter, so the baseline of 3 applies. The description adds nothing about name-matching behavior (exact string, aliases, transliteration) beyond the schema's note that the name is as it appears on the licence.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a specific resource (Dubai Land Department broker register) and enumerates exactly what the tool reports: licence status, broker number, company, and attributed transaction count. It is plainly distinguishable from its siblings, all of which are market-price tools, though it never explicitly names an alternative.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is implied by the licence-verification framing, and the closing note usefully warns that transaction counts are blank for newly licensed brokers and for those transacting under a colleague's number. There is no explicit statement of when to reach for this tool versus a sibling, nor of prerequisites such as exact-name requirements.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
dubai_community_pricesRegistered prices for a Dubai communityAInspect
Median registered price per square foot, registered home sales over 12 months, off-plan share and gross rental yield for a named Dubai community, from the Dubai Land Department record. Homes only: excludes land, whole buildings, offices, shops and hotel inventory. Sales only: excludes mortgage and gift registrations.
| Name | Required | Description | Default |
|---|---|---|---|
| community | Yes | Community name, for example 'Dubai Marina', 'Jumeirah Village Circle', 'Business Bay'. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It discloses the data source (DLD), the exact metric set, the category exclusions (land, buildings, offices, shops, hotel inventory; mortgage/gift registrations), and the 12-month window. It does not state update recency, geographic granularity within a community, or handling of missing data, so it falls short of full transparency.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three tight sentences, front-loaded with the core purpose, followed by two scoping clauses. Every phrase earns its place and there is no filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a read-only lookup tool with one parameter and no output schema, the description covers scope, source, metrics, and exclusions adequately. It could be improved with a note on update frequency or expected return format, but nothing critical to correct invocation is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% and the single parameter is already documented with example values. The description adds no syntax, format, or validation detail beyond what the schema provides, so it meets the baseline where the schema does the heavy lifting.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific resource (registered prices for a named Dubai community) with the exact metrics returned (median price/sqft, sales volume, off-plan share, gross rental yield) and the authoritative source (Dubai Land Department). The scoping clauses distinguish it from siblings like dubai_house_price_index and dubai_top_yields.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The exclusions ('Homes only', 'Sales only') implicitly define when the data is applicable versus when a different tool (e.g., a commercial or index tool) would be needed. However, it does not name a specific sibling or state an explicit 'use X instead when...' condition.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
dubai_compare_areasCompare Dubai communities side by sideAInspect
Compare two or more Dubai communities on median registered price per square foot, registered sales volume, gross rental yield from registered Ejari rents, and off-plan share. All figures from the Dubai Land Department record, homes only.
| Name | Required | Description | Default |
|---|---|---|---|
| communities | Yes | Two to six community names, for example ['Dubai Marina','Business Bay','Jumeirah Village Circle']. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden. It usefully discloses data provenance (Dubai Land Department registered record), that yields are derived from registered Ejari rents, and that scope is homes only — real behavioral context. However, it says nothing about the time window of the figures, whether the data is cached or freshly queried, or how unknown community names are handled.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two dense sentences, front-loaded with the comparison action before the metric list, and the final clause pins down source and scope. No filler or repetition.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema and no annotations, the description compensates by naming the four returned metrics, which is genuinely useful. The significant remaining gap is the reference period for these figures (trailing 12 months? calendar year?), which an agent needs to interpret a price or yield comparison correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% and the single parameter is already well documented (two to six names, with examples), so the baseline of 3 applies. The description's 'two or more' loosely restates the schema's 'Two to six' without adding format, validation, or matching semantics (e.g. how fuzzy name matching works).
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb (compare) and resource (Dubai communities) and enumerates the exact dimensions compared: median registered price per square foot, sales volume, gross rental yield from Ejari rents, and off-plan share. This clearly separates it from siblings like dubai_community_prices or dubai_top_yields, which cover single communities or a single metric.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The plural 'two or more communities' implies the multi-entity comparison context, but there is no explicit when-to-use guidance and no named alternative (e.g. use dubai_community_prices for a single community). Usage is inferable rather than stated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
dubai_house_price_indexThe Dubai Diligence IndexAInspect
The current reading of the Dubai Diligence Index, a mix-adjusted monthly house price index for Dubai computed from registered Dubai Land Department sales. Base 2023 = 100. Returns the latest value, change on the month and year, distance from peak, and the last 24 months of the series.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden and does so well: it discloses the data provenance (registered DLD sales), the adjustment method (mix-adjusted), the index base, and the exact return payload (latest value, MoM and YoY change, distance from peak, 24-month series). It does not cover freshness/publishing cadence or any access constraints, which keeps it short of a 5.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single sentence that is front-loaded with the tool's identity and then layers in method, base, and return contents. Every clause carries information an agent needs; nothing is padding.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description must describe return values and it does so comprehensively, covering all four stat fields plus the 24-month series. The only gap is update cadence/recency (monthly is implied but never stated), and no parameters exist to leave undocumented.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool takes zero parameters, so the baseline is 4. The description correctly introduces no parameter-level detail because there is nothing to parameterize — it is a fixed, no-argument index read.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a specific resource (the Dubai Diligence Index), defines exactly what it measures (a mix-adjusted monthly house price index for Dubai built from registered Dubai Land Department sales), and states its base (2023 = 100). Describing it as a city-wide index distinguishes it implicitly from area-level siblings like dubai_community_prices and dubai_compare_areas.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is implied rather than stated: an agent can infer this is the market-level snapshot tool, contrasting with the per-area and per-broker siblings, but the description never says when to choose it or when another sibling is preferable. No exclusions, prerequisites, or alternative routing are given.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
dubai_price_splitReady vs off-plan, apartment vs villa, for a Dubai communityAInspect
The median registered price per square foot in a Dubai community SPLIT by whether the home was ready or off-plan, and by whether it is an apartment or a villa. Use this instead of a single median whenever the question is what something costs to buy, because 74% of Dubai home sales are off-plan and a blended figure is therefore mostly an off-plan price: on Palm Jumeirah the blend is about 3,645 AED/sqft against a ready market near 2,790 and an off-plan market near 5,483. PropertyIndex publishes an off-plan to ready ratio behind a paid tier; this returns the actual prices on both sides, free.
| Name | Required | Description | Default |
|---|---|---|---|
| community | Yes | Community name, for example 'Palm Jumeirah', 'Dubai Marina'. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden and does useful work: it discloses the data source (registered prices, PropertyIndex-derived), that a comparable off-plan-to-ready ratio sits behind a paid tier while this returns both sides free, and even shows that the split yields materially different figures (3,645 blend vs 2,790 ready vs 5,483 off-plan). It does not mention authentication, rate limits, or whether the split can return empty buckets for communities lacking segment data.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Front-loaded with the output definition, then the usage rule, then the supporting evidence. The Palm Jumeirah numbers are somewhat verbose but are doing real work by demonstrating why the split matters rather than padding.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a single-parameter tool with no output schema and no annotations, the description covers what is computed, how it is segmented, when to prefer it, and what form the answer takes (prices on both sides rather than a ratio). Nothing material is left unanswered for an agent deciding whether and how to call it.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% for the single 'community' parameter, so the schema already documents its meaning and format. The description's example communities ('Palm Jumeirah') echo rather than extend that, so baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific computation (median registered price per square foot) and its exact segmentation (ready vs off-plan, apartment vs villa), which tells the agent precisely what resource is being returned. It implicitly distinguishes itself from the 'single median' sibling but never names dubai_community_prices or another sibling tool, so differentiation requires inference.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Clear positive guidance: use this instead of a single median whenever the question is what something costs to buy, with a concrete rationale (74% of sales are off-plan, so a blend is misleading). It gives no explicit when-not conditions or named alternatives, but the decision context is well specified.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
dubai_top_yieldsHighest gross rental yields in DubaiAInspect
Dubai communities ranked by gross rental yield, computed from registered Ejari rent contracts against registered sale prices. Takes a minimum number of 12-month sales so a thin market cannot top the list.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | How many communities to return. Default 10, maximum 50. | |
| min_sales_12m | No | Minimum registered home sales in the last 12 months. Default 300. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden and does disclose meaningful behavior: the data provenance (Ejari rent contracts against registered sale prices) and the guardrail that a minimum sales volume prevents thin markets from topping the list. It omits sort direction, whether results are capped by market coverage, and any auth or rate-limit notes, keeping it short of a 5.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two tightly written sentences, front-loaded with the tool's identity and then the methodology/guardrail. Nothing is redundant and every clause earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a two-parameter, no-output-schema ranking tool, the description covers purpose, computation, and the rationale for the key filter. It lacks detail on return fields or sort order, but those gaps are minor and largely inferable from 'ranked by'.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the baseline is 3, but the description adds genuine meaning for min_sales_12m by explaining its purpose ('so a thin market cannot top the list'), which is more than the schema's bare definition. The limit parameter receives no additional context.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a specific output (Dubai communities ranked by gross rental yield) and the methodology behind it (registered Ejari rent contracts vs. registered sale prices), which clearly separates it from siblings like dubai_community_prices or dubai_price_split. It stops short of explicitly naming the alternative tools, but the resource and verb are unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no statement of when to choose this tool over dubai_community_prices or dubai_compare_areas, and no prerequisites or exclusions are given. The ranking intent is implied only by the phrase 'ranked by gross rental yield'.
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 tool update
- Added
chat_dld_ask
6 tool updates
- First observed
dubai_broker_check - First observed
dubai_community_prices - First observed
dubai_compare_areas - First observed
dubai_house_price_index - First observed
dubai_price_split - First observed
dubai_top_yields
Related MCP Connectors
Registered Dubai apartment prices, rents, gross yields and returns, by building and by area.
Dubai property prices, AED/sqft, sales, rents, yields and projects from DLD registered transactions.
Dubai property market figures from official DLD open data: prices, rents, yields, monthly reports.
Official Dubai real estate data: live prices and rental yields by area, from the DLD.
Related MCP Servers
- AlicenseAqualityCmaintenanceEnables 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.134 PyPI1MIT
- AlicenseNot gradedqualityBmaintenanceEnables 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.11 npm1MIT
- AlicenseNot gradedqualityDmaintenanceSubmarket-level US residential rental intelligence for AI agents. Search, compare, rank, and analyze rent data, trends, vacancy, affordability, and days on market across 1,000+ named submarkets in the 20+ largest US metros. ZIP-level and metro-level queries included. Always current, always expanding. Free tier available.1MIT
- AlicenseAqualityCmaintenanceEnables AI agents to compute Dubai Land Department transaction fees, rental yields, Central Bank mortgage and LTV limits, and Golden Visa eligibility thresholds, while querying curated off-plan developments and district price benchmarks. It exposes these as deterministic MCP tools, resources, and prompt templates over stdio transport.5MIT
Glama MCP Gateway
Add one secure layer between your agents and this server.