Leave Management System MCP Tools

Leave Management System MCP tools support employees and departments, leave types, annual-leave accrual, start-date pro-rating, carry-forward, public holidays, mobile requests, sick-leave proof, balances, team rosters, conflict checks, manager approvals, TOIL, monthly payroll exports, notifications, and audit logs.

leave.config.get

read

Read leave units, approval mode, calendar, notification, payroll export, permission, and audit settings.

-

Read-only; returned according to HR permissions.

Must not expose payroll or sensitive employee permission settings.

leave.employees.list

read

List employees, departments, managers, start dates, work patterns, and assigned leave policies.

leave.config.get

Read-only; employee private data is role-masked.

Returns only the minimum employee data needed for leave decisions.

leave.employee.get

read

Read one employee's leave policy, start date, manager, workdays, balances, and request history summary.

leave.employees.list

Read-only; limited to self, manager, or HR.

Sick proof and payroll fields are not shown in normal reads.

leave.departments.list

read

List departments, managers, minimum staffing requirements, and leave approvers.

leave.config.get

Read-only; used for team coverage checks.

Staffing requirements are internal operational data and require management visibility.

leave.leave_types.list

read

Read annual, sick, TOIL, maternity, paternity and other leave types, units, and proof requirements.

leave.config.get

Read-only; used for request forms and policy checks.

Leave type settings should reflect company policy and Hong Kong rules.

leave.policies.list

read

Read company leave policies, assigned employees, carry-forward, payout, probation, proof, and approval rules.

leave.config.get

Read-only; policy versions need traceability.

Must not mix policies across different employee groups.

leave.accrual_rules.list

read

Read accrual rules for start-date pro-rating, monthly accrual, caps, carry-forward, and expiry.

leave.policies.list

Read-only; used for balance calculation and previews.

Accrual rules must be versioned to avoid corrupting historical balances.

leave.public_holidays.list

read

Read Hong Kong public holidays, statutory holidays, bank holidays, company holidays, and non-working-day rules.

leave.config.get

Read-only; used for leave day calculation.

Holiday data should be fixed by year and policy version.

leave.balances.list

read

List used, remaining, pending, expiring, and carried-forward balances by employee, department, and leave type.

leave.employees.list, leave.leave_types.list

Read-only; employees see self, managers see teams, HR sees company-wide.

Normal employees must not read other employees' balances.

leave.balance.get

read

Read one employee/type balance, calculation basis, pending deductions, and expiry dates.

leave.balances.list

Read-only; scoped by employee, manager, or HR permission.

Must separate actual balance from pending-request impact.

leave.balance_movements.list

read

List leave ledger movements for accrual, deductions, TOIL, adjustments, carry-forward, expiry, and cancellations.

leave.balance.get

Read-only; ledger cannot be edited by normal users.

Ledger needs source and action request id retention.

leave.requests.list

read

List leave requests by employee, department, date, state, leave type, and manager.

leave.employees.list

Read-only; scoped to self, manager, or HR.

Sick-leave reasons and proof must not be exposed on team calendars.

leave.request.get

read

Read request dates, units, reason, proof, balance impact, conflicts, approvals, and notifications.

leave.requests.list

Read-only; proof documents are permission-scoped to HR/manager.

Restricts visibility of sensitive documents such as sick-leave certificates.

leave.proof_documents.list

read

List sick notes, proof documents, upload time, review state, and retention period.

leave.request.get

Read-only; limited to HR, manager, or submitter.

Documents should be encrypted, maskable, and access-audited.

leave.pending_approvals.list

read

List requests pending approval, information, over-balance, or staffing-conflict handling.

leave.requests.list, leave.coverage_conflicts.list

Read-only; only returns items the approver can act on.

Must not expose other managers' pending approvals.

leave.approval_chain.get

read

Read approvers, delegate approvers, escalation rules, state, and SLA for a request.

leave.request.get

Read-only; used to validate approval writes.

Approvers cannot self-edit the approval chain.

leave.team_calendar.get

read

Read team leave calendar, approved/pending leave, public holidays, and staffing distribution.

leave.departments.list, leave.requests.list

Read-only; team calendar hides sensitive reasons.

Public views show availability only, not medical or personal reasons.

leave.coverage_conflicts.list

read

Check same-day overlaps, minimum-staffing shortfalls, key-role absence, and long-leave conflicts.

leave.team_calendar.get, leave.departments.list

Read-only; provides approval suggestions without automatic rejection.

AI suggestions cannot replace manager decisions.

leave.toil_records.list

read

List TOIL records, source overtime, approvals, available balance, and expiry.

leave.employee.get

Read-only; TOIL source and approvals are retained.

Prevents unapproved overtime from directly increasing leave balances.

leave.payroll_exports.list

read

List monthly payroll leave exports, state, creator, period, file version, and errors.

leave.config.get

Read-only; payroll files are HR/payroll-only.

Payroll exports may include sensitive absence data and need permission plus download audit.

leave.summary_report.get

read

Read monthly/yearly requests, balances, expiry, absence rate, department usage, and leave liability summaries.

leave.requests.list, leave.balances.list

Read-only; can aggregate by permission scope.

Reports should avoid exposing individual sick-leave reasons.

leave.audit_logs.list

read

List audit logs for requests, proof, approvals, balances, policies, carry-forward, payroll exports, and notifications.

leave.config.get

Read-only; audit logs cannot be edited by normal users.

Audit should be tamper-resistant and support labour-dispute tracing.

leave.request_check.preview

preview

Preview leave days, balance deduction, proof requirements, public-holiday exclusion, conflicts, and staffing impact.

leave.balance.get, leave.public_holidays.list, leave.coverage_conflicts.list

Preview only; must be confirmed before submission or approval.

Prevents submitting requests with insufficient balance or wrong holiday calculations.

leave.approval_result.preview

preview

Preview balance, calendar, staffing, notification, payroll, and audit impact of approval or rejection.

leave.request.get, leave.approval_chain.get

Must be confirmed by the designated approver before action.

AI must not approve leave by itself.

leave.balance_adjustment.preview

preview

Preview manual balance adjustment reason, ledger, expiry, payroll impact, and notifications.

leave.balance.get, leave.balance_movements.list

Balance adjustments require HR/management approval.

Every adjustment needs reason, evidence, or action request.

leave.policy_change.preview

preview

Preview how policy, leave type, accrual, or public-holiday changes affect balances and historical requests.

leave.policies.list, leave.accrual_rules.list

Policy changes require HR/management approval and versioning.

Prevents policy changes from corrupting closed or historical records.

leave.carry_forward_run.preview

preview

Preview year-end carry-forward, reset, expiry, payout, and per-employee balance changes.

leave.balances.list, leave.accrual_rules.list

Execution requires HR/payroll approval.

Year-end runs must not execute twice and require idempotency.

leave.payroll_export.preview

preview

Preview monthly payroll export for leave, absence, deductions, TOIL, and exceptions.

leave.requests.list, leave.summary_report.get

Official export requires HR/payroll confirmation.

Must flag pending requests and data gaps before export.

leave.request.create

write

Create mobile leave requests with type, dates, unit, reason, proof requirements, and preview result.

leave.request_check.preview

Employee submission enters approval and does not immediately deduct actual balance.

Requires balance, proof, and day-count checks.

leave.request.update

write

Update draft or information-needed requests for dates, type, reason, proof, or units.

leave.request.get, leave.request_check.preview

Approved requests cannot be directly edited and need reschedule/cancel flow.

Prevents editing approved data without audit.

leave.request.withdraw

write

Withdraw draft, pending, or rule-eligible leave requests.

leave.request.get

Cancelling approved payroll-impacting requests requires manager/HR approval.

Cancellation must reverse balances, calendars, and notification state.

leave.proof_document.attach

write

Upload or replace sick notes and other proof documents linked to a leave request.

leave.request.get, leave.proof_documents.list

Submitter may upload proof; review is scoped to manager/HR permissions.

Files need malware scanning, encryption, and access audit.

leave.approval.approve

write

Approve leave, deduct balance, update team calendar, send notifications, and retain approval record.

leave.approval_result.preview

Must be executed by the designated approver in the approval chain.

AI cannot self-approve; human must confirm conflicts and staffing impact.

leave.approval.reject

write

Reject leave, record reason, retain balance, and notify the employee.

leave.approval_result.preview

Must be done by designated approver with reason.

Rejection reasons should be professional and not expose other employees' privacy.

leave.approval.request_info

write

Request more proof, date correction, or leave-reason details from employee.

leave.request.get

Issued by designated approver or HR.

Only request information necessary to process the leave.

leave.balance.adjust

write

Manually adjust leave balance, expiry, or ledger with reason and evidence.

leave.balance_adjustment.preview

Requires HR/management approval.

All balance changes need ledger, reason, and audit.

leave.toil_record.create

write

Create TOIL records linked to overtime source, available hours, and expiry.

leave.toil_records.list, leave.employee.get

Usually requires manager/HR approval before increasing balance.

Prevents unverified overtime from becoming leave balance.

leave.toil_record.approve

write

Approve TOIL records and add compensatory leave balance plus ledger movement.

leave.toil_records.list, leave.balance_adjustment.preview

Manager/HR approval only.

Must retain overtime source, approver, and expiry rules.

leave.policy.upsert

write

Create or update leave policies, carry-forward, payout, probation, proof, and approval rules.

leave.policy_change.preview

Policy changes require HR/management approval and versioning.

Must not overwrite effective historical policies without versioning.

leave.leave_type.upsert

write

Create or update leave types, half-day/hour units, proof requirements, and payroll impact.

leave.leave_types.list, leave.policy_change.preview

Requires HR approval.

Avoid deleting types referenced by historical requests.

leave.accrual_rule.upsert

write

Create or update accrual, start-date pro-rating, caps, carry-forward, and expiry rules.

leave.accrual_rules.list, leave.policy_change.preview

Requires HR/management approval; existing-balance impact needs preview.

Prevents company-wide balance miscalculation.

leave.public_holiday.upsert

write

Create or update public, company, statutory/bank holiday calendars and applicable years.

leave.public_holidays.list, leave.policy_change.preview

Requires HR/admin approval, especially when submitted requests are affected.

Must avoid silently changing approved request day counts.

leave.carry_forward_run.execute

write

Execute year-end carry-forward, reset, expiry, or unused-leave payout and write ledger movements.

leave.carry_forward_run.preview

Official execution requires HR/payroll approval and idempotency key.

Must not run twice and needs complete before/after comparison.

leave.calendar_sync.push

write

Push approved leave to company/team calendars while hiding sensitive reasons and updating availability.

leave.approval_result.preview, leave.team_calendar.get

Only syncs approved requests; failures can be retried.

Must not sync sick-leave reason or proof to public calendars.

leave.payroll_export.create

write

Generate payroll leave/absence export files and exception lists for a period.

leave.payroll_export.preview

Requires HR/payroll approval; downloads need audit.

Payroll data is sensitive and export format/recipients must be restricted.

leave.notification.send

write

Send submission, info-needed, approval, rejection, balance-expiry, payroll-exception, and year-end reminders.

leave.request.get, leave.balance.get

Official messages need template and recipient preview; sensitive content must not be broadcast.

Avoid sending sick-leave, rejection reason, or payroll data to wrong recipients.

leave.action_request.status

status

Check preview, approval, execution, failure, rollback, and audit state for leave management writes.

leave.audit_logs.list

Read-only status; cannot force approval through this endpoint.

Approval state must be traceable and cannot be self-edited by requesters.