Skip to main content

DLD MCP Server

MCP server (local stdio or remote HTTP) for querying Dubai property sales transactions and rental contracts through OfferBrief.

The server uses MCP Python SDK v2 and supports the MCP 2026-07-28 protocol.

Installation

Run the published package directly:

uvx dld-mcp

Setup

Claude Code:

claude mcp add dld -- uvx dld-mcp

Claude Desktop:

{
  "mcpServers": {
    "dld": {
      "command": "uvx",
      "args": ["dld-mcp"]
    }
  }
}

Add that entry to ~/Library/Application Support/Claude/claude_desktop_config.json on macOS.

Remote (no install): add https://offerbrief.com/mcp as a custom connector in Claude or ChatGPT, or

claude mcp add --transport http dld https://offerbrief.com/mcp

Self-hosting the HTTP endpoint:

uvx dld-mcp --http --port 8765 --public-host example.com

It listens on 127.0.0.1 (put a TLS reverse proxy in front), is stateless, and rejects Host and Origin headers other than localhost and --public-host.

Tool

query_dld accepts:

Parameter Allowed values Default
area Area or building name, at least 2 non-whitespace characters Required
type sales, rentals sales
property_type all, apartment, villa, townhouse all
bedrooms all, studio, 1, 2, 3, 4, 5, 5+ all
date_from A real date in YYYY-MM-DD format OfferBrief default
date_to A real date in YYYY-MM-DD format OfferBrief default
metric stats, count, list stats
limit Integer from 1 through 50 10

bedrooms is supported only for sales: DLD's current rental feed has no bedroom data. date_from cannot be later than date_to. The default window is the last 12 months.

Examples:

query_dld(area="Marina")
query_dld(area="Palm", property_type="villa", date_from="2024-01-01", metric="count")
query_dld(area="Downtown", type="rentals", property_type="apartment")
query_dld(area="JBR", metric="list", limit=10)

Invalid arguments fail before an API request. OfferBrief's own message is passed through for rejected queries and empty results. HTTP, rate limit, timeout, connection, and malformed response failures set MCP isError and return structured errors with a message and status code. Results include both structured content and JSON text for client compatibility. The tool declares read-only, non-destructive, idempotent access to an external data source.

OfferBrief dependency and privacy

Each tool call sends its query parameters to https://offerbrief.com/api/query. No credentials are used. The package does not log query parameters or response bodies.

Results reflect the data available from OfferBrief when the call is made. This package does not claim a refresh schedule or transaction count.

Development

git clone https://github.com/level09/dld-mcp
cd dld-mcp
uv sync --group dev
uv run pytest
uv run ruff check
uv build

License

MIT, OfferBrief

Metadata

Release files for dld-mcp 0.4.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for dld-mcp 0.4.0
File Size Uploaded
dld_mcp-0.4.0.tar.gz 74.0 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for dld-mcp 0.4.0
File Interpreter ABI Platform
dld_mcp-0.4.0-py3-none-any.whl Python 3 none any Details

Total release size: 80.4 kB

Release files / dld_mcp-0.4.0.tar.gz

Download URL dld_mcp-0.4.0.tar.gz
Size 74.0 kB
Tags Source
SHA-256 checksum
How to use checksums
ad849f1b2529df396cde8c361372391dcbaee252288522c2f6ae86594a0af3e3
BLAKE2b-256 checksum
How to use checksums
001a462eccd923f3eb1c10af6623181dc3df349e55e1d0efb4bac66f04d4415a
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.5

Release files / dld_mcp-0.4.0-py3-none-any.whl

Download URL dld_mcp-0.4.0-py3-none-any.whl
Size 6.4 kB
Tags Python 3
SHA-256 checksum
How to use checksums
08e335dccbdf63fea5bc35efce6815e2ad3dda8e4565c33b1a967a2a86e6bb79
BLAKE2b-256 checksum
How to use checksums
4ea96ca9a74e8f3d901af466a7fc2b818006d7e35d371b3caccd11b180d25fa8
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.5

Release history Release notifications | RSS feed

This release

0.4.0 This release

2 release files

0.3.1

2 release files

0.2.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page