MCP Dubai

Servidor MCP de código abierto para datos públicos de Dubái y los EAU y conocimiento sobre establecimiento de empresas. Fuente actual: 120 herramientas que cubren clima, horarios de oración, divisas, ubicaciones, descubrimiento de conjuntos de datos, zonas francas, visados, banca y escritura en árabe/inglés. Python, stdio, MIT.

Documentación

UAE

MCP-Dubai

Datos públicos de Dubái y los EAU y conocimiento práctico para el establecimiento de empresas, para clientes MCP.

خادم MCP للبيانات العامة في دبي والإمارات وللمعرفة العملية لتأسيس الأعمال

PyPI Python 3.11+ CI Status: Alpha License: MIT

Inicio rápido · Herramientas · Configuración · Actualidad de los datos · Desarrollo · Última auditoría

MCP-Dubai es un servidor de Model Context Protocol que conecta asistentes de IA con APIs públicas, conjuntos de datos de referencia incluidos y conocimiento empresarial seleccionado. Se ejecuta localmente a través de stdio y devuelve resultados estructurados con metadatos de fuente y actualidad cuando están disponibles.

La fuente actual incluye 120 herramientas en 37 funciones:

ÁreaHerramientasCobertura
Datos públicos y conjuntos de datos de referencia45Clima, horarios de oración, divisas, escuelas, festivos, datos de mercado, ubicaciones y descubrimiento de conjuntos de datos
Consultas a conjuntos de datos del gobierno de Dubái6Bienes raíces DLD y transporte RTA a través de OAuth de data.dubai
Conocimiento empresarial56Constitución de empresas, zonas francas, visados, banca, impuestos, cumplimiento, financiación y coste de vida
Redacción y análisis8Plantillas de cartas en árabe/inglés, planes de consulta y síntesis de informes
Descubrimiento y diagnóstico5Recomendación de herramientas, inventario de funciones, versión, fechas de conocimiento y estado de servicios externos

112 herramientas no requieren credenciales. Dos herramientas de calidad del aire necesitan un token WAQI gratuito; seis herramientas de conjuntos de datos gubernamentales necesitan credenciales OAuth y acceso a los conjuntos de datos. Las herramientas sin credenciales pueden depender de un servicio externo no disponible; consulte disponibilidad y limitaciones.

Inicio rápido

Ejecutar la fuente actual

Requiere Python 3.11 o superior y Git. La auditoría del 5 de septiembre probó Python 3.11 hasta 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 .

En Windows PowerShell, cree el entorno con py -m venv .venv y actívelo con .venv\Scripts\Activate.ps1.

Configure su cliente MCP para iniciar el ejecutable de Python del entorno:

{
  "mcpServers": {
    "dubai": {
      "command": "/absolute/path/to/MCP-Dubai/.venv/bin/python",
      "args": ["-m", "mcp_dubai"]
    }
  }
}

Reemplace command con su ruta absoluta real. En Windows, use la ruta de .venv\Scripts\python.exe del entorno, escapando las barras invertidas en JSON.

ClienteArchivo de configuración
Claude Desktop~/Library/Application Support/Claude/claude_desktop_config.json en macOS; %APPDATA%\Claude\claude_desktop_config.json en Windows
Cursor.cursor/mcp.json en el proyecto, o ~/.cursor/mcp.json globalmente
Windsurf~/.codeium/windsurf/mcp_config.json

Para VS Code, use .vscode/mcp.json con una clave servers:

{
  "servers": {
    "dubai": {
      "command": "/absolute/path/to/MCP-Dubai/.venv/bin/python",
      "args": ["-m", "mcp_dubai"]
    }
  }
}

Para otro cliente MCP, use el mismo comando y argumentos en su configuración de servidor stdio. Después de conectarse, llame a about() para comprobar la versión en ejecución y el número de herramientas, luego recommend_tools(query) para encontrar herramientas relevantes.

Para iniciar el servidor directamente desde el entorno activado:

python -m mcp_dubai

Esto inicia un proceso MCP stdio que espera mensajes del cliente.

Usar el paquete publicado

Instantánea de la versión, 5 de septiembre de 2026: el repositorio es la versión 0.4.0 con 120 herramientas; la versión pública en PyPI es 0.2.0 con 91 herramientas. Use la instalación desde la fuente anterior para el catálogo documentado aquí.

Para ejecutar la versión publicada con uv:

uvx mcp-dubai

En una configuración de cliente, establezca command a uvx y args a ["mcp-dubai"]. Alternativamente, instálelo en un entorno virtual con python -m pip install mcp-dubai y ejecute mcp-dubai.

Catálogo de herramientas

Las herramientas se agrupan por propósito a continuación. Todos los nombres se exponen sin prefijo de función. list_features() devuelve los grupos registrados, recuentos de herramientas, niveles y requisitos de autenticación.

Datos públicos y conjuntos de datos de referencia

FunciónHerramientasCobertura
al_adhanprayer_times_for, prayer_times_calendar, qibla_direction, hijri_to_gregorian, gregorian_to_hijriHorarios de oración, direcciones de la Qibla y conversión Hijri/Gregoriano.
quran_cloudquran_surah, quran_ayah, quran_juz, quran_searchTexto del Corán y traducciones con búsqueda paginada y acotada.
cbuaecbuae_exchange_rates, cbuae_base_rateTipos de cambio del CBUAE con etiquetas en inglés/árabe y códigos de divisa. El endpoint de tipo base está registrado como bloqueado.
fcsc_ckanfcsc_search_dataset, fcsc_get_dataset, fcsc_list_organizations, fca_trade_statsDescubrimiento de conjuntos de datos federales y búsqueda de datos comerciales. El endpoint CKAN está registrado como bloqueado.
khdakhda_search_school, khda_list_curricula, khda_list_areasBúsqueda en una muestra incluida de 16 escuelas por zona, plan de estudios, calificación o límite de tarifa indicativo. Esto no es un directorio escolar completo.
aviation_weatherweather_uae_icao, weather_uae_allObservaciones METAR y pronósticos TAF para seis aeropuertos de los EAU.
open_meteouae_weather, uae_weather_forecast, weather_by_coords, list_uae_weather_citiesClima actual y pronósticos para ocho ciudades de los EAU o coordenadas proporcionadas.
currencycurrency_rates, currency_convertTipos de cambio basados en AED y conversión de divisas.
air_qualityair_quality_dubai, air_quality_by_coords, air_quality_dubai_stationsLecturas de calidad del aire WAQI y lista de referencia de estaciones. Las lecturas requieren un token gratuito; la lista no.
osm_overpassosm_search_poi, osm_list_categoriesPuntos de interés cercanos de OpenStreetMap en 22 categorías.
holidaysuae_holidays, uae_next_holiday, is_uae_holidayFestivos federales de los EAU para 2026 y un calendario provisional de 2027, con observancias anunciadas distinguidas de estimaciones.
dfmdfm_index, dfm_stock_quote, dfm_list_securitiesInstantáneas del índice DFM, cotizaciones y valores de endpoints públicos no documentados. Los datos pueden estar retrasados o incompletos.
makanimakani_reverse_geocode, makani_details, makani_validateBúsqueda de direcciones Makani, geocodificación inversa y validación de números.
gold_ratedubai_gold_rateTarifas sugeridas de oro al por menor del Dubai Jewellery Group en AED por gramo.
data_dubaidata_dubai_search, data_dubai_themes, data_dubai_entitiesMetadatos de conjuntos de datos públicos, temas y editores. El acceso a los registros de los conjuntos de datos es independiente.
rta (GTFS)rta_gtfs_static_urlEnlace y metadatos para el archivo GTFS anónimo, incluida su compilación fechada y disponibilidad intermitente.

Consultas a conjuntos de datos gubernamentales

Estas seis herramientas requieren MCP_DUBAI_PULSE_CLIENT_ID, MCP_DUBAI_PULSE_CLIENT_SECRET y acceso a los conjuntos de datos solicitados. Sin credenciales, devuelven instrucciones de configuración estructuradas. Consulte CREDENTIALS.md.

FunciónHerramientasCobertura
dlddld_search_transactions, dld_search_rent_contracts, dld_lookup_brokerVentas de propiedades, contratos de alquiler Ejari y corredores registrados.
rtarta_search_metro_stations, rta_search_bus_routes, rta_salik_tariffEstaciones de metro, rutas de autobús y datos de tarifas Salik.

Conocimiento empresarial

Estas herramientas usan 16 paquetes JSON incluidos y un asesor de configuración que combina registros relevantes. Las respuestas exitosas incluyen metadatos de conocimiento. Los precios, las reglas de elegibilidad y las estimaciones conservan su alcance documentado y sus fechas de verificación.

FunciónHerramientasCobertura
setup_advisorsetup_advisorCompare opciones de configuración en tierra firme, zonas francas y offshore usando presupuesto, actividad, visado, banca e impuestos.
free_zoneslist_free_zones, free_zone_details, compare_free_zones, list_offshoreDoce entradas seleccionadas de zonas francas, opciones offshore, costes indicativos y detalles de paquetes. Los precios desconocidos no pueden satisfacer un filtro de presupuesto.
visaslist_visa_types, visa_details, visa_recommend, golden_visa_checkRutas de visado y orientación de elegibilidad por categoría, incluidos requisitos de autoridad y evidencia.
bankinglist_banks, bank_details, bank_recommendation, dul_eligibilityCatorce entradas bancarias, tarifas, estimaciones de incorporación e información fechada de integración con la Licencia Unificada de Dubái.
founder_essentialsattestation_guide, pro_services_estimate, legal_translation_estimate, chamber_of_commerce_info, setup_timeline_estimate, common_founder_mistakesLegalización de documentos, estimaciones de costes de proveedores, membresía en la Cámara, plazos de configuración y errores comunes de presentación.
tax_compliancecorporate_tax_estimate, vat_filing_calendar, qfzp_check, esr_status, einvoicing_timeline, late_payment_penalty_estimateEstimaciones de impuesto corporativo, condiciones QFZP, calendarios de IVA, historial de ESR, hitos de facturación electrónica y estimaciones de sanciones.
complianceaml_requirements, ubo_filing_guide, pdpl_compliance, emiratisation_requirementsRequisitos de AML, titularidad real, protección de datos y emiratización.
fundingaccelerator_search, vc_list, grant_programsDescubrimiento de aceleradoras e inversores, apoyo gubernamental y ventanas de solicitud fechadas.
gov_portalsportal_guideOrientación sobre portales gubernamentales, incluidos UAE Pass, DubaiNow y DubaiPay.
dcdedcde_programs, chamber_membershipProgramas de la Cámara de Economía Digital de Dubái y orientación sobre membresía en la Cámara.
eventsstartup_events, gitex_info, ens_calendarEventos de startups, GITEX y fechas y sedes de Expand North Star.
parkinparking_zones, nol_card_guideZonas de aparcamiento, tarifas y tarifas y pases de la tarjeta Nol.
ip_trademarktrademark_registration, ip_protectionRegistro de marcas, patentes y orientación sobre derechos de autor. La orientación sobre diseño industrial aún no es una categoría de herramienta.
halalhalal_certification, moiat_requirementsConformidad Halal, organismos de certificación, uso de la Marca Nacional y requisitos MOIAT.
createappscreateapps_championship, submission_guideReglas del Campeonato Create Apps, orientación de solicitud e hitos de competencia fechados.
cost_of_livingcost_of_living_overview, rent_estimate, dewa_bill_estimate, salik_toll_estimate, grocery_estimate, school_fee_estimate, fuel_price_guidePresupuestos domésticos indicativos, cálculos de servicios públicos y peajes, estimaciones de tarifas escolares e instantáneas mensuales de precios de combustible.
tenancyejari_guide, rera_rent_increase, rental_dispute_guideRegistro Ejari, cálculos de aumento de alquiler RERA y procedimientos de disputas de alquiler.

Redacción y análisis

FunciónHerramientasCobertura
arabic_writerlist_honorifics, addressee_block, business_letter_template, list_salutationsPlantillas de cartas comerciales en árabe/inglés, tratamientos honoríficos, destinatarios y saludos.
data_analystplan_query, list_plan_categories, synthesize_report, analyze_setup_decisionPlanes de consulta entre herramientas y síntesis de informes en Markdown. El agente que llama ejecuta el plan; estas herramientas no lo ejecutan de forma autónoma.

Descubrimiento y diagnóstico

HerramientaPropósito
recommend_tools(query, top_k=5)Clasifica herramientas relevantes para una consulta en lenguaje natural usando búsqueda BM25 y alias.
list_features()Lista funciones registradas, niveles, requisitos de autenticación y herramientas.
get_knowledge_status()Inspecciona fechas, revisa alcance, volatilidad y enlaces de verificación para los 19 dominios de conocimiento rastreados.
about()Comprueba la versión del paquete en ejecución, el número de herramientas, la URL del repositorio y la última actualización de conocimiento registrada.
get_upstream_status()Lee el registro de estado de las 16 fuentes y las observaciones del proceso actual. Esto no sondea activamente cada endpoint.

Configuración

No se requieren variables de entorno para iniciar el servidor. Establezca las credenciales en el entorno del servidor del cliente MCP para habilitar las llamadas relevantes.

{
  "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"
      }
    }
  }
}
VariableValor predeterminadoPropósito
MCP_DUBAI_PULSE_CLIENT_IDSin definirID de cliente OAuth para las seis herramientas de conjuntos de datos gubernamentales
MCP_DUBAI_PULSE_CLIENT_SECRETSin definirSecreto del cliente OAuth, utilizado con el ID de cliente
MCP_DUBAI_WAQI_TOKENSin definirToken para las dos herramientas de lectura de calidad del aire
MCP_DUBAI_PULSE_API_BASEhttps://apis.data.dubaiURL base de la API de conjuntos de datos gubernamentales
MCP_DUBAI_DATA_PORTAL_BASEhttps://data.dubaiURL base del portal público de metadatos
MCP_DUBAI_LOG_LEVELINFOVerbosidad del registro
MCP_DUBAI_HTTP_TIMEOUT30.0Tiempo de espera HTTP en segundos
MCP_DUBAI_HTTP_MAX_RETRIES3Intentos totales por solicitud; solo se reintentan tiempos de espera y errores de red

Solicite acceso a conjuntos de datos en data.dubai y un token gratuito de WAQI en AQICN. Mantenga las credenciales fuera de los archivos de configuración confirmados. La guía de credenciales cubre la configuración y la resolución de problemas. MCP_DUBAI_CALENDARIFIC_KEY está reservado para una futura integración de actualización de días festivos y actualmente no habilita ninguna herramienta adicional.

Fuentes de datos

FuenteUtilizada paraAcceso
Al-Adhan, Al-Quran CloudHorarios de oración, conversión de calendario, texto del CoránAPIs anónimas
CBUAE, ExchangeRate-APITipos de cambio y conversión de divisasEndpoints anónimos; los endpoints de CBUAE no están documentados
FCSC Open DataDescubrimiento de conjuntos de datos federalesAPI CKAN anónima, registrada como bloqueada
KHDADatos de referencia de escuelasMuestra incluida
Aviation Weather Center, Open-MeteoClima de aeropuertos y generalAPIs anónimas
WAQI / AQICNCalidad del aireToken gratuito
OpenStreetMap Overpass, MakaniPuntos de interés y búsqueda de direccionesServicios anónimos
DFM, Dubai City of GoldDatos de mercado y precios minoristas de oroEndpoints JSON públicos y HTML; los endpoints de DFM no están documentados
data.dubai, API gatewayDescubrimiento de conjuntos de datos, consultas DLD y RTAMetadatos anónimos; OAuth para registros de conjuntos de datos
Anuncios de días festivos federales de los EAUDías festivos públicosCalendario incluido con fechas provisionales marcadas
Paquetes de conocimiento empresarialConfiguración empresarial y orientación de referenciaJSON incluido con enlaces de origen y metadatos de revisión

El antiguo portal Dubai Pulse redirige a data.dubai. El proyecto conserva PULSE en los nombres de variables de credenciales; su API gateway predeterminada es apis.data.dubai.

Disponibilidad y limitaciones

La auditoría del 5 de septiembre de 2026 registra comprobaciones de servicios representativas, verificación de fuentes y límites restantes. Estas observaciones son una instantánea fechada:

IntegraciónResultado registrado
Tipos de cambio CBUAEFuncionando; se devolvieron 77 divisas
Tasa base CBUAE y cuatro herramientas FCSCBloqueadas por protección de acceso ascendente
Catálogo data.dubaiFuncionando; 610 conjuntos de datos, 11 temas y 75 emisores
DFMFuncionando; 458 valores, con nombres faltantes ascendentes
Archivo GTFS de RTAAcceso intermitente; el archivo recuperado aún identifica la compilación del 23 de agosto de 2025
Otras integraciones anónimasLlamadas representativas exitosas para horarios de oración, texto del Corán, clima, divisas, oro, Makani y Overpass
Conjuntos de datos OAuth y lecturas WAQINo probados en vivo en la auditoría sin credenciales representativas

El conjunto de datos de escuelas contiene 16 registros seleccionados de una instantánea de abril de 2026. Nueve registros recibieron correcciones de atributos específicas el 5 de septiembre; las tarifas escolares no se actualizaron. Los costos empresariales y los plazos de incorporación también pueden ser estimaciones fechadas, como se indica en los registros subyacentes.

Los clientes deben inspeccionar success antes de usar un resultado y leer el error devuelto cuando una llamada falla. Las fallas de credenciales y ascendentes incluyen campos estructurados de estado y motivo cuando corresponda. Use get_upstream_status() para la línea base registrada y las observaciones de las herramientas utilizadas durante la sesión actual.

Frescura del conocimiento

La frescura se rastrea en 19 dominios: 16 paquetes JSON, setup_advisor, data_analyst y arabic_writer. Las respuestas empresariales exitosas incluyen un bloque knowledge; get_knowledge_status() expone el registro completo.

CampoSignificado
knowledge_dateÚltima actualización material del dominio
full_review_dateÚltima revisión completa del dominio
previous_knowledge_dateFecha de actualización anterior, cuando se registra para una actualización específica
last_refresh_scopeCampos o temas cubiertos por una actualización específica
volatilityCategoría de presupuesto de revisión: alta, media o estable
verify_atVerificación de dominio o URL de origen
disclaimerAlcance específico del dominio y limitaciones de uso

A partir del 5 de septiembre de 2026, 18 dominios tienen una última actualización de 2026-09-05; arabic_writer permanece en 2026-04-13. Las actualizaciones de septiembre fueron específicas: los campos no tocados y las fechas de revisión completa conservan su alcance de verificación anterior. Las correcciones detalladas y los enlaces de origen están en el informe de auditoría.

El verificador de frescura utiliza la última revisión completa, con presupuestos de alerta de 100 días para dominios de alta volatilidad, 190 para medios y 365 para estables. Los precios mensuales, plazos y eventos aún necesitan revisión en sus propios calendarios. Pasar la verificación de antigüedad no establece que cada hecho esté actualizado.

python scripts/check_knowledge_freshness.py --strict

Verifique los requisitos oficiales vinculados antes de confiar en orientación fiscal, de visa, legal o de precios para una decisión.

Ejemplos de consultas

Pida a un asistente conectado que use MCP-Dubai para solicitudes como:

SolicitudHerramientas relevantes
¿A qué hora es Fajr mañana en Dubái?prayer_times_for
Encuentre farmacias a menos de 500 metros de estas coordenadas.osm_search_poi
Encuentre conjuntos de datos públicos sobre el tráfico de Dubái.data_dubai_search
Compare DMCC e IFZA para una consultoría con dos visas.free_zone_details, compare_free_zones, setup_advisor
Estime el impuesto corporativo sobre AED 500,000 de ingresos imponibles y explique la información QFZP necesaria.corporate_tax_estimate, qfzp_check
¿Cuál es la ruta de apostilla para un certificado de título indio?attestation_guide
Estime los costos de vida mensuales para una familia de cuatro.cost_of_living_overview, rent_estimate
Prepare una carta en árabe/inglés dirigida a un departamento gubernamental.business_letter_template, addressee_block

La selección de herramientas y las preguntas de seguimiento dependen del cliente. Estos ejemplos describen búsquedas y estimaciones; el servidor no envía solicitudes ni abre cuentas.

Desarrollo

Desde el entorno de origen activado creado en Inicio rápido:

python -m pip install -e ".[dev,data]"
make check

make check ejecuta comprobaciones de formato y lint de Ruff, mypy estricto, pytest con cobertura y el informe informativo de frescura. Use el comando de frescura --strict anterior para fallar en dominios vencidos.

La auditoría del 5 de septiembre registró 967 pruebas aprobadas en cada versión de Python compatible probada, con 93.61% de cobertura en la ejecución principal. El empaquetado, las comprobaciones de tipos, lint y escaneos de seguridad también pasaron; la auditoría documenta su alcance.

Arquitectura

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

Los módulos de características tools.py implementan la lógica; los módulos server.py exponen envoltorios FastMCP y registran metadatos de descubrimiento. Los modelos de respuesta compartidos llevan resultados, errores y metadatos de conocimiento. El código fuente admite fastmcp>=3.4.7,<4; las dependencias y las versiones de Python compatibles se declaran en pyproject.toml.

Lea CONTRIBUTING.md para conocer las convenciones de características, pruebas y la lista de verificación de revisión. Informe errores reproducibles o correcciones de fuentes a través de problemas de GitHub.

Estado del proyecto

MCP-Dubai es software alfa. La versión 0.4.0 está disponible en este repositorio. Según lo registrado en la auditoría del 5 de septiembre, la publicación en PyPI permanece en 0.2.0 y el manifiesto validado del Registro MCP no tiene un registro publicado.

Prioridades actuales:

  • Publicar la versión actual del código fuente en PyPI y el Registro MCP.
  • Reconstruir el conjunto de datos KHDA a partir de un libro de trabajo completo autorizado, incluidas las tarifas actuales.
  • Agregar comprobaciones de contrato en vivo para conjuntos de datos dependientes de credenciales y mejorar integraciones bloqueadas o intermitentes.
  • Ampliar la cobertura de conjuntos de datos gubernamentales cuando se puedan verificar el acceso y los esquemas.
  • Continuar con actualizaciones de conocimiento respaldadas por fuentes mientras se preserva el alcance de revisión parcial.
  • Mejorar las etiquetas de descubrimiento de herramientas y los alias en árabe/inglés.

Licencia y atribución

Licenciado bajo MIT. Los datos ascendentes siguen sujetos a los términos de sus editores y requisitos de atribución.

Este es un proyecto independiente, no afiliado al Gobierno de Dubái, al gobierno de los EAU ni a las agencias cuyos datos utiliza. Consulte DISCLAIMER.md para conocer el alcance, el manejo de datos y los derechos de terceros.

Construido con FastMCP. La estructura del servidor centrada en el país se inspiró en mcp-brasil.