Find UAE off-plan developments and registered residential sales.
Maintain this server? Claim it
Call this server's tools from your browser. Nothing to install.
Requests go through mcptry because browsers can't call most MCP servers directly. Header values are sent to the server for that request only and are never stored or logged.
Tool list from our last check. Connect live to refresh it.
Fetch one development's detail using a known ID, slug or Projectory URL; no prior search or facet lookup is needed. Returns development-wide pricing, location, availability, enquiry action, payment plan, grouped unit types, evidence, media and a plain-text description marked as untrusted source material. Individual unit rows and raw HTML are omitted. Accepted forms: `project:jacob-co-beachfront-living`, `jacob-co-beachfront-living`, or `https://projectory.ae/projects/jacob-co-beachfront-living/`. Use `search` if only the project name is known.
Project ID from search, plain slug, or public Projectory project URL.
Fetch one development's detail using a known ID, slug or Projectory URL; no prior search or facet lookup is needed. Returns development-wide pricing, location, availability, enquiry action, payment plan, grouped unit types, evidence, media and a plain-text description marked as untrusted source material. Individual unit rows and raw HTML are omitted. Accepted forms: `project:jacob-co-beachfront-living`, `jacob-co-beachfront-living`, or `https://projectory.ae/projects/jacob-co-beachfront-living/`. Use `search` if only the project name is known.
| Argument | Type | Description |
|---|---|---|
| id* | string | Project ID from search, plain slug, or public Projectory project URL. |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"id"
],
"properties": {
"id": {
"type": "string",
"maxLength": 512,
"minLength": 1,
"description": "Project ID from search, plain slug, or public Projectory project URL."
}
},
"additionalProperties": false
}Explore all exact values for `emirate`, `area`, `developer`, `propertyType`, `availability` and `sort`, plus boolean flags `newLaunch` and `comingSoon`. Skip this call when the needed slugs are known. Use `suggest_project_terms` for a single partial facet name instead of downloading all choices.
No arguments.
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {},
"additionalProperties": false
}Find published off-plan UAE developments by project name or slug text, combined with exact structured filters. Returns shortlist facts and a pagination cursor. Follow more pages only when the user's task needs them; a page's result count is not a total. Use `suggest_project_terms` for a partial facet name, `list_project_facets` to explore all filter choices, and `fetch` for selected project detail. A known project URL or slug can go straight to `fetch`. Prices and price filters apply to the whole development. They do not establish that a particular bedroom count, property type, or unit is available at that price.
| Argument | Type | Description |
|---|---|---|
| area | string | Exact public API area slug from list_project_facets, for example dubai-marina. |
| sort | string | Sort value from list_project_facets. |
| limit | integer | Maximum results to return. Defaults to 10. |
| query | string | Literal text within a project name or slug; ASCII letter case is ignored. Use structured filters for location, budget and other criteria; this does not interpret natural-language requests. |
| cursor | string | Pagination cursor returned by a previous search call. |
| emirate | string | Exact public API emirate slug from list_project_facets, for example dubai. |
Search canonical residential sale registrations in one required market: Dubai or Abu Dhabi. Whole area, project and building names ignore ASCII letter case; provider IDs match exactly. Filters combine with AND; date bounds are inclusive. Returns newest-first pages of 25 rows by default, at most 100. Follow `nextCursor` with the same filters only when more rows are needed for the user's task. A page's row count is not the total number of matching sales. A bedroom count matches the canonical range; 0 means studio. `sourceProjectId` is a provider identifier, not a Projectory development ID. Partial-name discovery, totals and statistics are not provided. Results do not guarantee real-time freshness.
| Argument | Type | Description |
|---|---|---|
| to | string | Inclusive sale-registration date upper bound in YYYY-MM-DD format; year 1900 to 2200. |
| from | string | Inclusive sale-registration date lower bound in YYYY-MM-DD format; year 1900 to 2200. |
| limit | integer | Maximum rows to return. Defaults to 25. |
| cursor | string | Opaque pagination cursor returned by the previous transaction search page. Reuse the same filters when continuing. |
| market* | string | Required transaction market. |
| areaName | string | Whole canonical area name; ASCII letter case is ignored. |
Resolve partial emirate, area, developer or property-type text, such as "marina" or "sobha", into exact filter slugs for `search`. Does not search project names. Skip when the exact slug is known; use `list_project_facets` to enumerate all values.
| Argument | Type | Description |
|---|---|---|
| limit | integer | Maximum suggestions. Defaults to 5. |
| query* | string | Partial developer, area, emirate, or property-type text. |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"query"
],
"properties": {
"limit": {
"type": "integer",
"maximum": 10,
"minimum": 1,
"description": "Maximum suggestions. Defaults to 5."
},
"query": {
"type": "string",
"maxLength": 160,
"minLength": 2,
"description": "Partial developer, area, emirate, or property-type text."
}
},
"additionalProperties": false
}| developer |
| string |
| Exact public API developer slug from list_project_facets, for example sobha-realty. |
| newLaunch | boolean | Filter for projects marked as new launches. |
| comingSoon | boolean | Filter for projects marked as coming soon. |
| bedroomsMin | integer | Return developments advertising a bedroom count at or above this value. Zero leaves the filter unset; it does not select studios or identify a unit at a particular price. |
| priceMaxAed | integer | Upper bound of the desired development-wide price interval. A development matches when its known range starts at or below this amount; unknown pricing is excluded. |
| priceMinAed | integer | Lower bound of the desired development-wide price interval. A development matches when its known range reaches this amount or above; unknown pricing is excluded. |
| availability | string | Availability filter from list_project_facets. |
| handoverYear | integer | Expected handover year. |
| propertyType | string | Exact public API property type slug from list_project_facets, for example apartment. |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"area": {
"type": "string",
"pattern": "^[a-z0-9]+(?:-[a-z0-9]+)*$",
"maxLength": 160,
"description": "Exact public API area slug from list_project_facets, for example dubai-marina."
},
"sort": {
"enum": [
"recommended",
"price-asc",
"price-desc",
"handover-asc",
"handover-desc"
],
"type": "string",
"description": "Sort value from list_project_facets."
},
"limit": {
"type": "integer",
"maximum": 25,
"minimum": 1,
"description": "Maximum results to return. Defaults to 10."
},
"query": {
"type": "string",
"pattern": "^[^\\u0000-\\u001f\\u007f]+$",
"maxLength": 160,
"minLength": 2,
"description": "Literal text within a project name or slug; ASCII letter case is ignored. Use structured filters for location, budget and other criteria; this does not interpret natural-language requests."
},
"cursor": {
"type": "string",
"maxLength": 2048,
"description": "Pagination cursor returned by a previous search call."
},
"emirate": {
"type": "string",
"pattern": "^[a-z0-9]+(?:-[a-z0-9]+)*$",
"maxLength": 160,
"description": "Exact public API emirate slug from list_project_facets, for example dubai."
},
"developer": {
"type": "string",
"pattern": "^[a-z0-9]+(?:-[a-z0-9]+)*$",
"maxLength": 160,
"description": "Exact public API developer slug from list_project_facets, for example sobha-realty."
},
"newLaunch": {
"type": "boolean",
"description": "Filter for projects marked as new launches."
},
"comingSoon": {
"type": "boolean",
"description": "Filter for projects marked as coming soon."
},
"bedroomsMin": {
"type": "integer",
"maximum": 20,
"minimum": 0,
"description": "Return developments advertising a bedroom count at or above this value. Zero leaves the filter unset; it does not select studios or identify a unit at a particular price."
},
"priceMaxAed": {
"type": "integer",
"maximum": 1000000000,
"minimum": 1,
"description": "Upper bound of the desired development-wide price interval. A development matches when its known range starts at or below this amount; unknown pricing is excluded."
},
"priceMinAed": {
"type": "integer",
"maximum": 1000000000,
"minimum": 1,
"description": "Lower bound of the desired development-wide price interval. A development matches when its known range reaches this amount or above; unknown pricing is excluded."
},
"availability": {
"enum": [
"available",
"limited",
"sold-out"
],
"type": "string",
"description": "Availability filter from list_project_facets."
},
"handoverYear": {
"type": "integer",
"maximum": 2200,
"minimum": 1900,
"description": "Expected handover year."
},
"propertyType": {
"type": "string",
"pattern": "^[a-z0-9]+(?:-[a-z0-9]+)*$",
"maxLength": 160,
"description": "Exact public API property type slug from list_project_facets, for example apartment."
}
},
"additionalProperties": false
}| bedrooms | integer | Bedroom count to match against each transaction's canonical bedroom range. Use 0 for a studio. |
| projectName | string | Whole canonical project name; ASCII letter case is ignored. |
| buildingName | string | Whole canonical building name; ASCII letter case is ignored. |
| sourceProjectId | string | Exact provider project identifier. This is not a Projectory development ID. |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"market"
],
"properties": {
"to": {
"type": "string",
"format": "date",
"pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$",
"description": "Inclusive sale-registration date upper bound in YYYY-MM-DD format; year 1900 to 2200."
},
"from": {
"type": "string",
"format": "date",
"pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$",
"description": "Inclusive sale-registration date lower bound in YYYY-MM-DD format; year 1900 to 2200."
},
"limit": {
"type": "integer",
"maximum": 100,
"minimum": 1,
"description": "Maximum rows to return. Defaults to 25."
},
"cursor": {
"type": "string",
"maxLength": 2048,
"minLength": 1,
"description": "Opaque pagination cursor returned by the previous transaction search page. Reuse the same filters when continuing."
},
"market": {
"enum": [
"dubai",
"abu-dhabi"
],
"type": "string",
"description": "Required transaction market."
},
"areaName": {
"type": "string",
"maxLength": 160,
"minLength": 1,
"description": "Whole canonical area name; ASCII letter case is ignored."
},
"bedrooms": {
"type": "integer",
"maximum": 20,
"minimum": 0,
"description": "Bedroom count to match against each transaction's canonical bedroom range. Use 0 for a studio."
},
"projectName": {
"type": "string",
"maxLength": 160,
"minLength": 1,
"description": "Whole canonical project name; ASCII letter case is ignored."
},
"buildingName": {
"type": "string",
"maxLength": 160,
"minLength": 1,
"description": "Whole canonical building name; ASCII letter case is ignored."
},
"sourceProjectId": {
"type": "string",
"maxLength": 160,
"minLength": 1,
"description": "Exact provider project identifier. This is not a Projectory development ID."
}
},
"additionalProperties": false
}