# MCP Dubai (pypi · mcp-dubai)

Dubai and UAE public data plus curated business setup knowledge across 120 MCP tools.

- Trust score: 87/100 (high trust)
- Change this week: +7
- Registry status: active
- Liveness: live
- Owner verified: no
- Last scored: 2026-11-04

## Components

- pypi · `mcp-dubai`: 87/100 (this document), [markdown](https://verifymcp.io/servers/mahdi-salmanzade-mcp-dubai/mcp-dubai.md), [page](https://verifymcp.io/servers/mahdi-salmanzade-mcp-dubai/mcp-dubai)

## Channel facts

- Registry: `pypi`
- Package: `mcp-dubai`
- Version: `0.4.0`
- Transport: `stdio`

## Trust breakdown

How this component scores in each security and reliability category. Every signal is checked automatically from public evidence about the published package, including repeated runs of it in an isolated sandbox, and we only credit what we can confirm. Scores are 0–100 per category. Scoring method: https://verifymcp.io/docs/scoring (what has changed: https://verifymcp.io/docs/scoring/changelog)

Scored 2026-11-04.

- **Supply Chain Security**: 100/100
  - No malware found by supply-chain analysis.
  - No known CVEs affecting this package version or its production dependencies.
  - Runs hatchling.build at install time, a recognised build step with no custom scripting around it.
  - 2 of 41 dependencies flagged as unhealthy.
- **Provenance & Transparency**: 97/100
  - Source repository is publicly reachable at the declared URL.
  - Cryptographically verified build provenance (signed, bound to mahdi-salmanzade/MCP-Dubai).
  - Clear OSI-approved license (MIT).
  - Actively maintained (last published 14 days ago).
  - Disclosure check failed: no security disclosure policy was found in the source repository.
- **Schema Quality & AI Usability**: 73/100
  - AI-judged instruction clarity (good).
  - Tool/resource definitions use about 10451 tokens (~87/item across 120 items; 120 tools + 0 resources), lean.
  - Usage-examples check failed: none of the tools include examples.
- **Stability & Change Management**: 50/100
  - Stability observed for 15 of 30 days with no destabilising changes; credit accrues until the full window elapses.
- **Tool Coverage**: 98/100
  - 100% of tools have a non-trivial description (not blank, and not just the tool's name).
  - 95% of tool parameters carry a description.
  - Structured output schemas are declared (100% of tools); any adoption earns full credit.
- **Tool Safety**: 100/100
  - No prompt-injection markers were found in the server instructions, tool names or descriptions we captured.
  - We read all 120 captured tool definition(s), and no name or description among them implies an irreversible operation.
  - An AI judge read all 121 captured unit(s) of tool text and found none that tries to manipulate the model reading it.
- **Capabilities**: 100/100
  - Implements a supported MCP spec version (2025-11-25); the latest is 2026-07-28.

## Install

### How do I install the MCP Dubai server?

MCP Dubai runs locally as a PyPI package, launched with uvx mcp-dubai. Ready-made configuration for Claude, Cursor, VS Code, Codex and 5 more is on this page, copied from each client's own documentation.

### Claude

```bash
claude mcp add mahdi-salmanzade-mcp-dubai -- uvx mcp-dubai
```

### Cursor

```json
{
  "mcpServers": {
    "mahdi-salmanzade-mcp-dubai": {
      "command": "uvx",
      "args": [
        "mcp-dubai"
      ]
    }
  }
}
```

### VS Code

```json
{
  "servers": {
    "mahdi-salmanzade-mcp-dubai": {
      "command": "uvx",
      "args": [
        "mcp-dubai"
      ]
    }
  }
}
```

### Codex

```bash
codex mcp add mahdi-salmanzade-mcp-dubai -- uvx mcp-dubai
```

### opencode

```json
{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "mahdi-salmanzade-mcp-dubai": {
      "type": "local",
      "command": [
        "uvx",
        "mcp-dubai"
      ],
      "enabled": true
    }
  }
}
```

### OpenClaw

```bash
openclaw mcp add mahdi-salmanzade-mcp-dubai --command uvx --arg mcp-dubai
```

### Hermes

```yaml
mcp_servers:
  mahdi-salmanzade-mcp-dubai:
    command: "uvx"
    args: ["mcp-dubai"]
```

### Netclaw

```json
{
  "McpServers": {
    "mahdi-salmanzade-mcp-dubai": {
      "Transport": "stdio",
      "Command": "uvx",
      "Arguments": [
        "mcp-dubai"
      ]
    }
  }
}
```

### Vellum

```bash
assistant mcp add mahdi-salmanzade-mcp-dubai -t stdio -c uvx -a mcp-dubai
```

### Other

```json
{
  "mcpServers": {
    "mahdi-salmanzade-mcp-dubai": {
      "command": "uvx",
      "args": [
        "mcp-dubai"
      ]
    }
  }
}
```

## Changelog

Every change recorded for this component, newest first. Days that predate change tracking, or that we cannot explain, say so: "we were watching and nothing happened" and "we were not watching" are different claims.

### 2026-11-04 (score 87, +15)

- [security improvement] Malware scan: unverified → pass

### 2026-11-03 (score 72, −14)

- [security regression] Malware scan: pass → unverified

### 2026-11-01 (score 86, +6)

- [functional improvement] Stability: unverified → 0.40

### 2026-10-31 (score 80, +15)

- [security improvement] Malware scan: unverified → pass

### 2026-10-30 (score 65, −15)

- [security regression] Malware scan: pass → unverified

### 2026-10-22 (score 80, +15)

- [security improvement] Malware scan: unverified → pass

### 2026-10-20 (score 65)

First indexed and scored.

## MCP tools (120)

### `recommend_tools` (~87 tokens)

Recommend MCP-Dubai tools for a natural-language query.

Uses BM25 over every registered tool's name, description, and tags so
the LLM can find the right tool without scanning the full catalogue.

Input parameters:

- `query` (string, required): What you are trying to do, in plain English or Arabic.
- `top_k` (integer): Maximum number of recommendations to return (default 5).

Output parameters:

- `result` (array)

### `list_features` (~60 tokens)

List every registered MCP-Dubai feature with its tool count and tier.

Returns:
    One entry per feature, sorted by tier then name. Each entry has
    `feature`, `tier`, `requires_auth`, `tool_count`, and `tools`.

Output parameters:

- `result` (array)

### `get_knowledge_status` (~134 tokens)

Return freshness status of every registered business knowledge domain.

Each `biz/*` feature registers its KnowledgeMetadata at import time via
\`register_domain_knowledge`. This meta-tool reads from that registry, so
bumping a single per-domain `KNOWLEDGE` constant flows through here
automatically. The project-wide constant records only the latest targeted
update; it never implies that every domain shares one review date.

Returns:
    Dict with latest-update and full-review date ranges, `total_domains`,
    and `domains` mapping each registered domain to its dates, volatility,
    verify_at URL, and disclaimer.

### `about` (~69 tokens)

Return MCP-Dubai developer, contact email, version, knowledge date, and tool count.

Use this to answer who made, created, built, or developed MCP-Dubai and
how to contact its developer. Also confirms the running package version,
repository URL, and latest recorded curated-knowledge update.

### `get_upstream_status` (~166 tokens)

Return the current health of every registered upstream endpoint.

Reads from the passive health registry in `_shared/health.py`. Each
upstream entry reports `status` (working, blocked, degraded,
credentials_missing, static, unknown), the endpoint host, whether
it requires auth, the last success and last failure timestamps, and
the latest reason string if the upstream is not working.

This tool never probes endpoints proactively. Status is derived from
what happened during normal tool calls in this process, plus static
state declared at bootstrap (known Cloudflare blocks, credential
availability, and features that ship without any upstream call).

LLM agents should call this before attempting Tier 1 (Dubai Pulse)
or FCSC work, to avoid asking the server for data it cannot fetch.

### `air_quality_dubai` (~84 tokens)

Get real-time air quality for a Dubai station.

Returns AQI, EPA category bucket, individual pollutants (PM2.5, PM10,
NO2, SO2, CO, O3), and the dominant pollutant.

Input parameters:

- `station` (string): Station ID (`karama`, `jebel-ali-village`, `nad-al-shiba`).

### `air_quality_by_coords` (~48 tokens)

Get air quality for the closest WAQI station to a given lat/lon.

Input parameters:

- `latitude` (number, required): Latitude in decimal degrees.
- `longitude` (number, required): Longitude in decimal degrees.

### `air_quality_dubai_stations` (~21 tokens)

List the supported Dubai air quality stations.

### `prayer_times_for` (~241 tokens)

Get the five daily prayer times for a UAE city or arbitrary coordinates.

Pass either a city name OR a latitude+longitude pair, not both. The
response includes Fajr, Sunrise, Dhuhr, Asr, Sunset, Maghrib, Isha, plus
Imsak (start of fasting), Midnight, Firstthird, and Lastthird, along
with the matching Hijri and Gregorian dates.

Input parameters:

- `city`: City name (default Dubai). Use this OR coordinates.
- `country` (string): Country name. Defaults to "United Arab Emirates".
- `date_str`: ISO date YYYY-MM-DD. Defaults to today.
- `latitude`: Latitude in decimal degrees, -90 to 90.
- `longitude`: Longitude in decimal degrees, -180 to 180.
- `method` (integer): Calculation method ID. 8 = Gulf Region (default for UAE), 16 = Dubai experimental (matches Dubai mosque announcements), 4 = Umm Al-Qura Makkah, 3 = Muslim World League.
- `school` (integer): Asr school. 0 = Shafi (default for UAE), 1 = Hanafi.

### `prayer_times_calendar` (~111 tokens)

Get prayer times for an entire month in one call.

Input parameters:

- `city` (string, required): City name (e.g., "Dubai").
- `country` (string): Country name. Defaults to "United Arab Emirates".
- `method` (integer): Calculation method ID. 8 = Gulf Region (default).
- `month` (integer, required): Month number, 1 to 12.
- `school` (integer): Asr school. 0 = Shafi (default).
- `year` (integer, required): Gregorian year.

### `qibla_direction` (~47 tokens)

Get the Qibla compass bearing from a given location toward Mecca.

Input parameters:

- `latitude` (number, required): Latitude in decimal degrees.
- `longitude` (number, required): Longitude in decimal degrees.

### `hijri_to_gregorian` (~87 tokens)

Convert a Hijri (Islamic) date to a Gregorian date.

Input parameters:

- `day` (integer, required): Hijri day, 1 to 30.
- `month` (integer, required): Hijri month, 1 (Muharram) to 12 (Dhu al-Hijjah).
- `year` (integer, required): Hijri year (e.g., 1447).

### `gregorian_to_hijri` (~72 tokens)

Convert a Gregorian date to a Hijri (Islamic) date.

Input parameters:

- `day` (integer, required): Gregorian day, 1 to 31.
- `month` (integer, required): Gregorian month, 1 to 12.
- `year` (integer, required): Gregorian year (e.g., 2026).

### `weather_uae_icao` (~110 tokens)

Get METAR (current weather observation) and optional TAF (forecast)
for a UAE airport.

Input parameters:

- `icao` (string, required): ICAO code. Valid: OMDB (Dubai International), OMDW (Al Maktoum), OMSJ (Sharjah), OMAA (Zayed International), OMAL (Al Ain), OMRK (Ras Al Khaimah).
- `include_taf` (boolean): If True, fetch the TAF forecast as well.

### `weather_uae_all` (~46 tokens)

Get METAR observations for all 6 UAE airports in a single call.

Input parameters:

- `include_taf` (boolean): If True, also fetch TAF forecasts (slower).

### `cbuae_exchange_rates` (~44 tokens)

Get CBUAE exchange rates for today or a historical date (~75 currencies).

Input parameters:

- `date_str`: ISO date YYYY-MM-DD. Omit for today's rates.

### `cbuae_base_rate` (~36 tokens)

Get the current CBUAE base rate (percentage).

Returns:
    Dict with `base_rate_percent` and source attribution.

### `currency_rates` (~69 tokens)

Everyday exchange rates for a base currency (defaults to AED, no key).

The convenient companion to the official `cbuae` central-bank rate tools.

Input parameters:

- `base` (string): ISO 4217 currency code to price everything against, e.g. AED, USD, EUR. Case-insensitive.

### `currency_convert` (~77 tokens)

Convert an amount between two currencies (defaults AED to USD, no key).

Input parameters:

- `amount` (number, required): Amount to convert. Must be >= 0.
- `from_currency` (string): Source ISO 4217 currency code. Case-insensitive.
- `to_currency` (string): Target ISO 4217 currency code. Case-insensitive.

### `data_dubai_search` (~122 tokens)

Search the data.dubai catalog for dataset metadata (no credentials).

data.dubai is the portal that replaced Dubai Pulse. This searches its
catalog of 600+ dataset descriptions. METADATA ONLY: the dataset APIs
themselves still require Dubai Pulse/DDSE credentials.

Input parameters:

- `page` (integer): 1-based page number.
- `page_size` (integer): Datasets per page, 1 to 100.
- `query` (string): Free-text search over titles, descriptions, and keywords. Empty string lists the full catalog.

### `data_dubai_themes` (~51 tokens)

List the data.dubai catalog themes with dataset counts (no credentials).

Eleven themes such as Infrastructure, Population, Trade, and
Employment, each with bilingual titles and a dataset count.

### `data_dubai_entities` (~88 tokens)

List data.dubai issuing entities, optionally filtered (no credentials).

Issuing entities are the publishers behind the catalog (RTA, DEWA,
Dubai Police, and 70+ more). Filtering is client-side.

Input parameters:

- `search` (string): Case-insensitive substring matched against each entity's English title, Arabic title, and short key. Empty string returns every entity.

### `dfm_index` (~63 tokens)

Latest DFM General Index snapshot with an intraday summary (no key).

Returns the newest index value, change, change percentage, volume, and
timestamp, plus a client-side intraday open/high/low summary. Data may
be delayed; not investment advice.

### `dfm_stock_quote` (~76 tokens)

Trimmed live quote for one DFM-listed security by ticker symbol (no key).

Data may be delayed; not investment advice.

Input parameters:

- `symbol` (string, required): Ticker on the Dubai Financial Market, e.g. EMAAR, SALIK, DEWA. Case-insensitive. Unknown symbols fail with near-match suggestions.

### `dfm_list_securities` (~69 tokens)

List DFM-listed securities, optionally filtered by symbol or name (no key).

Input parameters:

- `search` (string): Optional substring matched case-insensitively against each security's symbol or name. Empty lists the first 50 securities alphabetically; the response reports the total match count.

### `dld_search_transactions` (~109 tokens)

Search Dubai Land Department real estate sale transactions.

Tier 1 tool. Requires Dubai Pulse credentials. Returns a structured
error if MCP_DUBAI_PULSE_CLIENT_ID and MCP_DUBAI_PULSE_CLIENT_SECRET
are not set.

Input parameters:

- `area`: Optional area name filter (e.g., "Dubai Marina").
- `limit` (integer): Max records (1 to 500, default 100).
- `property_type`: Optional type filter (e.g., "Apartment", "Villa").

### `dld_search_rent_contracts` (~63 tokens)

Search DLD rent contracts (Ejari data) via Dubai Pulse.

Tier 1 tool, requires Dubai Pulse credentials.

Input parameters:

- `area`: Optional area name filter.
- `bedrooms`: Optional bedroom count.
- `limit` (integer): Max records.

### `dld_lookup_broker` (~56 tokens)

Look up RERA-registered Dubai brokers.

Tier 1 tool, requires Dubai Pulse credentials.

Input parameters:

- `license_number`: Broker license number.
- `limit` (integer): Max records.
- `name`: Broker name substring.

### `fcsc_search_dataset` (~92 tokens)

Search the FCSC UAE federal open data portal for datasets.

Input parameters:

- `organization`: Optional CKAN organization slug filter.
- `query` (string): Free-text Solr query, e.g., "trade", "population", "energy". Empty string returns recent datasets.
- `rows` (integer): Maximum results per page (1 to 100, default 10).
- `start` (integer): Pagination offset.

### `fcsc_get_dataset` (~34 tokens)

Get full metadata for a specific FCSC dataset.

Input parameters:

- `dataset_id` (string, required): CKAN dataset id or slug.

### `fcsc_list_organizations` (~43 tokens)

List all CKAN organizations publishing on the FCSC portal.

Useful for finding the right org slug to use as a filter on
\`fcsc_search_dataset`.

### `fca_trade_stats` (~77 tokens)

Search Federal Customs Authority trade statistics datasets.

Convenience wrapper that filters `fcsc_search_dataset` to the
\`federal-customs-authority` organization. Covers UAE non-oil foreign
trade by HS chapter, imports, exports, and re-exports.

Input parameters:

- `query` (string)
- `rows` (integer)

### `dubai_gold_rate` (~88 tokens)

Today's Dubai retail gold rates in AED per gram by karat (no key).

Dubai Jewellery Group suggested retail rates (24K, 22K, 21K, 18K, 14K)
from Dubai City of Gold, published around 09:00, 13:30 and 18:00 UAE
time. Jewellery retail reference rates, not spot bullion prices.

### `uae_holidays` (~143 tokens)

List all UAE federal public holidays for a Gregorian year.

Lunar holidays (Eid al-Fitr, Eid al-Adha, Hijri New Year, Mawlid,
Arafat Day) are returned with `provisional: true` until the relevant
MOHRE and FAHR observance circulars are published. Every lunar record
carries `official_observance_announced`; false identifies a religious-
date candidate rather than a confirmed day off.

Input parameters:

- `year`: Gregorian year. Defaults to the current year in Asia/Dubai. Currently 2026 and 2027 are shipped (2027 lunar dates are astronomical expectations).

### `uae_next_holiday` (~70 tokens)

Find the next confirmed UAE public holiday on or after a reference date.

An earlier unannounced lunar-date candidate is returned separately as
\`next_provisional_candidate`; it is not presented as a confirmed day off.

Input parameters:

- `from_date_str`: ISO date YYYY-MM-DD. Defaults to today.

### `is_uae_holiday` (~37 tokens)

Check whether a specific Gregorian date is a UAE public holiday.

Input parameters:

- `date_str` (string, required): ISO date YYYY-MM-DD.

### `khda_search_school` (~155 tokens)

Search Dubai private schools by name, area, curriculum, rating, or fee.

Input parameters:

- `area`: Substring match on area / neighborhood (e.g., "Jumeirah").
- `curriculum`: Substring match on curriculum (e.g., "British", "IB").
- `limit` (integer): Max results (1 to 200, default 20).
- `max_fee_aed`: Filter to schools whose fees_min_aed is at or below this.
- `name`: Substring match on school name (case-insensitive).
- `rating`: Exact match on KHDA inspection rating. Valid values: "Outstanding", "Very Good", "Good", "Acceptable", "Weak", "Very Weak".

### `khda_list_curricula` (~29 tokens)

List the curricula available in the snapshot (e.g., British, IB, CBSE).

### `khda_list_areas` (~22 tokens)

List the Dubai areas covered by schools in the snapshot.

### `makani_reverse_geocode` (~118 tokens)

Find the Makani numbers and building at a Dubai coordinate (no key).

Reverse geocodes against the official Dubai Municipality Makani public
service: building, community, and emirate names in English and Arabic,
plus every Makani number at that location with its coordinates and
short URL.

Input parameters:

- `latitude` (number, required): Latitude in decimal degrees (WGS84), e.g. 25.26464.
- `longitude` (number, required): Longitude in decimal degrees (WGS84), e.g. 55.31217.

### `makani_details` (~90 tokens)

Look up the building behind a 10-digit Makani number (no key).

Returns building, community, and emirate names in English and Arabic,
exact coordinates, and the official makani.ae short URL.

Input parameters:

- `makani_number` (string, required): Makani number, 10 digits with or without a space, e.g. "30032 95320" or "3003295320".

### `makani_validate` (~81 tokens)

Check whether a 10-digit Makani number exists (no key).

Returns a validity boolean plus the emirate (English and Arabic) when
the number is valid.

Input parameters:

- `makani_number` (string, required): Makani number, 10 digits with or without a space, e.g. "30032 95320" or "3003295320".

### `uae_weather` (~110 tokens)

Current weather and today's high/low for a UAE city (no API key needed).

Covers plain temperature, feels-like, humidity, wind, and conditions,
the everyday weather that the METAR/TAF `aviation_weather` tools do not
present in a human-friendly way.

Input parameters:

- `city` (string): A UAE city. Supported: Dubai, Abu Dhabi, Sharjah, Ajman, Ras Al Khaimah, Fujairah, Umm Al Quwain, Al Ain.

### `uae_weather_forecast` (~65 tokens)

Multi-day daily weather forecast for a UAE city (no API key needed).

Input parameters:

- `city` (string): A UAE city (see `uae_weather`).
- `days` (integer): Number of forecast days, 1 to 16 (clamped to range).

### `weather_by_coords` (~71 tokens)

Current weather plus a short forecast for any latitude/longitude.

Input parameters:

- `days` (integer): Number of forecast days, 1 to 16 (clamped to range).
- `latitude` (number, required): Latitude, -90 to 90.
- `longitude` (number, required): Longitude, -180 to 180.

### `list_uae_weather_cities` (~27 tokens)

List the UAE cities supported by the Open-Meteo weather tools.

### `osm_search_poi` (~128 tokens)

Find OpenStreetMap points of interest near a Dubai location.

Input parameters:

- `category` (string, required): One of: restaurant, cafe, fast_food, pharmacy, hospital, clinic, atm, bank, fuel, school, kindergarten, mosque, supermarket, mall, bus_stop, metro_station, parking, park, gym, hotel, embassy, post_of…
- `latitude` (number, required): Centre latitude.
- `limit` (integer): Max results to return.
- `longitude` (number, required): Centre longitude.
- `radius_meters` (integer): Search radius in metres (max 10000).

### `osm_list_categories` (~23 tokens)

List the curated POI categories supported by `osm_search_poi`.

### `quran_surah` (~110 tokens)

Get a full surah by number (1 to 114) in a specific edition.

Input parameters:

- `edition` (string): Edition slug. Default `quran-uthmani` (Arabic Uthmani). Common alternatives: `en.sahih` (Sahih International English), `en.pickthall`, `ur.jalandhry` (Urdu).
- `number` (integer, required): Surah number, 1 (Al-Fatiha) to 114 (An-Nas).

### `quran_ayah` (~76 tokens)

Get a single ayah by reference (e.g., "2:255" for Ayat al-Kursi).

Input parameters:

- `edition` (string): Edition slug. Default `quran-uthmani`.
- `reference` (string, required): surah:ayah (e.g., "2:255") or absolute ayah number.

### `quran_juz` (~58 tokens)

Get a full juz (1 to 30) in a specific edition.

Input parameters:

- `edition` (string): Edition slug. Default `quran-uthmani`.
- `number` (integer, required): Juz number, 1 to 30.

### `quran_search` (~99 tokens)

Search the Quran for a phrase.

Input parameters:

- `edition` (string): Edition slug or language code (e.g., "en" or "ar").
- `limit` (integer): Maximum matches to return, from 1 to 100. Defaults to 25.
- `offset` (integer): Zero-based match offset for pagination.
- `query` (string, required): Phrase to search for.
- `surah` (string): Surah number or "all".

### `rta_search_metro_stations` (~104 tokens)

Search Dubai Metro stations via Dubai Pulse.

Tier 1, requires Dubai Pulse credentials.

Covers operating lines only. Blue Line (under construction, opening
2029-09-09) and Gold Line (approved 2026, opening 2032-09-09) stations
are not in the dataset yet.

Input parameters:

- `limit` (integer): Max records.
- `line`: Optional line filter (Red, Green, Route 2020).

### `rta_search_bus_routes` (~46 tokens)

Search Dubai bus routes via Dubai Pulse.

Tier 1, requires Dubai Pulse credentials.

Input parameters:

- `limit` (integer)
- `origin`
- `route_number`

### `rta_salik_tariff` (~104 tokens)

Return Salik toll tariff reference data.

Tier 1, requires Dubai Pulse credentials.

From 2026-06-01 a 5% VAT applies to tolls and tag activation fees
(AED 4 becomes AED 4.20, peak AED 6 becomes AED 6.30); the response
includes the VAT-inclusive amounts.

Only the tariff is public. Account balances, trips, and violations
are NOT exposed via any public API.

### `rta_gtfs_static_url` (~84 tokens)

Return download details for the RTA GTFS static feed.

The direct file download is anonymous (a 7z archive, no credentials);
only the credentialed query API requires OAuth. The old Transitland
mirror is dead (HTTP 401, 2021-era data).
No GTFS-RT (real-time) feed exists for Dubai RTA.

### `list_banks` (~19 tokens)

List every UAE business bank in the curated dataset.

### `bank_details` (~91 tokens)

Get the full curated record for a UAE business bank.

Input parameters:

- `bank_id` (string, required): Bank id slug. Examples: "wio", "mashreq_neobiz", "zand", "ruya", "emirates_nbd", "rakbank", "cbd", "adcb", "fab", "adib", "hsbc", "standard_chartered", "citi".

### `bank_recommendation` (~167 tokens)

Recommend UAE business banks based on industry, minimum balance budget,
and onboarding speed.

Input parameters:

- `budget_min_balance_aed`: Maximum minimum-balance the founder can accept (filters out banks above this).
- `industry` (string): Business industry category. Crypto, forex, jewelry, used cars, and money service businesses are auto-flagged as high risk.
- `is_high_risk` (boolean): Force the high-risk warning even if industry is not in the auto-list.
- `limit` (integer): Maximum results (1 to 20, default 5).
- `speed_priority` (boolean): True if onboarding speed matters more than min balance (favours digital banks).
- `tier`: Optional filter, one of "digital", "traditional", "international".

### `dul_eligibility` (~127 tokens)

Report Dubai Unified Licence (DUL) bank integration and coverage.

DUL is issued across mainland and free zone businesses in Dubai. The
official 12 November 2025 announcement named seven integrated banks
and reported a 5-day average account-opening time. That average is not
a guarantee for an individual application.

Input parameters:

- `bank_id`: Bank id slug to check (e.g., "emirates_nbd", "fab", "ruya").
- `free_zone`: Dubai free zone name or slug. DUL coverage is not limited to a short participant list.

### `aml_requirements` (~76 tokens)

Return AML/CFT requirements for a business category.

Specifically flags DNFBP (Designated Non-Financial Business or
Profession) categories that must register on goAML. Common categories:
real_estate, precious_metals, auditor, corporate_service_provider,
lawyer, notary.

Input parameters:

- `business_category` (string)

### `emiratisation_requirements` (~129 tokens)

Return MOHRE Emiratisation targets and non-compliance charges.

Firms with 50+ employees: 1% semi-annual increase of Emiratis in
skilled roles (2% per year, toward 10% by end-2026); unachieved
positions charged AED 10,000 per month from 2026-07-01. Firms with
20-49 employees in 14 selected sectors: annual quota (1 Emirati by
2024, 2 by 2025).

Input parameters:

- `employee_count`: Optional workforce size to flag the applicable band.

### `ubo_filing_guide` (~107 tokens)

Return UBO (Ultimate Beneficial Owner) filing requirements.

Cabinet Decision 109 of 2023, in force since 16 November 2023 (it
superseded Cabinet Decision 58 of 2020). 25% threshold. 15-day update
window. Administrative penalties come from Cabinet Decision 132 of 2023
and are graduated: warning, then up to AED 50,000, then up to AED 100,000.

### `pdpl_compliance` (~73 tokens)

Return data protection compliance details for a UAE jurisdiction.

Input parameters:

- `jurisdiction` (string): One of "uae_federal" (Federal Decree-Law 45/2021), "difc" (DIFC Law 5/2020), "adgm" (ADGM DPR 2021).

### `cost_of_living_overview` (~51 tokens)

Headline cost-of-living ranges across rent, utilities, groceries,
transport, and schooling, plus a sample monthly budget for a single
person, a couple, and a family of four.

### `rent_estimate` (~66 tokens)

Annual rent range (AED) for an area and bedroom size.

Input parameters:

- `area` (string): Area name, case-insensitive (e.g. Dubai Marina, JLT, JVC).
- `bedrooms` (string): One of: studio, 1BR, 2BR.

### `dewa_bill_estimate` (~91 tokens)

Typical monthly DEWA bill for a unit size, with the housing-fee
explanation and the electricity slab table.

Input parameters:

- `season` (string): One of: summer, winter. Summer figures already reflect the 2.5x to 3.5x AC multiplier.
- `unit_size` (string): One of: studio, 1BR, 2BR, 3BR.

### `salik_toll_estimate` (~108 tokens)

Deterministic Salik toll (AED) for a time of day using the official
variable-pricing windows. Figures are VAT-inclusive (5% VAT applies at
the point of use from 2026-06-01).

Input parameters:

- `day` (string): 'weekday' or 'sunday' (Sunday has a flat toll outside the free window).
- `time_of_day` (string): 24-hour HH:MM, e.g. '08:00'.

### `grocery_estimate` (~37 tokens)

Monthly and weekly grocery ranges plus the staples basket.

Input parameters:

- `household_size` (string): One of: single, couple, family_of_four.

### `school_fee_estimate` (~57 tokens)

British-curriculum annual school fee range plus the KHDA fee rules,
including the 2026-27 fee freeze (no increase allowed that year).

Input parameters:

- `stage` (string): One of: foundation_primary, primary, secondary.

### `fuel_price_guide` (~57 tokens)

Monthly UAE fuel prices in AED per litre (Super 98, Special 95,
E-Plus 91, diesel): the Fuel Price Committee mechanism, the latest
September 2026 snapshot, and historical August and July comparisons.

### `createapps_championship` (~102 tokens)

Return Create Apps Championship details for the current cycle.

Operated by DCDE. Cycle 3 registration is closed and the competition is
ongoing in its finalist phase. Twelve finalists were announced on
14 April 2026, and the official structured timeline schedules the finals
for 7 October 2026. The page's stale FAQ says April 2026, so the returned
record flags that inconsistency and advises reconfirming before travel.

### `submission_guide` (~42 tokens)

Return submission guidance for Create Apps Championship.

Includes evaluation criteria, application URL, and the full program
list (Championship, Emirati Training Academy, Learning Lab).

### `dcde_programs` (~71 tokens)

Look up Dubai Chamber of Digital Economy programs.

Input parameters:

- `program_id`: Optional program id, e.g., "dubai_founders_hq", "antler_residency", "frwrdx", "unicorn_30", "create_apps_championship", "canva_partnership".

### `chamber_membership` (~51 tokens)

Return Dubai chamber membership rules.

DCDE has no standalone membership scheme. Dubai Chamber of Commerce
membership is mandatory for mainland commercial license holders
(AED 700 to AED 2,200 annual fee tiers).

### `startup_events` (~30 tokens)

List Dubai and UAE startup and tech events.

Input parameters:

- `category`: Optional substring filter on event type or name.

### `gitex_info` (~70 tokens)

Return GITEX Global 2026 details and venue.

Confirmed 7 to 11 December 2026 in a split-venue format: GITEX Summit on
7 December at Dubai World Trade Centre, expo 8 to 11 December at the
Dubai Exhibition Centre, Expo City Dubai.

### `ens_calendar` (~83 tokens)

Return Expand North Star 2026 calendar.

Edition 11, 8 to 10 December 2026 at Dubai Exhibition Centre.
Supernova 0X format with 3 venture tracks and in-kind prizes per stage
(no cash prize pool is advertised). Applications open 1 May 2026, close
1 November 2026; only exhibiting startups can apply.

### `attestation_guide` (~111 tokens)

Explain UAE document attestation routes and an illustrative foreign-document chain.

The UAE is not a Hague Apostille member as of September 2026. Steps
depend on the document, issuing country and receiving authority.
Eligible UAE-issued digital documents may use MoFA's digital route;
foreign documents follow the relevant UAE mission's requirements.

Input parameters:

- `document_type` (string): One of: personal, commercial, degree, marriage, birth, power_of_attorney.
- `home_country`: Optional source country for context.

### `pro_services_estimate` (~69 tokens)

Estimate annual PRO service cost.

Input parameters:

- `license_renewals_per_year` (integer): How many license renewals per year.
- `use_retainer` (boolean): True to force a monthly retainer estimate.
- `visas_per_year` (integer): How many visa transactions are expected per year.

### `legal_translation_estimate` (~76 tokens)

Estimate legal translation cost based on page count and urgency.

Where legal translation is required, use a legal translator registered
with MOJ and confirm the receiving authority's current document rules.

Input parameters:

- `pages` (integer, required): Number of pages.
- `same_day` (boolean): True for same-day turnaround (25 to 50% uplift).

### `chamber_of_commerce_info` (~23 tokens)

Return Dubai Chamber of Commerce membership and Certificate of Origin info.

### `setup_timeline_estimate` (~22 tokens)

Return realistic end-to-end timelines for a Dubai setup.

### `common_founder_mistakes` (~37 tokens)

List 10 common founder mistakes that break Dubai setups.

Input parameters:

- `category`: Optional substring filter on the mistake title or id.

### `list_free_zones` (~41 tokens)

List every Dubai free zone in the curated dataset.

Returns a compact list with id, name, sector, location, and initial
license cost in AED.

### `free_zone_details` (~95 tokens)

Get the full curated record for a single free zone by id.

Input parameters:

- `free_zone_id` (string, required): Free zone id slug (e.g., "ifza", "dmcc", "difc_innovation", "jafza", "dafza", "meydan", "dubai_south", "dso_dtec", "tecom", "dhcc", "dpc_dsc", "difc_full").

### `compare_free_zones` (~118 tokens)

Compare Dubai free zones for a specific use case and return a ranked
shortlist.

Input parameters:

- `activity`: Optional activity description (informational).
- `budget_aed`: Filter to free zones with initial license at or under this.
- `limit` (integer): Maximum results (1 to 50).
- `needs_physical_office` (boolean): True to exclude virtual-only zones.
- `sector`: Optional sector substring filter (e.g., "tech", "healthcare").
- `visa_count` (integer): Minimum visa quota required.

### `list_offshore` (~25 tokens)

List Dubai-relevant offshore options (JAFZA Offshore, RAK ICC).

### `accelerator_search` (~95 tokens)

Search UAE accelerators and incubators by sector, cost, and location.

Input parameters:

- `free_only` (boolean): True to return only records explicitly verified free. Paid, subsidized, equity-linked, and unknown-cost records are excluded.
- `location`: Optional location filter (e.g., "Dubai", "Abu Dhabi").
- `sector`: Optional sector filter (e.g., "fintech", "tech", "media").

### `vc_list` (~64 tokens)

List active UAE / MENA VCs by stage and sector.

Input parameters:

- `sector`: Optional sector substring (e.g., "fintech", "saas").
- `stage`: Optional stage focus, one of: pre_seed, seed, series_a, series_b, growth.

### `grant_programs` (~59 tokens)

List UAE government grant and funding support programs.

Input parameters:

- `grant_type`: Optional type filter (accelerator_support_and_credit_guarantee, venture_fund, support_programs_and_loan_route, interest_free_business_loans_and_nonfinancial_support).

### `portal_guide` (~108 tokens)

Look up a UAE government portal by id or by keyword.

Input parameters:

- `keyword`: Substring search across portal name, type, and operator.
- `portal_id`: Portal id slug, e.g., "uae_pass", "basher", "invest_in_dubai", "emaratax", "mohre", "gdrfa_dubai", "icp", "u_ae", "dubai_now", "dubai_rest", "developer_dubai".

### `halal_certification` (~89 tokens)

Return UAE halal certification guidance.

The authority is MOIAT (Ministry of Industry and Advanced Technology),
which absorbed ESMA in 2020. Standards: UAE.S GSO 2055-1, 2055-2,
2055-4, plus UAE.S 993 (slaughter). Single UAE Halal Mark.

Input parameters:

- `product_category`: Optional filter on the products list.

### `moiat_requirements` (~57 tokens)

Return MOIAT registration fees and timeline for Halal Certification Bodies.

HCB registration: AED 1,000 per domain plus AED 1,000 certificate.
Total AED 2,000. Timeline: 10 working days.

### `trademark_registration` (~129 tokens)

Return UAE trademark registration steps, fees, and timeline.

The IP authority is MOET (Ministry of Economy and Tourism, formerly
Ministry of Economy). Cabinet Resolution 102 of 2025 introduced new
fees with a 50% reduction for members of the UAE National Programme for
SMEs.

Input parameters:

- `expedited` (boolean): True to replace the AED 750 regular examination with the AED 2,250 one-day expedited examination (AED 1,500 net surcharge).
- `is_sme` (boolean): True only for a qualifying member of the UAE National Programme for SMEs.

### `ip_protection` (~35 tokens)

Return UAE IP protection guidance.

Input parameters:

- `ip_type` (string): One of "trademark", "patent", "copyright".

### `parking_zones` (~183 tokens)

Dubai Parkin zones, tariffs, VAT, free periods, and mParking shortcode.

Variable tariffs since 4 April 2025: peak 4 to 6 AED/h, off-peak 2 to
4 AED/h. From 1 June 2026 a 5% VAT applies on top (displayed prices are
VAT-inclusive) and cash payments at meters are phased out (Nol cards
still accepted). Free Sundays, public holidays, and 22:00 to 08:00.
mParking SMS shortcode is 7275 (PARK), format `<plate> <zone> <hours>`.

CRITICAL: 'Mawaqif' is the Abu Dhabi parking system. Dubai parking is
operated by Parkin Company PJSC (DFM:PARKIN), spun out of RTA in
December 2023.

### `nol_card_guide` (~90 tokens)

Nol card guide and RTA fare structure.

Returns the 5 Nol card types (Red, Silver, Gold, Blue personalized,
Blue PoD) plus the 2025 fare structure (1-zone AED 3, 2-zone AED 5,
3+ zone AED 7.50, daily caps, transfer rules, unlimited passes).

Input parameters:

- `card_type`: Optional card type filter substring.

### `setup_advisor` (~297 tokens)

Recommend the best jurisdiction for setting up a business in Dubai.

Cross-references curated free zones, visas, banks, and tax rules
(the headline biz/* feature). Returns a ToolResponse envelope with a
structured recommendation: jurisdiction (mainland, an eligible free
zone with the applicable DET licence or permit, or offshore), candidate
free zones, reasoning, warnings, estimated cost range, timeline, and
next steps. Always returns a `knowledge` block with its latest recorded
date, any targeted scope, volatility, verify_at, and disclaimer.

Input parameters:

- `activity` (string, required): Business activity description (e.g., "SaaS", "consulting", "trading", "ecommerce").
- `budget_aed` (integer, required): Total first-year budget in AED for setup, license, visas, and bank account.
- `industry` (string): Industry category. One of: general, saas, tech, ecommerce, consulting, fintech, ai, blockchain, crypto, trading, import_export, manufacturing, logistics, healthcare, media, education, real_estate, fb…
- `needs_local_trade` (boolean): True if the business expects to conduct customer-facing or other licensed activity onshore in Dubai.
- `needs_visa` (boolean): True if the founder needs a UAE residence visa from this license.
- `visa_count` (integer): How many visas the company needs in total.

### `corporate_tax_estimate` (~210 tokens)

Estimate UAE corporate tax liability under Federal Decree-Law 47 of 2022.

Ordinary taxable persons receive the AED 375,000 band, then 9% above.
QFZPs receive 0% on Qualifying Income and 9% on other taxable income
without the ordinary band. Confirm QFZP status and income classification.

Input parameters:

- `annual_taxable_income_aed` (integer, required): Annual taxable income in AED.
- `industry` (string): Industry category. SaaS triggers an income-classification warning because qualification depends on the specific transaction.
- `is_free_zone` (boolean): True if the entity is in a free zone.
- `is_qfzp`: Explicit QFZP status, including when qualifying income is zero. Omission retains inference from a positive qualifying percentage.
- `qfzp_qualifying_pct` (integer): Percentage of income that is Qualifying Activity income (0 to 100). Only relevant if is_free_zone.

### `vat_filing_calendar` (~127 tokens)

Determine the UAE VAT registration requirement and filing frequency.

Treats the input as taxable supplies and imports in the past 12 months:
mandatory above AED 375,000, voluntary above AED 187,500. Filing frequency
is indicative; the FTA assigns the actual period. Standard rate is 5%.
Includes the Federal Decree-Law 16 of 2025 amendments effective
1 January 2026 (reverse-charge invoicing, 5-year VAT credit
carry-forward cap, evasion-linked input VAT denial).

Input parameters:

- `annual_revenue_aed` (integer, required)

### `qfzp_check` (~76 tokens)

Check QFZP eligibility for a free zone business.

Returns one of: not_eligible, potentially_qualifying, verify, with the
reason. SaaS requires assessment of the counterparty, exclusions and
any qualifying intellectual-property income.

Input parameters:

- `industry` (string)
- `is_free_zone` (boolean)

### `esr_status` (~82 tokens)

Return the current status of UAE Economic Substance Regulations.

ESR is not required for financial years ending after 31 December 2022 per
Cabinet Decision 98 of 2024. Obligations and penalties for in-scope
financial years ending from 2019 through 2022 remain live, and penalties
already imposed for those periods are not refundable.

### `einvoicing_timeline` (~184 tokens)

Return the UAE e-invoicing regime, rollout timeline, and ASP deadlines.

Legislated by Ministerial Decisions 243 and 244 of 2025 on the PINT AE
DCTCE 5-corner model, reported to the FTA through EmaraTax. The pilot
phase went live 1 July 2026 with voluntary adoption open from the same
date. ASP appointment deadlines: 30 October 2026 for revenue at or
above AED 50M (Ministerial Resolution 66 of 2026), 31 March 2027 below
AED 50M. Mandatory go-live: January 2027 at or above AED 50M, July
2027 below, government entities October 2027. Includes the official
current MoF ASP accreditation register. Verify dates with the FTA/MoF.

### `late_payment_penalty_estimate` (~122 tokens)

Estimate the unified UAE late-payment penalty on overdue tax.

Cabinet Decision 129 of 2025 applies 14% per annum to unpaid tax,
effective 14 April 2026, unifying VAT, Excise and Corporate Tax. The
charge accrues monthly at 14% divided by 12 for every month or part of a
month; it is not pro-rated by day. Confirm the calendar-month count with
the FTA.

Input parameters:

- `days_late` (integer, required)
- `tax_due_aed` (number, required)

### `ejari_guide` (~56 tokens)

Return the full Ejari registration guide.

Covers the required documents, fees by channel (Dubai REST app, Real
Estate Trustee Centre, typing center), timelines, channels, and the
common mistakes that block a Dubai tenancy.

### `rera_rent_increase` (~110 tokens)

Compute the maximum legal rent increase under Dubai Decree 43 of 2013.

Maps how far the current rent sits below the area average market rent
(RERA Rent Index) to the allowed increase slab and returns the gap
percentage, the max increase percentage, and the max new rent.

Input parameters:

- `area_average_rent` (number, required): The area average market rent in AED (RERA Rent Index).
- `current_annual_rent` (number, required): The current annual rent in AED.

### `rental_dispute_guide` (~76 tokens)

Return the Rental Disputes Centre (RDC) filing guide.

If annual_rent is provided, also compute the filing fee (3.5% of annual
rent, AED 500 floor, AED 20,000 cap).

Input parameters:

- `annual_rent`: Optional annual rent in AED to compute the filing fee.

### `list_visa_types` (~20 tokens)

List every UAE visa type in the curated dataset.

### `visa_details` (~127 tokens)

Get the full curated record for a single UAE visa type.

Input parameters:

- `visa_id` (string, required): Visa id slug. Examples: "investor_partner", "property_investor_2yr", "employment", "golden_specialized_talent", "golden_investor_real_estate", "golden_entrepreneur", "green_skilled_employee", "green_…

### `visa_recommend` (~165 tokens)

Recommend a UAE visa type for a given founder/employee profile.

Input parameters:

- `age`: Age in years (used for retirement visa).
- `annual_income_aed`: Annual income in AED for freelancer profiles.
- `duration_years_min`: Optional minimum residency duration.
- `has_uae_employer` (boolean): True if there is a UAE-registered employer.
- `has_uae_trade_license` (boolean): True if the user already holds a UAE trade license.
- `monthly_salary_aed`: Monthly salary in AED for preliminary screening.
- `profile` (string, required): One of: founder, salaried_employee, freelancer, remote_worker, investor, real_estate_investor, specialized_talent, spouse_or_dependent, retiree, tourist.

### `golden_visa_check` (~257 tokens)

Screen financial thresholds for Golden Visa routes; this is not final eligibility.

Input parameters:

- `annual_revenue_aed`: Annual revenue of the founder's UAE SME. ICP's entrepreneur route needs at least AED 1,000,000, plus approval of the venture by an accredited incubator or authority.
- `monthly_salary_aed`: Monthly salary for skilled-professional screening. AED 30,000 is the published threshold; qualification, employment and evidence requirements must also be met.
- `prior_exit_value_aed`: Total sale value of ventures the founder previously built and sold. ICP's alternative entrepreneur test needs at least AED 7,000,000. Dubai's GDRFA route uses a Dubai Future Foundation nomination wit…
- `project_value_aed`: Deprecated. ICP dropped the AED 500,000 project-valuation test; a value here is not screened and only returns a note. Use annual_revenue_aed or prior_exit_value_aed.
- `real_estate_value_aed`: UAE property value for the investor category. Must be at least AED 2,000,000; approved-bank mortgages and approved-developer off-plan property can count.

### `list_honorifics` (~51 tokens)

List bilingual UAE honorifics for use in formal correspondence.

Includes His Highness, His/Her Excellency, Mr./Ms., Dr., Engineer
with Arabic equivalents and use case notes.

### `addressee_block` (~103 tokens)

Build a bilingual addressee block for a UAE business letter.

Input parameters:

- `honorific` (string): Honorific id (use list_honorifics for the catalogue).
- `name` (string, required): Recipient name (English).
- `name_ar`: Recipient name in Arabic.
- `organization`: Organization name in English.
- `organization_ar`: Organization name in Arabic.
- `title`: Job title in English.
- `title_ar`: Job title in Arabic.

### `business_letter_template` (~174 tokens)

Build a bilingual UAE business letter template (English + Arabic).

Returns side-by-side English and Arabic blocks ready for the LLM to
fill in body paragraphs. Uses standard UAE formal correspondence
conventions.

Input parameters:

- `addressee_name` (string, required): Recipient name in English.
- `closing` (string): Closing style (standard, formal, warm).
- `honorific` (string): Honorific id (mr, ms, dr, his_excellency, etc.).
- `opening` (string): Opening style (formal, warm, respectful).
- `sender_name` (string): Sender name placeholder.
- `sender_org` (string): Sender organization placeholder.
- `sender_title` (string): Sender title placeholder.
- `subject` (string, required): Letter subject in English.
- `subject_ar`: Letter subject in Arabic (optional).

### `list_salutations` (~21 tokens)

List bilingual opening and closing salutations for UAE business letters.

### `plan_query` (~61 tokens)

Build a multi-tool execution plan for a query category.

Input parameters:

- `category` (string, required): One of: founder_setup, market_research, compliance_checkup, relocation.
- `inputs`: Optional dict of named inputs to substitute into the plan's args templates.

### `list_plan_categories` (~19 tokens)

List the available data_analyst plan categories.

### `synthesize_report` (~93 tokens)

Build a structured Markdown report from named sections.

The freshness footer lists only caller-declared source domains with
their recorded update and full-review dates. Omitted sources leave
report freshness unverified.

Input parameters:

- `domains_referenced`: Knowledge domain names actually used in the report.
- `sections`: List of {heading, body} dicts. Each becomes an H2 section.
- `title` (string, required): Report title.

### `analyze_setup_decision` (~127 tokens)

Build a complete cross-tool analysis plan for a founder setup decision.

Returns an ordered list of 6 tool calls (setup_advisor, compare_free_zones,
qfzp_check, bank_recommendation, common_founder_mistakes,
setup_timeline_estimate) plus synthesis instructions.

The LLM should execute the plan and then call synthesize_report.

Input parameters:

- `activity` (string, required): Business activity (e.g., "SaaS", "consulting").
- `budget_aed` (integer, required): First-year budget in AED.
- `industry` (string): Industry category.

## Diagnostics

Captured diagnostic sections: Provenance, Install scripts, Dependencies. The full working is on the page: https://verifymcp.io/servers/mahdi-salmanzade-mcp-dubai/mcp-dubai#diagnostics

## Score history

- 2026-11-04: 87
- 2026-11-03: 72
- 2026-11-02: 86
- 2026-11-01: 86
- 2026-10-31: 80
- 2026-10-30: 65
- 2026-10-29: 80
- 2026-10-28: 80
- 2026-10-27: 80
- 2026-10-26: 80
- 2026-10-25: 80
- 2026-10-24: 80
- 2026-10-23: 80
- 2026-10-22: 80
- 2026-10-21: 65
- 2026-10-20: 65

## Common questions

### What is the MCP Dubai server?

MCP Dubai is listed in the public MCP registry as io.github.mahdi-salmanzade/mcp-dubai. Dubai and UAE public data plus curated business setup knowledge across 120 MCP tools. This page covers its PyPI package (mcp-dubai).

### Is the MCP Dubai server safe to use?

MCP Dubai scores 87 out of 100 on VerifyMCP. We found no known CVEs affecting it as of 4 November 2026. Its build provenance is signed and verified. That is a record of what we were able to check automatically, not an endorsement. The category breakdown on this page shows every signal behind the number, including the ones we could not confirm.

### What tools does the MCP Dubai server expose?

MCP Dubai exposes 120 tools: recommend_tools, list_features, get_knowledge_status, about, get_upstream_status, and 115 more. Their descriptions and schemas cost roughly 10,279 tokens of context every time the server is loaded.

### Is the MCP Dubai server still maintained?

MCP Dubai is still listed as active in the MCP registry. We last reached this channel on 4 November 2026. Those dates come from our own scans of the registry and the channel itself, not from anything the publisher announced.

### What licence is the MCP Dubai server under?

MCP Dubai declares the MIT licence, which is OSI-approved. That covers the source only, and says nothing about the cost of any service it calls.

## Links

- PyPI project: https://pypi.org/project/mcp-dubai/
- Socket report: https://socket.dev/pypi/package/mcp-dubai
- Repository: https://github.com/mahdi-salmanzade/MCP-Dubai
- Changelog RSS feed: https://verifymcp.io/servers/mahdi-salmanzade-mcp-dubai/mcp-dubai.xml
- Changelog JSON feed: https://verifymcp.io/servers/mahdi-salmanzade-mcp-dubai/mcp-dubai.json
- HTML version of this page: https://verifymcp.io/servers/mahdi-salmanzade-mcp-dubai/mcp-dubai
