Palmera property catalog
Server Details
Off-plan and ready property in the UAE, Oman, Georgia, Cyprus, Bali, Thailand and London.
- Status
- Healthy
- Last Tested
- Transport
- Streamable HTTP · MCP 2025-11-25
- URL
TDQS
Scored across 4 tools
Each tool has a clearly distinct role: search_projects finds compact results, get_project returns full detail for one project, and the two list tools enumerate different taxonomy facets. The descriptions explicitly explain when to use search versus get_project, so an agent can tell them apart.
All names follow a consistent snake_case verb_noun pattern: get_project, list_areas, list_developers, search_projects. There is no mixing of conventions or vague verbs.
Four tools is a well-scoped set for a read-only property catalog: one search entry point, one detail retrieval, and two facet-listing helpers. Each tool earns its place without redundancy.
The surface covers the core catalog workflow: discover areas/developers, search projects with filters, and fetch full project content. Minor gaps exist, such as no dedicated country list or area/developer detail tool, but agents can work around these through search filters and list outputs.
Available Tools
4 toolsget_projectGet projectARead-onlyIdempotentInspect
Full published content for one project: description, unit types, payment plan, amenities, FAQs, images and the canonical page URL. Pass lang to get one language instead of all of them.
| Name | Required | Description | Default |
|---|---|---|---|
| lang | No | Two-letter code, e.g. "ko". Omit for every language. | |
| slug | Yes | Project slug from search_projects, e.g. "arche-residences" |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly, idempotent, closed-world, non-destructive, so the safety profile is covered. The description adds real behavioral context beyond them: only *published* content is returned (drafts excluded), and the default is all languages unless `lang` narrows it. It does not cover pagination or payload size, 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 sentences, zero waste, and the most decision-relevant fact (what you get back) is front-loaded before the optional-language note.
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 compensates by enumerating the returned fields, and annotations carry the safety profile. An agent has everything needed to decide to call it and what to expect.
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%, so both `slug` and `lang` are already documented with examples and the omit-for-all-languages default. The description restates the lang behavior without adding format or edge-case detail, so the 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?
States a specific verb ('Full published content for one project') and enumerates exactly what is returned: description, unit types, payment plan, amenities, FAQs, images, canonical URL. This is clearly distinguishable from the list/search siblings by being a single-project detail fetch.
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: the tool is for retrieving full detail of one project given a slug. The only explicit guidance is 'Pass `lang` to get one language instead of all of them', which is a parameter behavior, not a when-to-use rule. No mention of when to prefer search_projects or how to obtain the slug (that hint lives in the schema).
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_areasList areasBRead-onlyIdempotentInspect
Areas with published projects, and how many each has. Use the slug to filter search_projects.
| Name | Required | Description | Default |
|---|---|---|---|
| country | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The annotations already establish that this is a read-only, idempotent, non-destructive, closed-world operation. The description adds that only areas with published projects are included and that counts are returned, but it does not mention ordering, pagination, or how the optional country filter affects results.
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?
The description is compact, front-loaded, and makes every sentence useful. The fragment style is slightly informal but does not impede understanding.
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 simple list endpoint with no output schema, the description adequately conveys the main return content (areas, published project counts, slug). However, it leaves the optional country filter unexplained and provides no detail on ordering or result scope.
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 input schema has one optional country parameter with an enum and 0% schema description coverage. The description never explains the country parameter; its only parameter-like reference ('slug') appears to describe a return value used by search_projects, not an input.
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 clearly identifies the resource (areas) and what it contains (published projects and their counts), and it names the downstream sibling search_projects. It lacks an explicit verb such as 'list' and does not specify whether all areas are returned or only those matching a country.
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 implies a discovery-then-search workflow by saying to use the slug to filter search_projects. However, it does not state when to call this tool versus get_project, list_developers, or search_projects, nor does it set any exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_developersList developersBRead-onlyIdempotentInspect
Developers with published projects, and how many each has. Use the slug to filter search_projects.
| Name | Required | Description | Default |
|---|---|---|---|
| country | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, and destructiveHint=false, so the safety profile is covered. The description adds useful return content (developers with published projects and counts) and follow-up routing, but does not mention filtering by country, ordering, pagination, or the exact return shape.
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?
The description is two short sentences with the return content front-loaded and no filler. The second sentence is useful for downstream routing but is somewhat ambiguous because it references a slug that is not present in the input schema.
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?
This is a simple read-only tool with annotations covering safety, and the description explains the core return content. However, it omits the country filter and does not fully describe the return structure despite there being no output schema. It is adequate but incomplete.
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 0%, and the single country enum parameter is never explained in the description. The description instead mentions a slug that is not an input parameter, which could mislead an agent about the tool's arguments. The enum values and parameter name are somewhat self-explanatory, but the description does not compensate for the missing schema documentation.
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 the resource (developers with published projects) and an included metric (how many each has), while the title supplies the verb. It also distinguishes the result from search_projects by explaining how the returned slug is used there. The purpose is clear, though the country filter is not mentioned.
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 only usage guidance is downstream: use the slug to filter search_projects. It does not explain when to call list_developers instead of search_projects, get_project, or list_areas, nor does it mention when to use the optional country filter.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_projectsSearch projectsARead-onlyIdempotentInspect
Find off-plan and ready projects in the Palmera catalog by country, area, developer, bedrooms, price and completion status. Returns a compact list with a canonical URL for each result; call get_project for the full content of one.
| Name | Required | Description | Default |
|---|---|---|---|
| q | No | Free text matched against project and developer name | |
| area | No | Area slug, e.g. "dubai-south" or "jumeirah-village-circle" | |
| city | No | City or emirate slug, e.g. "dubai", "abu-dhabi", "ras-al-khaimah", "sharjah", "london", "bali" | |
| limit | No | ||
| country | No | ae = UAE, om = Oman, ge = Georgia, cy = Cyprus, sa = Saudi Arabia, id = Indonesia (Bali), th = Thailand, gb = United Kingdom | |
| developer | No | Developer slug, e.g. "evera-development" | |
| bedroomsMax | No | ||
| bedroomsMin | No | ||
| maxPriceAed | No | Entry price ceiling in AED | |
| completionStatus | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly=true, idempotent=true, openWorld=false, so the safety profile is covered. The description adds the useful return shape ("compact list with a canonical URL"), but says nothing about default page size, whether results are truncated, or how the limit interacts with a large result set.
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, no waste, with the capability statement front-loaded and the hand-off to get_project trailing. Every clause carries 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 10-parameter, zero-required search tool with no output schema, the description covers what the tool returns and how to drill down, which is the core need. The remaining gaps are pagination behavior and slug discovery, minor but real for a search endpoint.
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 60%, and the description's facet list (country, area, developer, bedrooms, price, completion status) mirrors the well-documented parameters rather than adding syntax or format meaning. The two least-documented parameters, q and limit, are not mentioned at all in the description.
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?
Specific verb ("Find") plus a precise resource ("off-plan and ready projects in the Palmera catalog") and an enumeration of the filterable facets. It explicitly distinguishes itself from get_project, so an agent can route between search and detail without opening either schema.
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 description gives an explicit escalation path: "call get_project for the full content of one," which tells the agent when search is insufficient. It stops short of naming list_areas and list_developers as the way to obtain valid slug values, which are the other sibling relationships an agent would need.
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.
4 tool updates
- First observed
get_project - First observed
list_areas - First observed
list_developers - First observed
search_projects
Related MCP Connectors
New-build and off-plan property in Oman: projects by area, developer, bedrooms and budget in OMR.
Find UAE off-plan developments and registered residential sales.
Residency programmes, golden visas, second passports and citizenship by investment in 80+ countries
- RealtonOAuthai.realton
Off-plan real estate catalog in five markets and an agency's CRM, for real estate agents' AI.
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.151 PyPI1MIT

Evlek — Northern Cyprusofficial
AlicenseAqualityAmaintenanceAI-native property MCP for Northern Cyprus (KKTC). Search live listings, get the price index, compare cities and districts, estimate rental yield, and look up KKTC title-deed (koçan) procedures — all sourced live from evlek.app.1220 npmMIT- 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
- 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.290 npm1MIT
Glama MCP Gateway
Add one secure layer between your agents and this server.