HR & Payroll Rules Oracle
UAE and Saudi gratuity, leave, notice, overtime and sick-pay arithmetic with cited articles.
使うべきか
品質と安全性
ツール定義とプロトコルへの準拠に関する自動分析に基づいています。
コンテキストコスト
これは、サーバーのツールがモデルのコンテキストに読み込まれるたびに消費されるおおよそのトークン数です。数が多いほど、ほかのタスクに使える注意が減ります。
インストール
ワンクリックインストール
これを `claude_desktop_config.json` ファイルに追加してください:
{
"mcpServers": {
"hr-payroll-oracle": {
"url": "https://hr.noahsarch.tech/mcp"
}
}
}リモートエンドポイント
https://hr.noahsarch.tech/mcpstreamable-httpできること
ツール一覧
ツール(8)
🟢end_of_service(country, start_date, end_date, basic_monthly_wage, total_monthly_wage, ...)
Compute the end-of-service gratuity (UAE Art. 51: 21 days' basic wage per year for 5 years then 30, capped at 2 years' wage, pro rata, unpaid days excluded) or the Saudi award (Art. 84/85/87: half a month's actual wage per year for 5 years then a full month, resignation fractions ⅓/⅔/full). Returns the step-by-step computation. Example: country 'AE', start_date '2019-03-01', end_date '2026-10-31', basic_monthly_wage 8000, termination 'resignation'. Response: result with legal_basis (article) and explanation[] steps, data_confidence (high = official text; medium = translation or recent amendment via secondary source), estimated_items[], sources[] (law URLs), data_version, warnings[] and a not-legal-advice disclaimer.
入力スキーマ
{
"type": "object",
"properties": {
"country": {
"description": "country: 'AE' (UAE private sector, Decree-Law 33/2021) or 'SA' (Saudi Labor Law M/51 incl. 2025 amendments).",
"enum": [
"AE",
"SA"
],
"title": "Country",
"type": "string"
},
"start_date": {
"description": "First day of service, YYYY-MM-DD.",
"title": "Start Date",
"type": "string"
},
"end_date": {
"description": "Last day of service, YYYY-MM-DD.",
"title": "End Date",
"type": "string"
},
"basic_monthly_wage": {
"description": "Last basic monthly wage (UAE gratuity base).",
"title": "Basic Monthly Wage",
"type": "number"
},
"total_monthly_wage": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
],
"default": null,
"description": "Last total monthly wage incl. regular allowances (Saudi award base). Omit if unknown.",
"title": "Total Monthly Wage"
},
"termination": {
"default": "termination",
"description": "How the contract ended; affects Saudi Art. 85 fractions.",
"enum": [
"resignation",
"termination",
"contract_expiry",
"mutual",
"death",
"force_majeure"
],
"title": "Termination",
"type": "string"
},
"unpaid_leave_days": {
"default": 0,
"description": "Days of unpaid absence to exclude from service (UAE Art. 51(4)).",
"title": "Unpaid Leave Days",
"type": "integer"
},
"special_case": {
"anyOf": [
{
"enum": [
"force_majeure",
"female_resigning_within_6_months_of_marriage",
"female_resigning_within_3_months_of_childbirth"
],
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Saudi Art. 87 full-award cases on resignation.",
"title": "Special Case"
}
},
"required": [
"country",
"start_date",
"end_date",
"basic_monthly_wage"
],
"title": "end_of_serviceArguments"
}出力スキーマ
{
"type": "object",
"additionalProperties": true,
"title": "end_of_serviceDictOutput"
}🟢annual_leave_entitlement(country, start_date, as_of_date, taken_days, basic_monthly_wage, ...)
Accrued annual leave at a date (UAE Art. 29: 30 days/year, 2 days/month between 6 and 12 months; Saudi Art. 109: 21 days, 30 after 5 years), balance after days taken, and encashment value at the legal basis wage. Example: country 'AE', start_date '2024-01-15', as_of_date '2026-10-31', taken_days 20, basic_monthly_wage 6000. Response: result with legal_basis (article) and explanation[] steps, data_confidence (high = official text; medium = translation or recent amendment via secondary source), estimated_items[], sources[] (law URLs), data_version, warnings[] and a not-legal-advice disclaimer.
入力スキーマ
{
"type": "object",
"properties": {
"country": {
"description": "country: 'AE' (UAE private sector, Decree-Law 33/2021) or 'SA' (Saudi Labor Law M/51 incl. 2025 amendments).",
"enum": [
"AE",
"SA"
],
"title": "Country",
"type": "string"
},
"start_date": {
"description": "First day of service.",
"title": "Start Date",
"type": "string"
},
"as_of_date": {
"description": "Date to compute the accrual at (e.g. today or the last working day).",
"title": "As Of Date",
"type": "string"
},
"taken_days": {
"default": 0,
"description": "Annual-leave days already taken/paid in the period.",
"title": "Taken Days",
"type": "number"
},
"basic_monthly_wage": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
],
"default": null,
"description": "For encashment value (UAE uses basic).",
"title": "Basic Monthly Wage"
},
"total_monthly_wage": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
],
"default": null,
"description": "For encashment value where total wage applies (SA).",
"title": "Total Monthly Wage"
}
},
"required": [
"country",
"start_date",
"as_of_date"
],
"title": "annual_leave_entitlementArguments"
}出力スキーマ
{
"type": "object",
"additionalProperties": true,
"title": "annual_leave_entitlementDictOutput"
}🟢notice_period(country, party, contract, agreed_days, on_date, ...)
Legal notice period for a termination (UAE Art. 43: 30–90 days as agreed; probation Art. 9: 14 days employer / 30 or 14 days employee; Saudi Art. 75: 60 days employer, 30 days employee from 19 Feb 2025), the date notice ends, and pay in lieu. Example: country 'SA', party 'employee', on_date '2026-11-01', monthly_wage 9000. Response: result with legal_basis (article) and explanation[] steps, data_confidence (high = official text; medium = translation or recent amendment via secondary source), estimated_items[], sources[] (law URLs), data_version, warnings[] and a not-legal-advice disclaimer.
入力スキーマ
{
"type": "object",
"properties": {
"country": {
"description": "country: 'AE' (UAE private sector, Decree-Law 33/2021) or 'SA' (Saudi Labor Law M/51 incl. 2025 amendments).",
"enum": [
"AE",
"SA"
],
"title": "Country",
"type": "string"
},
"party": {
"description": "Who is terminating.",
"enum": [
"employer",
"employee"
],
"title": "Party",
"type": "string"
},
"contract": {
"default": "indefinite",
"description": "",
"enum": [
"indefinite",
"fixed"
],
"title": "Contract",
"type": "string"
},
"agreed_days": {
"anyOf": [
{
"type": "integer"
},
{
"type": "null"
}
],
"default": null,
"description": "Notice period written in the contract, if any.",
"title": "Agreed Days"
},
"on_date": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Date notice is served (YYYY-MM-DD); default today. Decides which Saudi rule version applies.",
"title": "On Date"
},
"in_probation": {
"default": false,
"description": "",
"title": "In Probation",
"type": "boolean"
},
"employee_leaving_country": {
"default": false,
"description": "UAE probation: employee leaving the UAE (14 days) vs moving to another UAE employer (30 days).",
"title": "Employee Leaving Country",
"type": "boolean"
},
"monthly_wage": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
],
"default": null,
"description": "Total monthly wage, to compute pay in lieu of notice.",
"title": "Monthly Wage"
}
},
"required": [
"country",
"party"
],
"title": "notice_periodArguments"
}出力スキーマ
{
"type": "object",
"additionalProperties": true,
"title": "notice_periodDictOutput"
}🟢overtime_pay(country, basic_monthly_wage, hours, kind)
Overtime at the legal uplift on the basic hourly wage (UAE Art. 19: +25%, +50% at night 22:00–04:00 or on the rest day; Saudi Art. 107: +50%). Example: country 'AE', basic_monthly_wage 6000, hours 10, kind 'night'. Response: result with legal_basis (article) and explanation[] steps, data_confidence (high = official text; medium = translation or recent amendment via secondary source), estimated_items[], sources[] (law URLs), data_version, warnings[] and a not-legal-advice disclaimer.
入力スキーマ
{
"type": "object",
"properties": {
"country": {
"description": "country: 'AE' (UAE private sector, Decree-Law 33/2021) or 'SA' (Saudi Labor Law M/51 incl. 2025 amendments).",
"enum": [
"AE",
"SA"
],
"title": "Country",
"type": "string"
},
"basic_monthly_wage": {
"description": "",
"title": "Basic Monthly Wage",
"type": "number"
},
"hours": {
"description": "",
"title": "Hours",
"type": "number"
},
"kind": {
"default": "normal",
"description": "normal | night (UAE 22:00–04:00) | rest_day (weekly rest day).",
"enum": [
"normal",
"night",
"rest_day"
],
"title": "Kind",
"type": "string"
}
},
"required": [
"country",
"basic_monthly_wage",
"hours"
],
"title": "overtime_payArguments"
}出力スキーマ
{
"type": "object",
"additionalProperties": true,
"title": "overtime_payDictOutput"
}🟢sick_leave_pay(country, days, monthly_wage, in_probation)
Pay for a number of sick days under the tiered rules (UAE Art. 31: 15 full, 30 half, 45 unpaid, none during probation; Saudi Art. 117: 30 full, 60 at 75%, 30 unpaid). Example: country 'AE', days 40, monthly_wage 9000. Response: result with legal_basis (article) and explanation[] steps, data_confidence (high = official text; medium = translation or recent amendment via secondary source), estimated_items[], sources[] (law URLs), data_version, warnings[] and a not-legal-advice disclaimer.
入力スキーマ
{
"type": "object",
"properties": {
"country": {
"description": "country: 'AE' (UAE private sector, Decree-Law 33/2021) or 'SA' (Saudi Labor Law M/51 incl. 2025 amendments).",
"enum": [
"AE",
"SA"
],
"title": "Country",
"type": "string"
},
"days": {
"description": "Sick days in the current year of service.",
"title": "Days",
"type": "integer"
},
"monthly_wage": {
"description": "Total monthly wage.",
"title": "Monthly Wage",
"type": "number"
},
"in_probation": {
"default": false,
"description": "",
"title": "In Probation",
"type": "boolean"
}
},
"required": [
"country",
"days",
"monthly_wage"
],
"title": "sick_leave_payArguments"
}出力スキーマ
{
"type": "object",
"additionalProperties": true,
"title": "sick_leave_payDictOutput"
}🟢probation_rules(country, start_date, agreed_days)
Probation length allowed (UAE Art. 9: up to 6 months; Saudi Art. 53: up to 180 days from 19 Feb 2025, 90 before), its end date and the notice rules that apply inside it. Example: country 'AE', start_date '2026-11-01', agreed_days 90. Response: result with legal_basis (article) and explanation[] steps, data_confidence (high = official text; medium = translation or recent amendment via secondary source), estimated_items[], sources[] (law URLs), data_version, warnings[] and a not-legal-advice disclaimer.
入力スキーマ
{
"type": "object",
"properties": {
"country": {
"description": "country: 'AE' (UAE private sector, Decree-Law 33/2021) or 'SA' (Saudi Labor Law M/51 incl. 2025 amendments).",
"enum": [
"AE",
"SA"
],
"title": "Country",
"type": "string"
},
"start_date": {
"description": "First day of work.",
"title": "Start Date",
"type": "string"
},
"agreed_days": {
"anyOf": [
{
"type": "integer"
},
{
"type": "null"
}
],
"default": null,
"description": "Probation length in the contract; default = legal maximum.",
"title": "Agreed Days"
}
},
"required": [
"country",
"start_date"
],
"title": "probation_rulesArguments"
}出力スキーマ
{
"type": "object",
"additionalProperties": true,
"title": "probation_rulesDictOutput"
}🟢wage_breakdown(country, basic_monthly_wage, total_monthly_wage)
Daily and hourly basic/total wages under the country's convention (monthly ÷ 30, ÷ 8 hours) with a note on which basis each entitlement uses. Example: country 'AE', basic_monthly_wage 6000, total_monthly_wage 10000. Response: result with legal_basis (article) and explanation[] steps, data_confidence (high = official text; medium = translation or recent amendment via secondary source), estimated_items[], sources[] (law URLs), data_version, warnings[] and a not-legal-advice disclaimer.
入力スキーマ
{
"type": "object",
"properties": {
"country": {
"description": "country: 'AE' (UAE private sector, Decree-Law 33/2021) or 'SA' (Saudi Labor Law M/51 incl. 2025 amendments).",
"enum": [
"AE",
"SA"
],
"title": "Country",
"type": "string"
},
"basic_monthly_wage": {
"description": "",
"title": "Basic Monthly Wage",
"type": "number"
},
"total_monthly_wage": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
],
"default": null,
"description": "",
"title": "Total Monthly Wage"
}
},
"required": [
"country",
"basic_monthly_wage"
],
"title": "wage_breakdownArguments"
}出力スキーマ
{
"type": "object",
"additionalProperties": true,
"title": "wage_breakdownDictOutput"
}🟢list_rules(country)
The covered countries, or one country's full rule table (articles, figures, effective dates, scope notes, official source URLs). Free. Response: result with legal_basis (article) and explanation[] steps, data_confidence (high = official text; medium = translation or recent amendment via secondary source), estimated_items[], sources[] (law URLs), data_version, warnings[] and a not-legal-advice disclaimer.
入力スキーマ
{
"type": "object",
"properties": {
"country": {
"anyOf": [
{
"enum": [
"AE",
"SA"
],
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Omit to list covered countries; give a code for its full rule table with articles and sources.",
"title": "Country"
}
},
"title": "list_rulesArguments"
}出力スキーマ
{
"type": "object",
"additionalProperties": true,
"title": "list_rulesDictOutput"
}コミュニティ
エビデンス