mcp-leave
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@mcp-leave Who is out on leave this week?"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
mcp-leave
MCP server for a staff leave and PTO tracker: requests, approvals, balances, who is out and a calendar export. Employee leave and PTO: balances, approvals, calendars, and who-is-out summaries.
Works with Claude Desktop, Claude Code, Cursor and any Model Context Protocol client. Runs on your own machine, or hosted with no install.
Product page: https://mcp.zovo.one/s/leave — what it does, the tools it exposes, and a live token endpoint.
Install
Hosted, nothing to install. Get a token from https://mcp.zovo.one/mcp/connect (the connect page) or https://mcp.zovo.one/mcp/token (the same token as JSON); a free anonymous one is issued on the spot and a Pro key works the same way. Then point an MCP client at https://mcp.zovo.one/mcp/leave over streamable-http and send the token as Authorization: Bearer <token>.
If your client cannot set headers, put the token in the path instead: https://mcp.zovo.one/mcp/leave/t/<token>. Both forms work. The bare URL with no token answers 401 on tools/call, so the token is not optional.
Claude Desktop, one click. Download leave.mcpb from the latest release and double-click it.
From source. The mirror is self-contained: every @theluckystrike/* dependency is vendored, so a fresh clone builds with no extra setup.
git clone https://github.com/theluckystrike/mcp-leave.git
cd mcp-leave
npm install && npm run buildThen point your client at the built entry point:
{
"mcpServers": {
"leave": {
"command": "node",
"args": ["/absolute/path/to/mcp-leave/dist/index.js"]
}
}
}
@theluckystrike/mcp-leaveis not published on npm yet, so annpx -y @theluckystrike/mcp-leavecommand will fail. The three paths above are the working ones and each is exercised by CI.

Read-only mirror of mcp-servers/servers/leave. See MIRROR.md.
In the official MCP Registry (io.github.theluckystrike/leave).
Employee leave/PTO tracking for solopreneurs and small studios: who is off,
when, and how many days each person has left. Add employees with an annual
allowance and any carried-over days, log vacation/sick/personal requests
(including half-days), approve or reject them, and read balances, conflicts
and who-is-out calendars directly from your MCP client — Claude Desktop,
Cursor, or any MCP host.
Related MCP server: Employee Leave Management MCP Server
Tools
"leave_employee_add"— add an employee withannualAllowance(and optionalcarriedOver)."leave_request"— log a leave request (employee,type,start,end, optionalhalfDay,reason)."leave_approve"/"leave_reject"— decide a request; decisions are recorded with dates."leave_cancel"— cancel a pending or approved request (keeps the audit trail)."leave_balance"— allowance, carried, approved, pending, committed and remaining days per employee."leave_out_range"— who is out in a date range: day-by-day calendar rows plus person-days."leave_list"— all employees and requests, filterable by employee and status."leave_import"(Pro) — bulk-create requests from CSV; conflicting rows are rejected one by one, valid rows still apply."leave_export_ics"(Pro) — export approved leave as an RFC5545.icscalendar.
The one rule that decides everything else
A day is committed when the request that spends it is approved or pending.
Balance is allowance + carried − approved − pending. Cancelling returns the
days immediately; rejecting never charged them.
Overlapping requests for the same person are refused at creation time — both pending and approved count — so the calendar never contains two requests claiming the same day.
Free vs Pro
The free tier is the full CRUD surface: employees, requests, approvals,
balances, calendars — watermark-free, no request limits. Pro (an
MCP_LICENSE_KEY, activate with "license_activate") adds bulk CSV import
and ICS calendar export. Run "license_status" to see the current tier.
Quick start
{
"mcpServers": {
"leave": { "command": "npx", "args": ["-y", "@theluckystrike/mcp-leave"] }
}
}Data lives in a single JSON store (~/.mcp-leave/store.json, or
$XDG_DATA_HOME/mcp-servers/leave/store.json when set), written atomically
under a file lock, so two clients on one machine never interleave writes.
Use these docs as an MCP server
Any MCP client (Claude, Cursor, Windsurf, VS Code) can read this repository's documentation directly via GitMCP — no install:
Docs MCP URL: https://gitmcp.io/theluckystrike/mcp-leave
Available Tools
12 toolsleave_approveApprove leaveA
Approve a pending leave request by id. Also used to re-open a rejected one. Nothing to approve on an already-approved request.
Inputs: request (required), comment.
leave_balanceLeave 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.
Inputs: employee (required).
leave_cancelCancel leaveA
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.
Inputs: request (required), reason.
leave_employee_addAdd an employeeA
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.
Inputs: name (required), annualAllowance (required), email, carriedOver.
leave_export_icsExport calendar (Pro)ARead-onlyIdempotent
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.
Inputs: path.
leave_importBulk import requests (Pro)A
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.
Inputs: csv (required).
leave_listList employees or requestsBRead-onlyIdempotent
List all employees, or all leave requests (optionally filtered by employee and/or status). Omit the filter to list requests.
Inputs: status, employee.
leave_out_rangeWho is out?A
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.
Inputs: end (required), start (required).
leave_rejectReject leaveA
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.
Inputs: request (required), reason.
leave_requestRequest leaveA
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.
Inputs: end (required), type (required), start (required), employee (required), +2 more.
license_activateActivate licenseA
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.
Inputs: key (required).
license_statusLicense 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.
Inputs: no named parameters.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
Loading tool schema changelog…
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).
Maintenance
Related MCP Connectors
Employee leave and PTO: requests, approvals, balances, who is out, and conflict checks.
Track and manage employee time off with quick balance lookups and streamlined applications. Find t…
Manage multi-site crews, rosters, check-ins and timesheets in ZimQi from any MCP client.
CharlieHR MCP server for ChatGPT, Claude and any AI agent: list team members, list time off requests, approve time off request, deny time off request, book time off, record sick day, adjust time off allowance and cancel time off booking in your own CharlieHR account. Cotlet works in the account through your Cloud Browser, a real Chrome where you sign in to CharlieHR yourself; Cotlet does not store your password and you need no CharlieHR API key. About the official CharlieHR API: CharlieHR has an API, but a narrow one, and no official MCP server (checked 20 Oct 2026). A Super Admin creates a Client ID and Client Secret under Company > Integrations > API Access; the API covers team members, leave, offices and teams. Setup and FAQ: https://cotlet.dev/integrations/charliehr-api-mcp-server
Related MCP Servers
- FlicenseNot gradedqualityDmaintenanceEnables AI assistants to manage employee leave by checking balances, applying for leave, and viewing history via MCP tools.-
- AlicenseAqualityDmaintenanceManages employee leave with Claude Desktop via natural language. Enables checking balances, applying, approving, and reviewing leave requests through a Supabase-backed MCP server.10MIT
- FlicenseNot gradedqualityDmaintenanceEnables natural-language-based employee leave management including leave balance checks, leave applications, approvals, and history retrieval through an MCP-compatible client.-
- FlicenseBqualityDmaintenanceEnables managing employee leave requests including checking balance, applying for leave, and viewing history.3-