Employee Leave Management MCP Server
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| SUPABASE_KEY | Yes | Your Supabase API key (anon or service_role) | |
| SUPABASE_URL | Yes | Your Supabase project URL |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": true
} |
| logging | {} |
| prompts | {
"listChanged": false
} |
| resources | {
"subscribe": false,
"listChanged": false
} |
| extensions | {
"io.modelcontextprotocol/ui": {}
} |
| experimental | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| list_leave_typesA | Return all available leave categories with their yearly default allocation. Call this to know valid leave_type values before applying for leave. |
| list_employeesA | List all active employees, optionally filtered by department. Args: department: Filter by department name (partial match, case-insensitive). Leave empty to return all employees. |
| get_employee_infoB | Fetch details for a single employee. Args: identifier: Employee code (e.g. "EMP001") or email address. |
| get_leave_balanceA | Return the leave balance (total / used / remaining) for all leave types for the specified employee and year. Args: identifier: Employee code or email. year: Calendar year (e.g. 2025). Defaults to the current year. |
| apply_for_leaveA | Submit a leave request on behalf of an employee. Args: identifier: Employee code (e.g. "EMP001") or email. leave_type: Type of leave — use list_leave_types() for valid values (e.g. "Annual", "Sick", "Casual"). start_date: First day of leave in YYYY-MM-DD format. end_date: Last day of leave in YYYY-MM-DD format. reason: Optional reason for the leave request. |
| get_leave_historyA | Retrieve all leave requests for an employee, optionally filtered by year or status. Args: identifier: Employee code or email. year: Filter by calendar year. 0 = all years. status: Filter by status: "pending", "approved", "rejected", "cancelled". Leave empty to return all statuses. |
| get_leave_requestA | Fetch full details of a single leave request by its ID. Args: request_id: The numeric ID of the leave request (returned by apply_for_leave or get_leave_history). |
| cancel_leave_requestA | Cancel a pending leave request. Only the employee who applied can cancel. Args: request_id: Numeric ID of the leave request to cancel. identifier: Employee code or email of the requester (for authorisation). |
| approve_leave_requestA | Approve a pending leave request and deduct days from the employee's balance. Call this only when acting as an HR manager or team lead. Args: request_id: Numeric ID of the leave request to approve. manager_note: Optional note from the manager (visible to the employee). |
| reject_leave_requestA | Reject a pending leave request. Call this only when acting as an HR manager or team lead. Args: request_id: Numeric ID of the leave request to reject. manager_note: Reason for rejection (recommended — visible to employee). |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
| leave_assistant | Structured conversation starter for the leave management assistant. |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
| schema_overview | Full schema overview of the leave management system. |
TDQS
Scored across 10 tools
Each tool targets a distinct action (apply, approve, cancel, reject, retrieve info/balance/history/requests, list employees/types) with no overlap. Clear boundaries between approval workflow and information retrieval.
All tools follow a consistent verb_noun snake_case pattern (e.g., apply_for_leave, get_leave_balance, list_employees). No deviations or mixing of styles.
10 tools is well-scoped for an employee leave management domain. Each tool serves a necessary purpose without unnecessary duplication or bloat.
Covers the core lifecycle (apply, approve, reject, cancel) and read operations (balance, history, employee info). Minor gap: no tool to update a pending leave request (e.g., change dates or reason).