mcp-leave
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
No arguments | |||
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
} |
| prompts | {
"listChanged": true
} |
| resources | {
"listChanged": true
} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| leave_employee_addA | Add an employee to the leave tracker and return their EMP-NNNN id. Give their annual paid-leave allowance in whole days and any days carried over from last year. Balances charge approved plus pending leave against allowance + carried-over. Free tier: unlimited. |
| leave_requestA | Create a leave or PTO request and return its LV-NNNN id. type is vacation, sick, unpaid or parental. start and end are inclusive YYYY-MM-DD dates; halfDay charges half a day for the whole span. A pending request is refussed if it would overlap another approved or pending request of the same employee. Free tier: unlimited requests. |
| leave_approveA | Approve a pending leave request by id. Also used to re-open a rejected one. Nothing to approve on an already-approved request. |
| leave_rejectA | Reject or cancel a leave request by id. A pending or approved request becomes rejected; a rejected one can be reopened via leave_approve. Use leave_cancel (via reject with reason) for voluntary withdrawal. |
| leave_balanceA | Show one employee's leave balance: allowance + carried-over, minus approved and pending, as whole days plus a possible half day. Remaining is rounded down to whole days on the report. |
| leave_out_rangeA | Who is out in a date range: start and end are inclusive YYYY-MM-DD. Each employee appears once per day; pending requests count as a plan. Use for coverage, calendars and absence summaries. Free tier: unlimited. |
| leave_listB | List all employees, or all leave requests (optionally filtered by employee and/or status). Omit the filter to list requests. |
| leave_importA | Pro. Bulk-create leave requests from a CSV/TSV. First row is a header: employee,type,start,end,halfDay,status,reason. status may be omitted (defaults to pending) or be approved/rejected. Each request is still checked for overlap conflicts; a conflicting row is reported, not applied. watermark-free, full CRUD. |
| leave_export_icsA | Pro. Export all APPROVED leave as an .ics calendar (RFC5545). Returns the calendar text; pass path to also write it to a local file. watermark-free. |
| license_statusA | Report this server's licence state: product, tier free or pro, licence id, expiry, the key source and the upgrade URL. No arguments, no network. Explains a free-tier refusal; license_activate installs a key. |
| license_activateA | Activate a Pro key (MCPL1.xxx.yyy) from checkout: verified offline against a built-in public key, saved to your config file. A wrong, malformed or expired key is refused, unsaved. license_status reads it back. |
| leave_cancelA | Cancel a pending or approved request by id, keeping its record with status cancelled. Differs from leave_reject in intent (voluntary withdrawal). Nothing happened if already cancelled. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 12 tools
Most tools target distinct actions, but the approve/reject/cancel trio blurs together: leave_approve also reopens rejected requests, and leave_reject's description says voluntary withdrawal should use leave_cancel 'via reject with reason', which contradicts the stated separation. The descriptions work hard to disambiguate, but an agent could still misselect between reject and cancel.
The leave_* family mostly follows verb-first verb_noun (leave_approve, leave_list, leave_import), but leave_employee_add inverts the order and leave_export_ics adds a suffix. The license_status/license_activate pair uses noun_verb, opposite of the dominant pattern.
Twelve tools is well-scoped for a leave tracker, with each operation (request, approve, reject, cancel, list, balance, coverage, import/export) earning a place. The two license tools are peripheral but justified by the free/pro tier model.
Core lifecycle is covered (create, approve, reject, cancel, list, balance, coverage, import/export), but there is no way to edit an existing request's dates or type, no get-single-request tool, and no employee management beyond add (no list/update/remove of employees).