Home · Setup · Claude.ai and Claude Desktop connectors
Staff leave and PTO: requests, approvals, balances, who is out and a calendar export. You add employees with an annual allowance and carried-over days, then requests arrive as vacation, sick, unpaid or parental, full day or half day, inclusive dates. Approve or reject with a reason, re-open a rejected one by approving it, and cancel via leave_reject with a reason. leave_balance is derived on the call (allowance plus carry-over minus approved and pending, rounded down to whole days plus a half day), leave_out_range answers who is out for coverage and calendars with pending counted as a plan, and the import and ICS export move the ledger in and out. EMP and LV numbers are sequential and never reissued.
The calendars, requests and balances live in the hosted store behind the token, so a request approved here follows the key rather than the machine, and the out-range view is computed against today identically here and on a laptop. leave_import's bulk path and leave_export_ics's calendar file both come back in the answer itself on the hosted route, since there is no local filesystem to write into.
| You say | Tool |
|---|---|
| Add Taylor Wren, 25 days a year, 2 carried over from last year. | leave_employee_add |
| Taylor wants next Tuesday to Wednesday off, vacation. | leave_request |
| Who is out the week of the 12th, and can I get Taylor's balance? | leave_out_range then leave_balance |
The unit suite is 21 tests, 21 passing, 0 failing (node --test, node v22), covering the balance arithmetic, half days, the re-open path and the out-range deduplication, with adversarial, concurrency, paths and contract suites alongside it.
https://mcp.zovo.one/mcp/connect mints an anonymous token and prints a URL per server, including this one, shaped like https://mcp.zovo.one/mcp/leave/t/<token>. That URL works with no headers: the token is in the path, not in an Authorization field this form does not have.
Idle anonymous tokens are swept after 30 days. Since this route has no filesystem, a file MCP Leave Tracker generates comes back as a download link that expires after one hour. A Pro key can replace the token in the same URL and removes the free-tier limits.
On an individual Pro or Max plan you add the connector yourself from Customize, Connectors. On Team and Enterprise it is the other way round: only an Owner or Primary Owner can add a custom connector, at Organization settings, Connectors, and members then connect to what the Owner added rather than pasting their own URL.
Free: Employees, requests, approvals, rejections, balances, the out-range view and the lists are free and unlimited; nothing a manager decides in a morning sits behind a paywall. Reads are free on every tier. Pro is $19 once, verified offline, and binds to the token after checkout.
No. Add custom connector offers an Advanced settings section with an OAuth Client ID and Client Secret, but the connect-by-URL route does not use it. Leave both blank: the token in the URL path is what authenticates.
That is documented, not a bug: on Team and Enterprise, only an Owner or Primary Owner can add a custom connector, at Organization settings, Connectors, Add, Custom, Web. After that, members connect to the URL the Owner added from Customize, Connectors.
Yes. The token segment of the URL from /mcp/connect can be replaced with a Pro key, which removes the free-tier limits on MCP Leave Tracker for that connector.
The connector runs server-side with no filesystem of its own, so any file MCP Leave Tracker produces is handed back as a download link that expires after one hour, rather than a path on disk.
MCP Leave Tracker in detail · How connect-by-URL works · Every server for Claude.ai and Claude Desktop connectors · All clients · Claude.ai and Claude Desktop connectors docs · Buy Pro