Skip to content
verify mcp Beta VerifyMCP is currently in beta. If you notice any issues, get in touch and we’ll put it right.

MCP Dubai

PYPI · MCP-DUBAI

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

Available components

+7 this week 87 Trust /100

Last scanned (18 hours ago)

Scores higher than 89% of PyPI servers

Category Maps and Location

Trust breakdown (7 categories)

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. How we score → Why this is hard to score →

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

Every change we have recorded for this component, newest first. Security-relevant changes are always shown. ▲ marks a change for the better, ▼ a change for the worse; unmarked changes are neutral.

  • 4 Nov 26 +15
    • Malware scan: unverified → pass ▲ security
  • 3 Nov 26 −14
    • Malware scan: pass → unverified ▼ security
  • 1 Nov 26 +6
    • Stability: unverified → 0.40 ▲ functional
  • 31 Oct 26 +15
    • Malware scan: unverified → pass ▲ security
  • 30 Oct 26 −15
    • Malware scan: pass → unverified ▼ security
  • 22 Oct 26 +15
    • Malware scan: unverified → pass ▲ security
  • 20 Oct 26 65

    First indexed and scored.

Diagnostics

Diagnostic detail from the automated scan of this channel: what the scanner observed at each step, so you can see exactly where a check passed or failed. It is informational only and never changes the trust score.

Captured 4 Nov 2026 · Analysed pypi/mcp-dubai@0.4.0

Provenance Verified

A signed build attestation was found and verified, binding this exact artifact to the source repository it claims to come from.

Result Verified
Ecosystem pypi
Reason Verified
Discovered via Registry attestation endpoint
Source repo mahdi-salmanzade/MCP-Dubai
Certificate issuer https://token.actions.githubusercontent.com
Certificate SAN https://github.com/mahdi-salmanzade/MCP-Dubai/.github/workflows/publish.yml@refs/tags/v0.4.0
Rekor log index 3339024028
Predicate type PyPI publish attestation https://docs.pypi.org/attestations/publish/v1
Subject digest sha256:e7e95775e092a9791743f8bf81d5c389521400a3636ab95c5f09b32527423b2b

Background: How many MCP packages publish verified provenance →

Install scripts 1 script
Hook Tier Command
build_backend allowlisted hatchling.build

Background: Why install scripts are a supply-chain risk →

Dependencies 41 packages
Packages resolved 41
Stale 2
Tree resolution Complete

Background: SBOMs and build attestations, explained →

MCP tools · 120 exposed · ~10,279 tokens

The tools this component advertises to a client, with an estimated token cost for each. Expand a tool to see its parameters and schema. The per-tool counts are indicative and are not scored directly; the schema's total context footprint is one signal in Schema Quality & AI Usability. A tool's description is untrusted text the model reads on every call, which is what makes this list a security surface and not just an inventory: how tool poisoning works →

Tool Tokens
golden_visa_check ~257

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

NameTypeReqDescription
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.

Structured output declared, but exposes no named fields.

No examples provided.

grant_programs ~59

List UAE government grant and funding support programs.

NameTypeReqDescription
grant_type––Optional type filter (accelerator_support_and_credit_guarantee, venture_fund, support_programs_and_loan_route, interest_free_business_loans_and_nonfinancial_support).

Structured output declared, but exposes no named fields.

No examples provided.

gregorian_to_hijri ~72

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

NameTypeReqDescription
dayintegeryesGregorian day, 1 to 31.
monthintegeryesGregorian month, 1 to 12.
yearintegeryesGregorian year (e.g., 2026).

Structured output declared, but exposes no named fields.

No examples provided.

grocery_estimate ~37

Monthly and weekly grocery ranges plus the staples basket.

NameTypeReqDescription
household_sizestring–One of: single, couple, family_of_four.

Structured output declared, but exposes no named fields.

No examples provided.

halal_certification ~89

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.

NameTypeReqDescription
product_category––Optional filter on the products list.

Structured output declared, but exposes no named fields.

No examples provided.

hijri_to_gregorian ~87

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

NameTypeReqDescription
dayintegeryesHijri day, 1 to 30.
monthintegeryesHijri month, 1 (Muharram) to 12 (Dhu al-Hijjah).
yearintegeryesHijri year (e.g., 1447).

Structured output declared, but exposes no named fields.

No examples provided.

ip_protection ~35

Return UAE IP protection guidance.

NameTypeReqDescription
ip_typestring–One of "trademark", "patent", "copyright".

Structured output declared, but exposes no named fields.

No examples provided.

is_uae_holiday ~37

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

NameTypeReqDescription
date_strstringyesISO date YYYY-MM-DD.

Structured output declared, but exposes no named fields.

No examples provided.

khda_list_areas ~22

List the Dubai areas covered by schools in the snapshot.

Input schema present but exposes no named parameters.

Structured output declared, but exposes no named fields.

No examples provided.

khda_list_curricula ~29

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

Input schema present but exposes no named parameters.

Structured output declared, but exposes no named fields.

No examples provided.

khda_search_school ~155

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

NameTypeReqDescription
area––Substring match on area / neighborhood (e.g., "Jumeirah").
curriculum––Substring match on curriculum (e.g., "British", "IB").
limitinteger–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".

Structured output declared, but exposes no named fields.

No examples provided.

late_payment_penalty_estimate ~122

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.

NameTypeReqDescription
days_lateintegeryes–
tax_due_aednumberyes–

Structured output declared, but exposes no named fields.

No examples provided.

legal_translation_estimate ~76

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.

NameTypeReqDescription
pagesintegeryesNumber of pages.
same_dayboolean–True for same-day turnaround (25 to 50% uplift).

Structured output declared, but exposes no named fields.

No examples provided.

list_banks ~19

List every UAE business bank in the curated dataset.

Input schema present but exposes no named parameters.

Structured output declared, but exposes no named fields.

No examples provided.

list_features ~60

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`.

Input schema present but exposes no named parameters.

NameTypeReqDescription
resultarrayyes–

No examples provided.

list_free_zones ~41

List every Dubai free zone in the curated dataset. Returns a compact list with id, name, sector, location, and initial license cost in AED.

Input schema present but exposes no named parameters.

Structured output declared, but exposes no named fields.

No examples provided.

list_honorifics ~51

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.

Input schema present but exposes no named parameters.

Structured output declared, but exposes no named fields.

No examples provided.

list_offshore ~25

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

Input schema present but exposes no named parameters.

Structured output declared, but exposes no named fields.

No examples provided.

list_plan_categories ~19

List the available data_analyst plan categories.

Input schema present but exposes no named parameters.

Structured output declared, but exposes no named fields.

No examples provided.

list_salutations ~21

List bilingual opening and closing salutations for UAE business letters.

Input schema present but exposes no named parameters.

Structured output declared, but exposes no named fields.

No examples provided.

list_uae_weather_cities ~27

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

Input schema present but exposes no named parameters.

Structured output declared, but exposes no named fields.

No examples provided.

list_visa_types ~20

List every UAE visa type in the curated dataset.

Input schema present but exposes no named parameters.

Structured output declared, but exposes no named fields.

No examples provided.

makani_details ~90

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.

NameTypeReqDescription
makani_numberstringyesMakani number, 10 digits with or without a space, e.g. "30032 95320" or "3003295320".

Structured output declared, but exposes no named fields.

No examples provided.

makani_reverse_geocode ~118

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.

NameTypeReqDescription
latitudenumberyesLatitude in decimal degrees (WGS84), e.g. 25.26464.
longitudenumberyesLongitude in decimal degrees (WGS84), e.g. 55.31217.

Structured output declared, but exposes no named fields.

No examples provided.

makani_validate ~81

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.

NameTypeReqDescription
makani_numberstringyesMakani number, 10 digits with or without a space, e.g. "30032 95320" or "3003295320".

Structured output declared, but exposes no named fields.

No examples provided.

moiat_requirements ~57

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.

Input schema present but exposes no named parameters.

Structured output declared, but exposes no named fields.

No examples provided.

nol_card_guide ~90

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).

NameTypeReqDescription
card_type––Optional card type filter substring.

Structured output declared, but exposes no named fields.

No examples provided.

osm_list_categories ~23

List the curated POI categories supported by `osm_search_poi`.

Input schema present but exposes no named parameters.

Structured output declared, but exposes no named fields.

No examples provided.

osm_search_poi ~128

Find OpenStreetMap points of interest near a Dubai location.

NameTypeReqDescription
categorystringyesOne 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…
latitudenumberyesCentre latitude.
limitinteger–Max results to return.
longitudenumberyesCentre longitude.
radius_metersinteger–Search radius in metres (max 10000).

Structured output declared, but exposes no named fields.

No examples provided.

parking_zones ~183

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.

Input schema present but exposes no named parameters.

Structured output declared, but exposes no named fields.

No examples provided.

pdpl_compliance ~73

Return data protection compliance details for a UAE jurisdiction.

NameTypeReqDescription
jurisdictionstring–One of "uae_federal" (Federal Decree-Law 45/2021), "difc" (DIFC Law 5/2020), "adgm" (ADGM DPR 2021).

Structured output declared, but exposes no named fields.

No examples provided.

plan_query ~61

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

NameTypeReqDescription
categorystringyesOne of: founder_setup, market_research, compliance_checkup, relocation.
inputs––Optional dict of named inputs to substitute into the plan's args templates.

Structured output declared, but exposes no named fields.

No examples provided.

portal_guide ~108

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

NameTypeReqDescription
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".

Structured output declared, but exposes no named fields.

No examples provided.

prayer_times_calendar ~111

Get prayer times for an entire month in one call.

NameTypeReqDescription
citystringyesCity name (e.g., "Dubai").
countrystring–Country name. Defaults to "United Arab Emirates".
methodinteger–Calculation method ID. 8 = Gulf Region (default).
monthintegeryesMonth number, 1 to 12.
schoolinteger–Asr school. 0 = Shafi (default).
yearintegeryesGregorian year.

Structured output declared, but exposes no named fields.

No examples provided.

prayer_times_for ~241

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.

NameTypeReqDescription
city––City name (default Dubai). Use this OR coordinates.
countrystring–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.
methodinteger–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.
schoolinteger–Asr school. 0 = Shafi (default for UAE), 1 = Hanafi.

Structured output declared, but exposes no named fields.

No examples provided.

pro_services_estimate ~69

Estimate annual PRO service cost.

NameTypeReqDescription
license_renewals_per_yearinteger–How many license renewals per year.
use_retainerboolean–True to force a monthly retainer estimate.
visas_per_yearinteger–How many visa transactions are expected per year.

Structured output declared, but exposes no named fields.

No examples provided.

qfzp_check ~76

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.

NameTypeReqDescription
industrystring––
is_free_zoneboolean––

Structured output declared, but exposes no named fields.

No examples provided.

qibla_direction ~47

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

NameTypeReqDescription
latitudenumberyesLatitude in decimal degrees.
longitudenumberyesLongitude in decimal degrees.

Structured output declared, but exposes no named fields.

No examples provided.

quran_ayah ~76

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

NameTypeReqDescription
editionstring–Edition slug. Default `quran-uthmani`.
referencestringyessurah:ayah (e.g., "2:255") or absolute ayah number.

Structured output declared, but exposes no named fields.

No examples provided.

quran_juz ~58

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

NameTypeReqDescription
editionstring–Edition slug. Default `quran-uthmani`.
numberintegeryesJuz number, 1 to 30.

Structured output declared, but exposes no named fields.

No examples provided.

quran_search ~99

Search the Quran for a phrase.

NameTypeReqDescription
editionstring–Edition slug or language code (e.g., "en" or "ar").
limitinteger–Maximum matches to return, from 1 to 100. Defaults to 25.
offsetinteger–Zero-based match offset for pagination.
querystringyesPhrase to search for.
surahstring–Surah number or "all".

Structured output declared, but exposes no named fields.

No examples provided.

quran_surah ~110

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

NameTypeReqDescription
editionstring–Edition slug. Default `quran-uthmani` (Arabic Uthmani). Common alternatives: `en.sahih` (Sahih International English), `en.pickthall`, `ur.jalandhry` (Urdu).
numberintegeryesSurah number, 1 (Al-Fatiha) to 114 (An-Nas).

Structured output declared, but exposes no named fields.

No examples provided.

recommend_tools ~87

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.

NameTypeReqDescription
querystringyesWhat you are trying to do, in plain English or Arabic.
top_kinteger–Maximum number of recommendations to return (default 5).
NameTypeReqDescription
resultarrayyes–

No examples provided.

rent_estimate ~66

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

NameTypeReqDescription
areastring–Area name, case-insensitive (e.g. Dubai Marina, JLT, JVC).
bedroomsstring–One of: studio, 1BR, 2BR.

Structured output declared, but exposes no named fields.

No examples provided.

rental_dispute_guide ~76

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).

NameTypeReqDescription
annual_rent––Optional annual rent in AED to compute the filing fee.

Structured output declared, but exposes no named fields.

No examples provided.

rera_rent_increase ~110

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.

NameTypeReqDescription
area_average_rentnumberyesThe area average market rent in AED (RERA Rent Index).
current_annual_rentnumberyesThe current annual rent in AED.

Structured output declared, but exposes no named fields.

No examples provided.

rta_gtfs_static_url ~84

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.

Input schema present but exposes no named parameters.

Structured output declared, but exposes no named fields.

No examples provided.

rta_salik_tariff ~104

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.

Input schema present but exposes no named parameters.

Structured output declared, but exposes no named fields.

No examples provided.

rta_search_bus_routes ~46

Search Dubai bus routes via Dubai Pulse. Tier 1, requires Dubai Pulse credentials.

NameTypeReqDescription
limitinteger––
origin–––
route_number–––

Structured output declared, but exposes no named fields.

No examples provided.

rta_search_metro_stations ~104

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.

NameTypeReqDescription
limitinteger–Max records.
line––Optional line filter (Red, Green, Route 2020).

Structured output declared, but exposes no named fields.

No examples provided.

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.

pypi · mcp-dubai

# add to Claude Code
claude mcp add mahdi-salmanzade-mcp-dubai -- uvx mcp-dubai
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.