UAE Calendar Oracle
UAE working days, holidays with confirmation status, Hijri dates, Ramadan hours, deadlines.
Sollte ich dies verwenden
Qualität und Sicherheit
Basierend auf einer automatisierten Analyse der Tool-Definitionen und der Einhaltung des Protokolls.
Kontextkosten
Dies ist die ungefähre Anzahl der Tokens, die jedes Mal verbraucht werden, wenn die Tools des Servers in den Kontext eines Modells geladen werden. Höhere Werte verringern die Aufmerksamkeit, die für andere Aufgaben verfügbar ist.
Installieren
Installation mit einem Klick
Fügen Sie dies Ihrer Datei `claude_desktop_config.json` hinzu:
{
"mcpServers": {
"uae-calendar-oracle": {
"url": "https://oracle.noahsarch.tech/mcp"
}
}
}Remote-Endpunkte
https://oracle.noahsarch.tech/mcpstreamable-httpWas es kann
Tool-Inventar
Tools (10)
🟢is_working_day(date, emirate, sector, apply_optional_overlays)
Tell whether a date is a working day in the UAE for a given emirate and sector, and why not (weekend, named public holiday with its status, or Friday half day). Call this before scheduling, promising delivery, booking, or filing anything on a UAE date. Islamic holidays depend on moon sighting: the result says whether the holiday is 'estimated' (not yet announced) or 'confirmed'. Example: {date:'2026-05-25', emirate:'federal', sector:'public'} → is_working_day=false, reason 'Eid Al Adha (extended federal break)', status confirmed; the same date for sector 'private' → true. Response always includes data_confidence ('high' = all dates officially announced/confirmed, 'medium' = something is estimated), estimated_items[], sources[] (official URLs) and data_version.
Eingabe-Schema
{
"type": "object",
"properties": {
"date": {
"description": "ISO date 'YYYY-MM-DD' (or ISO datetime; converted to Asia/Dubai).",
"title": "Date",
"type": "string"
},
"emirate": {
"default": "federal",
"description": "Calendar profile emirate: federal | abu_dhabi | dubai | sharjah | ajman | umm_al_quwain | ras_al_khaimah | fujairah. Use 'federal' unless the user named an emirate's government. Emirates other than Sharjah currently follow the federal weekend.",
"enum": [
"federal",
"abu_dhabi",
"dubai",
"sharjah",
"ajman",
"umm_al_quwain",
"ras_al_khaimah",
"fujairah"
],
"title": "Emirate",
"type": "string"
},
"sector": {
"default": "public",
"description": "Sector: public (government) | private. Government employees, courts and ministries → 'public'. Companies → 'private' (weekend is employer-set; the common Sat–Sun default is used and flagged).",
"enum": [
"public",
"private"
],
"title": "Sector",
"type": "string"
},
"apply_optional_overlays": {
"default": false,
"description": "Apply optional entity-level schedules such as Dubai's summer 4-day week. Default false.",
"title": "Apply Optional Overlays",
"type": "boolean"
}
},
"required": [
"date"
],
"title": "is_working_dayArguments"
}Ausgabe-Schema
{
"type": "object",
"additionalProperties": true,
"title": "is_working_dayDictOutput"
}🟢add_working_days(start_date, days, emirate, sector, count_start_day)
Compute the date N working days after (or before, if N is negative) a start date for a UAE emirate/sector, skipping weekends and public holidays, and list every skipped day with its reason. Use for SLAs, delivery promises, HR processing times and 'within X business days' wording. Example: {start_date:'2026-05-21', days:3, emirate:'federal', sector:'public'} → end_date 2026-06-02 (Eid Al Adha week skipped). Response always includes data_confidence ('high' = all dates officially announced/confirmed, 'medium' = something is estimated), estimated_items[], sources[] (official URLs) and data_version.
Eingabe-Schema
{
"type": "object",
"properties": {
"start_date": {
"description": "ISO date to count from.",
"title": "Start Date",
"type": "string"
},
"days": {
"description": "Working days to add. Negative counts backwards.",
"maximum": 10000,
"minimum": -10000,
"title": "Days",
"type": "integer"
},
"emirate": {
"default": "federal",
"description": "Calendar profile emirate: federal | abu_dhabi | dubai | sharjah | ajman | umm_al_quwain | ras_al_khaimah | fujairah. Use 'federal' unless the user named an emirate's government. Emirates other than Sharjah currently follow the federal weekend.",
"enum": [
"federal",
"abu_dhabi",
"dubai",
"sharjah",
"ajman",
"umm_al_quwain",
"ras_al_khaimah",
"fujairah"
],
"title": "Emirate",
"type": "string"
},
"sector": {
"default": "public",
"description": "Sector: public (government) | private. Government employees, courts and ministries → 'public'. Companies → 'private' (weekend is employer-set; the common Sat–Sun default is used and flagged).",
"enum": [
"public",
"private"
],
"title": "Sector",
"type": "string"
},
"count_start_day": {
"default": false,
"description": "If true and start_date is a working day, it counts as day 1. Default false (start the day after).",
"title": "Count Start Day",
"type": "boolean"
}
},
"required": [
"start_date",
"days"
],
"title": "add_working_daysArguments"
}Ausgabe-Schema
{
"type": "object",
"additionalProperties": true,
"title": "add_working_daysDictOutput"
}🟢working_days_between(start_date, end_date, emirate, sector, inclusive)
Count working days between two dates for a UAE emirate/sector (choose which endpoints to include), with the number of Friday half days and the list of non-working days in the range. Use for leave calculations, payroll, project durations and lateness. Example: {start_date:'2026-05-18', end_date:'2026-06-05', emirate:'federal', sector:'public'} → working_days 10, of_which_half_days 2. Response always includes data_confidence ('high' = all dates officially announced/confirmed, 'medium' = something is estimated), estimated_items[], sources[] (official URLs) and data_version.
Eingabe-Schema
{
"type": "object",
"properties": {
"start_date": {
"description": "ISO date.",
"title": "Start Date",
"type": "string"
},
"end_date": {
"description": "ISO date. May be before start_date (result is negative).",
"title": "End Date",
"type": "string"
},
"emirate": {
"default": "federal",
"description": "Calendar profile emirate: federal | abu_dhabi | dubai | sharjah | ajman | umm_al_quwain | ras_al_khaimah | fujairah. Use 'federal' unless the user named an emirate's government. Emirates other than Sharjah currently follow the federal weekend.",
"enum": [
"federal",
"abu_dhabi",
"dubai",
"sharjah",
"ajman",
"umm_al_quwain",
"ras_al_khaimah",
"fujairah"
],
"title": "Emirate",
"type": "string"
},
"sector": {
"default": "public",
"description": "Sector: public (government) | private. Government employees, courts and ministries → 'public'. Companies → 'private' (weekend is employer-set; the common Sat–Sun default is used and flagged).",
"enum": [
"public",
"private"
],
"title": "Sector",
"type": "string"
},
"inclusive": {
"default": "both",
"description": "Which endpoints to count: both (default) | start | end | none.",
"enum": [
"both",
"start",
"end",
"none"
],
"title": "Inclusive",
"type": "string"
}
},
"required": [
"start_date",
"end_date"
],
"title": "working_days_betweenArguments"
}Ausgabe-Schema
{
"type": "object",
"additionalProperties": true,
"title": "working_days_betweenDictOutput"
}🟢compute_deadline(start_date, period, unit, emirate, sector, ...)
Compute a deadline from a start date and a period in calendar days, working days, Gregorian months or Hijri months, applying the counting rules YOU specify (exclude start day, extend past weekends/holidays, half-day handling, estimated-holiday handling). Returns the deadline, the raw date before extension, every skipped day and a step-by-step explanation. Use when drafting contract, notice, appeal or payment deadlines in the UAE. This is date arithmetic only; it does not state what any law requires, and every response carries a disclaimer field. Example: {start_date:'2026-11-26', period:7, unit:'calendar_days', emirate:'federal', sector:'public'} → raw 2026-12-03 (National Day, estimated) → deadline 2026-12-04, data_confidence 'medium'. Response always includes data_confidence ('high' = all dates officially announced/confirmed, 'medium' = something is estimated), estimated_items[], sources[] (official URLs) and data_version.
Eingabe-Schema
{
"type": "object",
"properties": {
"start_date": {
"description": "ISO date the period starts from (e.g. date of notification).",
"title": "Start Date",
"type": "string"
},
"period": {
"description": "Length of the period in `unit`. Negative counts backwards.",
"title": "Period",
"type": "integer"
},
"unit": {
"description": "calendar_days | working_days | months (Gregorian) | hijri_months.",
"enum": [
"calendar_days",
"working_days",
"months",
"hijri_months"
],
"title": "Unit",
"type": "string"
},
"emirate": {
"default": "federal",
"description": "Calendar profile emirate: federal | abu_dhabi | dubai | sharjah | ajman | umm_al_quwain | ras_al_khaimah | fujairah. Use 'federal' unless the user named an emirate's government. Emirates other than Sharjah currently follow the federal weekend.",
"enum": [
"federal",
"abu_dhabi",
"dubai",
"sharjah",
"ajman",
"umm_al_quwain",
"ras_al_khaimah",
"fujairah"
],
"title": "Emirate",
"type": "string"
},
"sector": {
"default": "public",
"description": "Sector: public (government) | private. Government employees, courts and ministries → 'public'. Companies → 'private' (weekend is employer-set; the common Sat–Sun default is used and flagged).",
"enum": [
"public",
"private"
],
"title": "Sector",
"type": "string"
},
"rules": {
"anyOf": [
{
"$ref": "#/$defs/DeadlineRulesIn"
},
{
"type": "null"
}
],
"default": null,
"description": "Counting conventions. Pass what the contract/rule says; defaults are the common convention."
}
},
"required": [
"start_date",
"period",
"unit"
],
"$defs": {
"DeadlineRulesIn": {
"additionalProperties": false,
"properties": {
"exclude_start_day": {
"default": true,
"description": "Day 1 is the day after start_date (true, default) or start_date itself.",
"title": "Exclude Start Day",
"type": "boolean"
},
"extend_if_ends_on_non_working_day": {
"default": true,
"description": "Roll a deadline that lands on a weekend/holiday forward to the next working day (default true).",
"title": "Extend If Ends On Non Working Day",
"type": "boolean"
},
"treat_half_day_as_working": {
"default": true,
"description": "Friday half days count as working days (default true).",
"title": "Treat Half Day As Working",
"type": "boolean"
},
"include_estimated_holidays": {
"default": true,
"description": "Count not-yet-announced (estimated) holidays as non-working days (default true).",
"title": "Include Estimated Holidays",
"type": "boolean"
},
"month_end_clamp": {
"default": true,
"description": "For month units: clamp 31 Jan + 1 month to 28/29 Feb (default true).",
"title": "Month End Clamp",
"type": "boolean"
}
},
"title": "DeadlineRulesIn",
"type": "object"
}
},
"title": "compute_deadlineArguments"
}Ausgabe-Schema
{
"type": "object",
"additionalProperties": true,
"title": "compute_deadlineDictOutput"
}🟢list_holidays(year, emirate, sector, include_estimated)
List all public holidays for a Gregorian year, emirate and sector, with English and Arabic names, dates, status (estimated | announced | confirmed | moved, with original dates when moved), official source URL and last-checked time. Use for annual planning, HR calendars and to show users which dates are still provisional. Example: {year:2026, emirate:'federal', sector:'private'} → 8 holidays, National Day still 'estimated'. Response always includes data_confidence ('high' = all dates officially announced/confirmed, 'medium' = something is estimated), estimated_items[], sources[] (official URLs) and data_version.
Eingabe-Schema
{
"type": "object",
"properties": {
"year": {
"description": "Gregorian year, e.g. 2026.",
"maximum": 2100,
"minimum": 1900,
"title": "Year",
"type": "integer"
},
"emirate": {
"default": "federal",
"description": "Calendar profile emirate: federal | abu_dhabi | dubai | sharjah | ajman | umm_al_quwain | ras_al_khaimah | fujairah. Use 'federal' unless the user named an emirate's government. Emirates other than Sharjah currently follow the federal weekend.",
"enum": [
"federal",
"abu_dhabi",
"dubai",
"sharjah",
"ajman",
"umm_al_quwain",
"ras_al_khaimah",
"fujairah"
],
"title": "Emirate",
"type": "string"
},
"sector": {
"default": "public",
"description": "Sector: public (government) | private. Government employees, courts and ministries → 'public'. Companies → 'private' (weekend is employer-set; the common Sat–Sun default is used and flagged).",
"enum": [
"public",
"private"
],
"title": "Sector",
"type": "string"
},
"include_estimated": {
"default": true,
"description": "Include not-yet-announced holidays with status 'estimated' (default true).",
"title": "Include Estimated",
"type": "boolean"
}
},
"required": [
"year"
],
"title": "list_holidaysArguments"
}Ausgabe-Schema
{
"type": "object",
"additionalProperties": true,
"title": "list_holidaysDictOutput"
}🟢next_holiday(from_date, emirate, sector)
Return the next public holiday on or after a date for an emirate/sector: names (EN/AR), dates, status, days until, source. Use for 'when is the next long weekend / holiday' questions and to warn about upcoming closures. Example: {from_date:'2026-10-31', emirate:'federal', sector:'public'} → Eid Al Etihad 2–3 Dec 2026, estimated, 32 days away. Response always includes data_confidence ('high' = all dates officially announced/confirmed, 'medium' = something is estimated), estimated_items[], sources[] (official URLs) and data_version.
Eingabe-Schema
{
"type": "object",
"properties": {
"from_date": {
"description": "ISO date to search from (inclusive). Usually today.",
"title": "From Date",
"type": "string"
},
"emirate": {
"default": "federal",
"description": "Calendar profile emirate: federal | abu_dhabi | dubai | sharjah | ajman | umm_al_quwain | ras_al_khaimah | fujairah. Use 'federal' unless the user named an emirate's government. Emirates other than Sharjah currently follow the federal weekend.",
"enum": [
"federal",
"abu_dhabi",
"dubai",
"sharjah",
"ajman",
"umm_al_quwain",
"ras_al_khaimah",
"fujairah"
],
"title": "Emirate",
"type": "string"
},
"sector": {
"default": "public",
"description": "Sector: public (government) | private. Government employees, courts and ministries → 'public'. Companies → 'private' (weekend is employer-set; the common Sat–Sun default is used and flagged).",
"enum": [
"public",
"private"
],
"title": "Sector",
"type": "string"
}
},
"required": [
"from_date"
],
"title": "next_holidayArguments"
}Ausgabe-Schema
{
"type": "object",
"additionalProperties": true,
"title": "next_holidayDictOutput"
}🟢gregorian_to_hijri(date)
Convert a Gregorian date to the Hijri (Islamic) calendar using the Umm al-Qura tables, with month names in English and Arabic. The result is COMPUTED: the official UAE date is set by moon sighting and may differ by ±1 day, so data_confidence is 'medium'. Use for Hijri-dated documents and to estimate Islamic holidays. Example: {date:'2026-03-20'} → 1 Shawwal 1447 AH. Response always includes data_confidence ('high' = all dates officially announced/confirmed, 'medium' = something is estimated), estimated_items[], sources[] (official URLs) and data_version.
Eingabe-Schema
{
"type": "object",
"properties": {
"date": {
"description": "ISO Gregorian date 'YYYY-MM-DD' between 1924-08-01 and 2077-11-16.",
"title": "Date",
"type": "string"
}
},
"required": [
"date"
],
"title": "gregorian_to_hijriArguments"
}Ausgabe-Schema
{
"type": "object",
"additionalProperties": true,
"title": "gregorian_to_hijriDictOutput"
}🟢hijri_to_gregorian(hijri_date)
Convert a Hijri date 'YYYY-MM-DD' (1343–1500 AH) to Gregorian using the Umm al-Qura tables, with the weekday. COMPUTED, ±1 day versus the moon-sighted UAE date; data_confidence 'medium'. Example: {hijri_date:'1448-01-01'} → 2026-06-16 (Tue). Response always includes data_confidence ('high' = all dates officially announced/confirmed, 'medium' = something is estimated), estimated_items[], sources[] (official URLs) and data_version.
Eingabe-Schema
{
"type": "object",
"properties": {
"hijri_date": {
"description": "Hijri date 'YYYY-MM-DD', e.g. '1448-01-01' (year 1343–1500 AH).",
"title": "Hijri Date",
"type": "string"
}
},
"required": [
"hijri_date"
],
"title": "hijri_to_gregorianArguments"
}Ausgabe-Schema
{
"type": "object",
"additionalProperties": true,
"title": "hijri_to_gregorianDictOutput"
}🟢ramadan_info(year, emirate, sector)
Return Ramadan start/end for a Gregorian year (observed or estimated) and the officially published reduced working-hour rules for the emirate/sector (e.g. federal 09:00–14:30 Mon–Thu, 09:00–12:00 Fri; private sector −2 hours/day). If no rule has been published for that profile the response says 'not_announced' instead of guessing. Use for scheduling during Ramadan and for HR policy questions. Example: {year:2026, emirate:'federal', sector:'public'} → 18 Feb–19 Mar 2026, confirmed, FAHR Circular 1/2026 hours. Response always includes data_confidence ('high' = all dates officially announced/confirmed, 'medium' = something is estimated), estimated_items[], sources[] (official URLs) and data_version.
Eingabe-Schema
{
"type": "object",
"properties": {
"year": {
"description": "Gregorian year, e.g. 2027.",
"maximum": 2100,
"minimum": 1900,
"title": "Year",
"type": "integer"
},
"emirate": {
"default": "federal",
"description": "Calendar profile emirate: federal | abu_dhabi | dubai | sharjah | ajman | umm_al_quwain | ras_al_khaimah | fujairah. Use 'federal' unless the user named an emirate's government. Emirates other than Sharjah currently follow the federal weekend.",
"enum": [
"federal",
"abu_dhabi",
"dubai",
"sharjah",
"ajman",
"umm_al_quwain",
"ras_al_khaimah",
"fujairah"
],
"title": "Emirate",
"type": "string"
},
"sector": {
"default": "public",
"description": "Sector: public (government) | private. Government employees, courts and ministries → 'public'. Companies → 'private' (weekend is employer-set; the common Sat–Sun default is used and flagged).",
"enum": [
"public",
"private"
],
"title": "Sector",
"type": "string"
}
},
"required": [
"year"
],
"title": "ramadan_infoArguments"
}Ausgabe-Schema
{
"type": "object",
"additionalProperties": true,
"title": "ramadan_infoDictOutput"
}🟢working_hours(datetime, emirate, sector)
Tell whether a specific datetime falls within standard working hours for an emirate/sector, taking into account weekends, holidays, the federal Friday half day (07:30–12:00) and official Ramadan hours. Private-sector hours are employer-specific; a default schedule is used and flagged. Use before calling a government office, scheduling a meeting or promising same-day action. Example: {datetime:'2026-03-05T13:00:00+04:00', emirate:'federal', sector:'public'} → within_working_hours true, hours_today 09:00–14:30 (Ramadan). Response always includes data_confidence ('high' = all dates officially announced/confirmed, 'medium' = something is estimated), estimated_items[], sources[] (official URLs) and data_version.
Eingabe-Schema
{
"type": "object",
"properties": {
"datetime": {
"description": "ISO datetime, e.g. '2026-03-05T13:00:00+04:00'. Naive values are read as Asia/Dubai; 'Z' is UTC.",
"title": "Datetime",
"type": "string"
},
"emirate": {
"default": "federal",
"description": "Calendar profile emirate: federal | abu_dhabi | dubai | sharjah | ajman | umm_al_quwain | ras_al_khaimah | fujairah. Use 'federal' unless the user named an emirate's government. Emirates other than Sharjah currently follow the federal weekend.",
"enum": [
"federal",
"abu_dhabi",
"dubai",
"sharjah",
"ajman",
"umm_al_quwain",
"ras_al_khaimah",
"fujairah"
],
"title": "Emirate",
"type": "string"
},
"sector": {
"default": "public",
"description": "Sector: public (government) | private. Government employees, courts and ministries → 'public'. Companies → 'private' (weekend is employer-set; the common Sat–Sun default is used and flagged).",
"enum": [
"public",
"private"
],
"title": "Sector",
"type": "string"
}
},
"required": [
"datetime"
],
"title": "working_hoursArguments"
}Ausgabe-Schema
{
"type": "object",
"additionalProperties": true,
"title": "working_hoursDictOutput"
}Community
Nachweis