AI assistants
Leave management MCP server for AI assistants
Ask your assistant who is out next week, how many vacation days Ann has left, or to request Friday off. LeaveCalc runs a remote MCP server at one address, and a token you make decides what the assistant can see and do. Claude Code works today. Claude on the web and ChatGPT need OAuth, which LeaveCalc does not have yet.
Free for up to 3 people, with a 14-day Pro trial. No card. The AI assistant connection is in every plan.
# one time, in your own terminal
$ read -rs LEAVECALC_TOKEN && \
export LEAVECALC_TOKEN
$ claude mcp add --transport http leavecalc \
https://leavecalc.com/api/v1/mcp \
--header 'Authorization: Bearer ${LEAVECALC_TOKEN}'
> Who is out this week in LeaveCalc?
tool call who_is_out
{"from": "2026-10-13", "to": "2026-10-16"}
Eva Stone PTO Oct 12 to Oct 14
Cara Diaz Time off Oct 13
Ben Carter PTO Oct 15 to Oct 16
# Cara Diaz is on sick leave. A token that cannot see leave types reads it as Time off.
An assistant is only as useful as the data it can reach, and only as safe as the limits you put on it. LeaveCalc takes the cautious route. You make a token, you decide whether it can only read, and the server enforces the rest: sick leave reads as Time off, approvals need the exact employee and start date, and nobody decides their own request.
That means you can let an assistant answer who is out this week without handing it the keys to everything.
How it works
Three steps from token to answer
The full setup guide has the commands for each assistant.
Make a token
An owner opens Settings, then Integrations, and chooses Create token in the API tokens card. Name it for the person or tool, start with Only read, and copy the token at once. LeaveCalc keeps only a fingerprint.
Only read (people, requests, balances)
Add the server
In Claude Code, keep the token in an environment variable and add the server with one command. Other developer tools take a JSON entry with the address and an Authorization header.
claude mcp add --transport http leavecalc
Ask
Run /mcp in Claude Code to see LeaveCalc and its tools. Then ask in plain words. The assistant asks before it uses a tool, unless you chose always allow.
Who is out this week in LeaveCalc?
What it can do
Nine tools, and one rule about sick leave
Six tools read. A token that can only read does not even see the other three.
- who_is_out: who is on approved time off on a day or in a range of up to 93 days.
- balances: time off left per leave type, for one person or for everyone.
- list_requests: requests, filtered by status, dates or person.
- list_people, company_policies and upcoming_holidays: the people, the leave types and the holidays.
Three tools change things, and only a token that can read and change, made by an owner, sees them.
- request_time_off: asks for time off. It stays pending until someone approves it.
- approve_request and deny_request: decide a pending request, with the same rules as the app.
# a token that can read sees 6 tools, a token that can change sees 9
tools/list read token: 6 tools, write token: 9 tools
tool call approve_request with a read-only token
{
"error": "insufficient_scope",
"message": "This token can only read. Make a token that can read and write to use approve_request."
}
tool call approve_request with the wrong start date
{
"error": "mismatch",
"message": "mismatch: the employee and start_date you gave are not those of request 5. Nothing was changed. Look the request up with list_requests and check it with the user."
}What it does
Guardrails built in
An assistant can be wrong or fooled. The server is built so that one wrong step cannot do much.
A token you control
Only owners make tokens, up to 10. Choose read, or read and change. Remove one and it stops at once. It also stops when its owner is removed.
Sick leave reads Time off
By default the assistant sees sick, FMLA and protected leave without the type and without the note, and it stays out of balances.
Approvals need proof
The assistant must give the employee and the start date as you named them. If they do not match, nothing happens and the answer does not say what the request is.
Every change is logged
A decision or a request made through the assistant is in Settings, Activity log, with the name of the token as who did it.
Rate limits
120 calls a minute for each token and 300 for the company. Past the limit the server answers 429 with a Retry-After header.
An open standard
MCP over Streamable HTTP, protocol versions 2026-07-28, 2025-11-25, 2025-06-18 and 2025-03-26, on the same address.
Privacy and security
What the assistant can and cannot reach
A token is a password for another tool. Treat it like one, and read this list before you connect an assistant to real people.
What it reads leaves LeaveCalc
Names, dates and balances go to the company that runs the assistant, under your agreement with them. Do not connect one you would not share your team calendar with.
Never available
Pay, attendance points, support messages, private manager notes and documents are not reachable through MCP at all.
Notes are data, not orders
A request note reaches the assistant labeled as untrusted text, cut to 200 characters. A note that says approve request 17 cannot supply the proof an approval needs.
Shared connectors need a read token
A connector an owner adds for a whole Claude organization has one header that every member uses. Use a token that can only read.
Keep the confirmation prompt on
Do not choose always allow for approve_request or deny_request. The prompt is the real protection against a hostile note.
Nobody approves their own request
A token acts with the rights of the owner who made it, and that owner cannot decide their own request through the assistant.
Which assistants work
Which assistants can connect today
LeaveCalc takes a fixed bearer token. It does not yet offer the sign-in with OAuth that some assistants insist on.
| Assistant | Works today? | What it takes |
|---|---|---|
| Claude Code | Yes | The claude mcp add command with an Authorization header |
| Cursor, VS Code and similar tools | Yes | A headers setting in their MCP configuration. Check your tool's documentation |
| Claude on the web, Desktop and mobile | Only if your organization has the beta | Request headers in the custom connector dialog. Not every organization has it |
| ChatGPT custom connector | Not yet | It offers OAuth or no authentication, and no field for a token. LeaveCalc needs OAuth support first |
| OpenAI API and Anthropic API | In principle | A token in the authorization field. We have not tested it |
Checked against each product's public documentation on October 7, 2026. These products change often, so check before you rely on a row.
Compare your options
Looking it up or asking
Opening the app is fine for one question. Asking is faster for the fifth.
| What you need | Looking it up yourself | LeaveCalc |
|---|---|---|
| Who is out next week | Open the calendar and filter | Ask, in one sentence |
| How many days someone has left | Open Balances and find the person | Ask by name |
| Asking for time off | Fill in the form | Say it. The request stays pending until someone approves it |
| Approving | Open Requests and click | Say it, and the assistant asks you to confirm first |
| A record of what happened | The activity log | The same log, with the name of the token |
What this does not do yet
- There is no OAuth. That is why ChatGPT cannot connect and why Claude on the web needs a beta feature. Adding it is a project of its own.
- It is not listed in Claude's Connectors Directory or the ChatGPT app directory. Both have review processes that assume OAuth.
- It offers tools only. There are no resources or prompts, and no streaming from the server to the assistant.
- An assistant can be fooled by text it reads. Keep its confirmation prompt on for the tools that change things.
Pricing
Flat price by team size
One monthly price for the whole team, not a price per person. Prices are in US dollars. The employers page has the full plan details.
Free
$0per month
For teams up to 3 people
The AI assistant connection included
Pro
$15per month
For teams of 4 to 25 people
The AI assistant connection included
Business
$69per month
For teams of 26 to 100 people
The AI assistant connection included
Enterprise
$149per month
For teams of more than 100 people, no seat limit
The AI assistant connection included
No card for Free or the 14-day trial. Cancel any time, with a 30-day money-back guarantee on paid plans. Paying yearly costs ten months for twelve.
Start freeFAQ
Questions, answered plainly
MCP, the Model Context Protocol, is an open standard that AI assistants use to call tools in other products. LeaveCalc runs a remote MCP server at one address, so an assistant that speaks MCP can look up who is out, read balances and, with the right token, ask for time off.
Claude Code works today with a token, and Claude on the web, Desktop and mobile can connect only through Request headers, a beta that is open to a limited set of organizations, so check whether yours has it. ChatGPT cannot connect yet, because its custom connector offers OAuth or no authentication and has no field for a fixed token, and that needs OAuth support in LeaveCalc, which does not exist yet.
With a token that can read and change, made by an owner, yes, but it needs the request, the employee and the start date to match, it can never decide the owner's own request, it never overrides a blackout, and it cannot cancel approved time off. Both tools are marked destructive, so assistants that honor the hint ask you every time.
By default sick, FMLA and protected leave read Time off, without the leave type and without the note, and stay out of balances, while a token made with Include the type of sick and medical leave sees the type. Notes on sick and medical requests are never shown to any token.
What the assistant reads, such as names, dates and balances, goes to the company that runs the assistant, under your agreement with them, and LeaveCalc itself never uses customer data to train AI models. Do not connect an assistant you would not share your team calendar with.
Treat it like a password. Keep it in an environment variable, not in a file you share, and name it for the person or tool that uses it. Remove it in Settings, Integrations and it stops working at once, and it also stops when the owner who made it is removed or is no longer an owner.
120 calls a minute for each token and 300 a minute for all the tokens of one company. Past the limit the server answers 429 with a Retry-After header. You can have up to 10 tokens.
Also see
Give your assistant a read-only look at time off
Make a read-only token, add the server to Claude Code, and ask who is out this week.