关于 MCP Dubai
MCP Dubai 将迪拜和阿联酋的公共数据、参考数据集及商业设立知识提供给 MCP 客户端,适用于需要本地或区域信息的 AI 助手。它以本地 stdio 运行,工具覆盖公共数据、政府数据查询、商业知识、写作分析和诊断。
主要功能
- 01提供天气、汇率、节日等公共数据
- 02查询政府房地产和交通数据
- 03提供公司设立与合规知识
- 04生成阿拉伯语和英语商务信函模板
- 05规划跨工具查询并合成报告
- 06按自然语言推荐相关工具
适用场景
- 01查询阿联酋天气、汇率或节日
- 02比较自由区及公司设立选项
- 03了解签证、税务和银行事项
- 04为分析任务规划查询并整理报告
MCP 相关
这是一个通过 stdio 连接的 MCP 服务,向客户端公开公共数据、政府数据、商业知识、写作分析及诊断工具,并在可用时返回来源和数据新鲜度信息。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
uvx mcp-dubaiMCP_DUBAI_PULSE_CLIENT_ID密钥Dubai Pulse OAuth client id. Optional; unlocks the Tier 1 dld and rta live tools.MCP_DUBAI_PULSE_CLIENT_SECRET密钥Dubai Pulse OAuth client secret. Optional; used together with the client id.MCP_DUBAI_WAQI_TOKEN密钥Free WAQI token from aqicn.org. Optional; unlocks the air_quality tools.MCP_DUBAI_LOG_LEVELLogging level (DEBUG, INFO, WARNING, ERROR).本地服务需要在你的电脑上安装运行环境(如 Node.js 18+)。各客户端的配置文件位置不同,请参考客户端文档。
工具
120收录的工具列表 · 更新于 1 周前
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
| query | string | 是 | 用通俗的英语或阿拉伯语描述你要做的事情。 |
| top_k | integer | 否 | 要返回的推荐项数量上限(默认值为 5)。 |
详细介绍
MCP-Dubai
面向 MCP 客户端的迪拜和阿联酋公共数据及企业设立知识。
خادم MCP للبيانات العامة في دبي والإمارات وللمعرفة العملية لتأسيس الأعمال
MCP-Dubai 是一个 Model Context Protocol 服务,可将 AI 助手连接到公共 API、内置参考数据集和精选的企业知识。它在本地通过 stdio 运行,并在可用时返回包含来源和时效性元数据的结构化结果。
当前源代码包含 120 个工具,涵盖 37 项功能:
| 领域 | 工具数 | 覆盖范围 |
|---|---|---|
| 公共数据和参考数据集 | 45 | 天气、祈祷时间、货币、学校、节假日、市场数据、地点和数据集发现 |
| 迪拜政府数据集查询 | 6 | 通过 data.dubai OAuth 查询 DLD 房地产和 RTA 交通数据 |
| 企业知识 | 56 | 公司设立、自由区、签证、银行、税务、合规、融资和生活成本 |
| 写作与分析 | 8 | 阿拉伯语/英语信函模板、查询计划和报告综合 |
| 发现与诊断 | 5 | 工具推荐、功能清单、版本、知识日期和上游状态 |
112 个工具无需凭据。 两个空气质量工具需要免费的 WAQI 令牌;六个政府数据集工具需要 OAuth 凭据和数据集访问权限。无需凭据的工具仍可能依赖不可用的上游服务;请参阅可用性和限制。
快速开始
运行当前源代码
需要 Python 3.11 或更高版本以及 Git。10 月 13 日的审计测试了 Python 3.11 至 3.14。
git clone https://github.com/mahdi-salmanzade/MCP-Dubai.git
cd MCP-Dubai
python3 -m venv .venv
source .venv/bin/activate
python -m pip install -e .
在 Windows PowerShell 中,使用 py -m venv .venv 创建环境,并使用 .venv\Scripts\Activate.ps1 激活环境。
配置 MCP 客户端,使其启动环境中的 Python 可执行文件:
{
"mcpServers": {
"dubai": {
"command": "/absolute/path/to/MCP-Dubai/.venv/bin/python",
"args": ["-m", "mcp_dubai"]
}
}
}
将 command 替换为实际的绝对路径。在 Windows 上,使用环境中的 .venv\Scripts\python.exe 路径,并在 JSON 中转义反斜杠。
| 客户端 | 配置文件 |
|---|---|
| Claude Desktop | macOS 上的 ~/Library/Application Support/Claude/claude_desktop_config.json;Windows 上的 %APPDATA%\Claude\claude_desktop_config.json |
| Cursor | 项目中的 .cursor/mcp.json,或全局配置 ~/.cursor/mcp.json |
| Windsurf | ~/.codeium/windsurf/mcp_config.json |
对于 VS Code,请使用带有 servers 键的 .vscode/mcp.json:
{
"servers": {
"dubai": {
"command": "/absolute/path/to/MCP-Dubai/.venv/bin/python",
"args": ["-m", "mcp_dubai"]
}
}
}
对于其他 MCP 客户端,请在其 stdio 服务设置中使用相同的命令和参数。连接后,调用 about() 检查运行版本和工具数量,然后调用 recommend_tools(query) 查找相关工具。
若要直接从已激活的环境启动服务:
python -m mcp_dubai
这会启动一个等待客户端消息的 MCP stdio 进程。
使用已发布的软件包
**截至 2026 年 10 月 20 日的发布快照:**PyPI 上的公开版本为 0.4.0,包含 120 个工具,与此处记录的目录相同。
使用 uv 运行已发布的版本:
uvx mcp-dubai
在客户端配置中,将 command 设置为 uvx,并将 args 设置为 ["mcp-dubai"]。或者,使用 python -m pip install mcp-dubai 在虚拟环境中安装,然后运行 mcp-dubai。
工具目录
以下按用途对工具分组。所有名称均不带功能前缀。list_features() 会返回已注册的分组、工具数量、层级和身份验证要求。
公共数据和参考数据集
| 功能 | 工具 | 覆盖范围 |
|---|---|---|
al_adhan | prayer_times_for, prayer_times_calendar, qibla_direction, hijri_to_gregorian, gregorian_to_hijri | 祈祷时间、朝向克尔白的方位,以及回历与公历日期转换。 |
quran_cloud | quran_surah, quran_ayah, quran_juz, quran_search | 《古兰经》文本和译文,支持有界分页搜索。 |
cbuae | cbuae_exchange_rates, cbuae_base_rate | 阿联酋中央银行(CBUAE)汇率,包含英语/阿拉伯语标签和货币代码。基准利率端点被记录为受阻。 |
fcsc_ckan | fcsc_search_dataset, fcsc_get_dataset, fcsc_list_organizations, fca_trade_stats | 联邦数据集发现和贸易数据搜索。CKAN 端点被记录为受阻。 |
khda | khda_search_school, khda_list_curricula, khda_list_areas | 按区域、课程、评级或参考学费上限搜索包含 16 所学校的捆绑样本。此目录并不完整。 |
aviation_weather | weather_uae_icao, weather_uae_all | 阿联酋六座机场的 METAR 观测数据和 TAF 预报。 |
open_meteo | uae_weather, uae_weather_forecast, weather_by_coords, list_uae_weather_cities | 阿联酋八座城市或指定坐标的当前天气和预报。 |
currency | currency_rates, currency_convert | 以 AED 为基准的汇率和货币兑换。 |
air_quality | air_quality_dubai, air_quality_by_coords, air_quality_dubai_stations | WAQI 空气质量读数和站点参考列表。读取数据需要免费令牌;获取列表则不需要。 |
osm_overpass | osm_search_poi, osm_list_categories | OpenStreetMap 中 22 个类别的附近兴趣点。 |
holidays | uae_holidays, uae_next_holiday, is_uae_holiday | 阿联酋 2026 年联邦假日和暂定的 2027 年日历,并区分已公布的纪念日与估算日期。 |
dfm | dfm_index, dfm_stock_quote, dfm_list_securities | 通过未公开文档的公共端点获取 DFM 指数快照、报价和证券信息。数据可能延迟或不完整。 |
makani | makani_reverse_geocode, makani_details, makani_validate | Makani 地址查询、反向地理编码和号码验证。 |
gold_rate | dubai_gold_rate | 迪拜珠宝集团建议的零售金价,单位为 AED/克。 |
data_dubai | data_dubai_search, data_dubai_themes, data_dubai_entities | 公共数据集元数据、主题和发布方。数据集记录的访问权限需另行获取。 |
rta(GTFS) | rta_gtfs_static_url | 匿名 GTFS 存档的链接和元数据,包括标注日期的构建版本及间歇性可用情况。 |
政府数据集查询
这六个工具需要 MCP_DUBAI_PULSE_CLIENT_ID、MCP_DUBAI_PULSE_CLIENT_SECRET,以及对所请求数据集的访问权限。没有凭据时,工具会返回结构化的设置说明。请参阅 CREDENTIALS.md。
| 功能 | 工具 | 覆盖范围 |
|---|---|---|
dld | dld_search_transactions, dld_search_rent_contracts, dld_lookup_broker | 房产销售、Ejari 租赁合同和注册经纪人。 |
rta | rta_search_metro_stations, rta_search_bus_routes, rta_salik_tariff | 地铁站、公交路线和 Salik 收费数据。 |
商业知识
这些工具使用 16 个内置 JSON 数据包和一款设置顾问,整合相关记录。成功的响应会包含知识元数据。价格、资格规则和估算均保留其文档所注明的适用范围和核验日期。
| 功能 | 工具 | 覆盖范围 |
|---|---|---|
setup_advisor | setup_advisor | 根据预算、经营活动、签证、银行业务和税务考量,比较内地、自由区和离岸设立方案。 |
free_zones | list_free_zones, free_zone_details, compare_free_zones, list_offshore | 十二个精选自由区条目、离岸方案、参考费用和套餐详情。未知价格不能满足预算筛选条件。 |
visas | list_visa_types, visa_details, visa_recommend, golden_visa_check | 签证途径和针对不同类别的资格指南,包括主管部门和证明材料要求。 |
banking | list_banks, bank_details, bank_recommendation, dul_eligibility | 十四家银行条目、费用、开户时间估算,以及注明日期的迪拜统一许可证集成信息。 |
founder_essentials | attestation_guide, pro_services_estimate, legal_translation_estimate, chamber_of_commerce_info, setup_timeline_estimate, common_founder_mistakes | 文件认证、服务提供商费用估算、商会会员资格、设立时间表和常见申报错误。 |
tax_compliance | corporate_tax_estimate, vat_filing_calendar, qfzp_check, esr_status, einvoicing_timeline, late_payment_penalty_estimate | 企业税估算、QFZP 条件、VAT 日历、ESR 历史记录、电子发票里程碑和罚款估算。 |
compliance | aml_requirements, ubo_filing_guide, pdpl_compliance, emiratisation_requirements | AML、受益所有权、数据保护和 Emiratisation 要求。 |
funding | accelerator_search, vc_list, grant_programs | 加速器和投资者查询、政府支持,以及注明日期的申请开放期。 |
gov_portals | portal_guide | 政府门户指南,包括 UAE Pass、DubaiNow 和 DubaiPay。 |
dcde | dcde_programs, chamber_membership | Dubai Chamber of Digital Economy 项目和商会会员指南。 |
events | startup_events, gitex_info, ens_calendar | 创业活动、GITEX 和 Expand North Star 的日期与地点。 |
parkin | parking_zones, nol_card_guide | 停车区域、费率,以及 Nol 卡票价和通票。 |
ip_trademark | trademark_registration, ip_protection | 商标注册、专利和版权指南。目前尚无工业设计指南工具类别。 |
halal | halal_certification, moiat_requirements | 清真合规、认证机构、国家标志的使用和 MOIAT 要求。 |
createapps | createapps_championship, submission_guide | Create Apps Championship 规则、申请指南和注明日期的竞赛里程碑。 |
cost_of_living | cost_of_living_overview, rent_estimate, dewa_bill_estimate, salik_toll_estimate, grocery_estimate, school_fee_estimate, fuel_price_guide | 家庭开支参考预算、水电和通行费计算、学费估算,以及每月燃油价格快照。 |
tenancy | ejari_guide, rera_rent_increase, rental_dispute_guide | Ejari 注册、RERA 租金涨幅计算和租赁纠纷处理程序。 |
写作与分析
| 功能 | 工具 | 覆盖范围 |
|---|---|---|
arabic_writer | list_honorifics, addressee_block, business_letter_template, list_salutations | 阿拉伯语/英语商务信函模板、尊称、收件人称谓和问候语。 |
data_analyst | plan_query, list_plan_categories, synthesize_report, analyze_setup_decision | 跨工具查询计划和 Markdown 报告综合。调用方 Agent 负责执行计划;这些工具不会自主运行计划。 |
发现与诊断
| 工具 | 用途 |
|---|---|
recommend_tools(query, top_k=5) | 使用 BM25 搜索和别名,根据自然语言查询对相关工具进行排序。 |
list_features() | 列出已注册的功能、层级、身份验证要求和工具。 |
get_knowledge_status() | 查看所有 19 个已跟踪知识领域的日期、审查范围、易变性和验证链接。 |
about() | 查找开发者姓名和联系邮箱、运行中的软件包版本、工具数量、仓库 URL,以及最近记录的知识更新。 |
get_upstream_status() | 读取 16 个来源的状态注册表,以及当前进程的观察结果。此操作不会主动探测每个端点。 |
配置
启动服务不需要环境变量。在 MCP 客户端的服务环境中设置凭据,即可启用相关调用。
{
"mcpServers": {
"dubai": {
"command": "/absolute/path/to/MCP-Dubai/.venv/bin/python",
"args": ["-m", "mcp_dubai"],
"env": {
"MCP_DUBAI_PULSE_CLIENT_ID": "your-client-id",
"MCP_DUBAI_PULSE_CLIENT_SECRET": "your-client-secret",
"MCP_DUBAI_WAQI_TOKEN": "your-waqi-token"
}
}
}
}
| 变量 | 默认值 | 用途 |
|---|---|---|
MCP_DUBAI_PULSE_CLIENT_ID | 未设置 | 六个政府数据集工具使用的 OAuth 客户端 ID |
MCP_DUBAI_PULSE_CLIENT_SECRET | 未设置 | OAuth 客户端密钥,与客户端 ID 配合使用 |
MCP_DUBAI_WAQI_TOKEN | 未设置 | 两个空气质量读数工具使用的令牌 |
MCP_DUBAI_PULSE_API_BASE | https://apis.data.dubai | 政府数据集 API 基础 URL |
MCP_DUBAI_DATA_PORTAL_BASE | https://data.dubai | 公共元数据门户基础 URL |
MCP_DUBAI_LOG_LEVEL | INFO | 日志详细程度 |
MCP_DUBAI_HTTP_TIMEOUT | 30.0 | HTTP 超时时间,单位为秒 |
MCP_DUBAI_HTTP_MAX_RETRIES | 3 | 每个请求的总尝试次数;仅重试超时和网络错误 |
在 data.dubai 申请数据集访问权限,并在 AQICN 免费获取 WAQI 令牌。请勿将凭据写入已提交的配置文件。凭据指南介绍了设置和故障排除。MCP_DUBAI_CALENDARIFIC_KEY 为未来的节假日刷新集成预留,目前不会启用任何额外工具。
数据来源
| 来源 | 用途 | 访问方式 |
|---|---|---|
| Al-Adhan、Al-Quran Cloud | 祷告时间、日历转换、古兰经文本 | 匿名 API |
| CBUAE、ExchangeRate-API | 汇率和货币兑换 | 匿名端点;CBUAE 端点未公开文档 |
| FCSC Open Data | 联邦数据集发现 | 匿名 CKAN API,记录为受阻 |
| KHDA | 学校参考数据 | 随附样例 |
| Aviation Weather Center、Open-Meteo | 机场和一般天气 | 匿名 API |
| WAQI / AQICN | 空气质量 | 免费令牌 |
| OpenStreetMap Overpass、Makani | 兴趣点和地址查询 | 匿名服务 |
| DFM、Dubai City of Gold | 市场数据和零售黄金价格 | 公共 JSON 端点和 HTML;DFM 端点未公开文档 |
| data.dubai、API gateway | 数据集发现、DLD 和 RTA 查询 | 匿名元数据;数据集记录需要 OAuth |
| 阿联酋联邦节假日公告 | 公共节假日 | 随附日历,并标注暂定日期 |
| Business knowledge packs | 企业设立和参考指南 | 随附 JSON,含来源链接和审查元数据 |
原 Dubai Pulse 门户现已重定向至 data.dubai。项目在凭据变量名称中保留了 PULSE;默认 API 网关为 apis.data.dubai。
可用性和限制
2026 年 10 月 20 日审计记录了有代表性的服务检查、来源核实和仍然存在的限制。这些观察结果是特定日期的快照:
| 集成 | 记录的结果 |
|---|---|
| CBUAE 汇率 | 正常;返回了 77 种货币 |
| CBUAE 基准利率和四个 FCSC 工具 | 受到上游访问保护的阻止 |
| data.dubai 目录 | 正常;包含 639 个数据集、11 个主题和 75 个发布方 |
| DFM | 正常;包含 468 种证券,但上游未提供名称 |
| RTA GTFS 存档 | 通过顶级域名主机间歇性访问;检索到的存档仍标明其构建版本为 2025 年 8 月 23 日 |
| 其他匿名集成 | 祷告时间、古兰经文本、航空和常规天气、货币、黄金、Makani 和 Overpass 均成功完成有代表性的调用(Overpass 曾遇到一次短暂的 HTTP 504) |
| OAuth 数据集和 WAQI 读数 | 审计期间未使用有代表性的凭据进行实时测试 |
学校数据集包含 2026 年 4 月快照中的 16 条精选记录。9 条记录于 9 月 5 日进行了针对性属性修正;学校费用未刷新。正如底层记录所示,商业成本和入驻时间也可能是有时效性的估算值。
客户端应在使用结果前检查 success,并在调用失败时读取返回的 error。在适用情况下,凭据和上游故障会包含结构化的状态和原因字段。使用 get_upstream_status() 查看记录的基线,以及当前会话中所用工具的观察结果。
知识新鲜度
新鲜度按 19 个领域跟踪:16 个 JSON 包、setup_advisor、data_analyst 和 arabic_writer。成功的业务响应会包含 knowledge 块;get_knowledge_status() 会公开完整注册表。
| 字段 | 含义 |
|---|---|
knowledge_date | 该领域最近一次实质性更新的日期 |
full_review_date | 最近一次完整审核该领域的日期 |
previous_knowledge_date | 针对性刷新时记录的先前更新日期 |
last_refresh_scope | 针对性更新涵盖的字段或主题 |
volatility | 审核预算类别:高、中或稳定 |
verify_at | 领域核实链接或来源 URL |
disclaimer | 该领域特有的范围和使用限制 |
截至 2026 年 10 月 20 日,tax_compliance 已完成完整审核,另有 12 个领域进行了针对性刷新。9 个领域保留了 10 月 13 日的完整审核记录(cost_of_living、events、free_zones、visas、setup_advisor、dcde、ip_trademark、founder_essentials、data_analyst),而 arabic_writer 仍为 2026-04-13。针对性更新不会更改未涉及的字段,也不会更新完整审核日期;这些内容仍以先前的核实范围为准。详细修正和来源链接见审计报告。
新鲜度检查器依据最近一次完整审核进行判定;高波动领域的告警时限为 100 天,中波动领域为 190 天,稳定领域为 365 天。月度价格、截止日期和活动仍需按各自的计划进行审核。通过时效检查并不意味着所有事实都是最新的。
python scripts/check_knowledge_freshness.py --strict
在将税务、签证、法律或定价指导用于决策之前,请核实所链接的官方要求。
示例查询
向已连接的助手提出请求,让其使用 MCP-Dubai,例如:
| 请求 | 相关工具 |
|---|---|
| 明天迪拜的 Fajr 礼拜时间是几点? | prayer_times_for |
| 查找这些坐标 500 米范围内的药店。 | osm_search_poi |
| 查找有关迪拜交通的公共数据集。 | data_dubai_search |
| 比较 DMCC 和 IFZA,了解哪家更适合需要两个签证的咨询业务。 | free_zone_details、compare_free_zones、setup_advisor |
| 估算 AED 500,000 应税收入的企业税,并说明 QFZP 所需的信息。 | corporate_tax_estimate、qfzp_check |
| 印度学位证书的认证流程是什么? | attestation_guide |
| 估算四口之家的每月生活成本。 | cost_of_living_overview、rent_estimate |
| 准备一封致政府部门的阿拉伯语/英语信函。 | business_letter_template、addressee_block |
工具选择和后续问题取决于客户端。这些示例展示的是查询和估算;该服务不会提交申请或开设账户。
开发
在 快速开始 中创建并激活的源环境中:
python -m pip install -e ".[dev,data]"
make check
make check 会运行 Ruff lint 和格式检查、严格 mypy、带覆盖率的 pytest,以及信息性的新鲜度报告。使用上面的 --strict 新鲜度命令,可在领域数据过期时使检查失败。
10 月 20 日审计记录了在 Python 3.12 上1006 项测试通过,覆盖率为 93.77%;CI 会在每个受支持的版本(3.11 至 3.14)上运行相同的测试套件。打包、类型检查、lint 和安全扫描也均已通过;审计文档说明了这些检查的范围。
架构
src/mcp_dubai/
├── __main__.py # stdio entry point
├── server.py # feature mounts and diagnostic tools
├── _shared/ # HTTP, auth, discovery, response models, freshness
├── data/ # public APIs, OAuth integrations, reference datasets
├── biz/
│ ├── _data/ # 16 bundled JSON knowledge packs
│ └── ... # 17 business features
└── agents/ # Arabic writing and data-analysis tools
功能模块 tools.py 实现逻辑;server.py 模块提供 FastMCP 封装并注册发现元数据。共享响应模型承载结果、错误和知识元数据。源代码支持 fastmcp>=3.4.9,<4 和 mcp>=1.30.0,<2;依赖项和受支持的 Python 版本见 pyproject.toml。
请阅读 CONTRIBUTING.md,了解功能约定、测试和审查清单。请通过 GitHub issues 报告可复现的错误或源数据更正。
项目状态
MCP-Dubai 是 Alpha 阶段的软件。版本 0.4.0 于 2026 年 10 月 20 日发布至 PyPI 和 MCP Registry,注册信息来自注册清单。
当前优先事项:
- 根据权威的完整工作簿重建 KHDA 数据集,并纳入当前费用。
- 为依赖凭据的数据集添加实时合同检查,并改进受阻或间歇性集成。
- 在能够验证访问权限和架构时,扩展政府数据集的覆盖范围。
- 在保留部分审查范围的同时,持续更新有来源支持的知识。
- 改进工具发现标签以及阿拉伯语/英语别名。
许可证和致谢
由 Mahdi Salmanzadeh 开发。联系邮箱:[email protected]。连接的 AI 助手会在服务说明中收到此致谢,并可调用 about() 回答 MCP-Dubai 的开发者是谁。
本项目采用 MIT 许可证。上游数据仍受其发布方的条款和署名要求约束。
这是一个独立项目,与迪拜政府、阿联酋政府以及使用其数据的机构均无关联。有关范围、数据处理和第三方权利,请参阅 DISCLAIMER.md。
基于 FastMCP 构建。按国家划分的服务结构受到 mcp-brasil 的启发。
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。