mcp-leave-management
Click on "Install 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-managementShow Chandu's leave balance"
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 Management Server
A simple Model Context Protocol (MCP) server that exposes employee leave-management operations (apply, cancel, check balance, view history) as tools an AI client (like Claude Desktop, Claude Code, or the MCP Inspector) can call directly.
Built as a learning project for understanding how MCP servers work — how tools are defined, registered, and invoked by an LLM client — before extending it into a real backend (e.g. with persistent storage).
Features
Add new employees with a default leave balance
Check an employee's remaining leave balance
Apply for leave (with automatic balance deduction and history logging)
View an employee's full leave history
Cancel a previously applied leave (restores balance)
List all employees in the system
Note: Data is stored in-memory for this version — it resets every time the server restarts. Persistence (SQLite/Postgres) is a planned next step.
Related MCP server: HR Leave Management MCP Server
Tech Stack
Project Structure
mcp-leave-management/
├── leave_server.py # MCP server with all tool definitions
├── pyproject.toml # Project metadata & dependencies (created by uv)
├── README.md
└── .gitignoreSetup
1. Clone the repository
git clone <your-repo-url>
cd mcp-leave-management2. Install dependencies with uv
uv init --no-workspace
uv add "mcp[cli]"3. Run the server with MCP Inspector (for manual testing)
uv run mcp dev leave_server.pyThis opens the MCP Inspector in your browser, where you can connect to the server and call each tool manually with test inputs.
Available Tools
Tool | Parameters | Description |
|
| Adds a new employee with a default balance of 10 days |
|
| Returns the employee's remaining leave balance |
|
| Deducts leave days and logs the request in history |
|
| Returns the list of past leave applications |
|
| Cancels a leave entry and restores the balance |
| — | Returns a list of all employee names |
Default seed data
Employee | Starting Balance |
Chandu | 10 |
Sekhar | 15 |
Example Usage (via MCP Inspector)
Call
list_employees→ confirms["Chandu", "Sekhar"]Call
get_leave_balancewithemp_name="Chandu"→ returns10Call
apply_leavewithemp_name="Chandu",days=2,reason="Personal"→ returns a confirmation message and deducts the balanceCall
get_leave_balanceagain forChandu→ returns8Call
get_leave_historyforChandu→ shows the applied leave entry with itsidCall
cancel_leavewith thatleave_id→ restores the balance back to10
Connecting to Claude Desktop / Claude Code
Once verified in the Inspector, this server can be registered as an MCP tool in
a client's configuration (e.g. claude_desktop_config.json), pointing to the
uv run command for leave_server.py.
Roadmap / Next Steps
Replace in-memory dict with persistent storage (SQLite or Postgres)
Input validation (e.g. reject negative/zero
daysinapply_leave)Role-based access (manager approval flow for leave requests)
Unit tests for each tool
Docker support for deployment
License
MIT (or update as preferred)
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Latest Blog Posts
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/MarriHarshaVardhan/mcp-leave-management'
If you have feedback or need assistance with the MCP directory API, please join our Discord server