Command Palette

Search for a command to run...

UnylyUnyly
Browse all

Employee Leave Manager

FreeNot checked

Enables managing employee leave through natural language, including checking balances, applying for or canceling leave, and viewing history, with data stored in

GitHubEmbed

About

Enables managing employee leave through natural language, including checking balances, applying for or canceling leave, and viewing history, with data stored in a local SQLite database.

README

An MCP server that exposes employee leave management (balances, applying for leave, history, etc.) as tools that Claude Desktop (or any MCP client) can call. Data is stored in a local SQLite database.

Prerequisites

Setup

Clone the repo:

git clone https://github.com/TharushiDinushika/Employee-Leave-Manager-MCP.git
cd Employee-Leave-Manager-MCP

Create the project and install dependencies:

uv sync

Activate Virtual Environment

.venv\Scripts\activate 

Initialize the database

Creates the SQLite schema and seeds it with sample employees, leave types, and balances:

python init_db.py

Options:

python init_db.py --reset      # drop all tables and reseed from scratch
python init_db.py --no-seed    # create schema only, skip sample data

Run the server

uv run mcp dev server.py

This opens the MCP Inspector, where you can list and test the available tools directly before connecting a client.

Connect to Claude Desktop

Open Claude Desktop and check whether the connector appears automatically.

Demo screenshot

If it doesn't show up, add it manually:

  1. Go to File → Settings → Developer → Edit Config
  2. Add the following block to the config file (update the path to match where you cloned the project):
{
  "mcpServers": {
    "EmployeeLeaveManager": {
      "command": "uv",
      "args": [
        "--directory",
        "C:\\path\\to\\Employee-Leave-Manager-MCP",
        "run",
        "server.py"
      ]
    }
  }
}
  1. Restart Claude Desktop.
  2. Open a new chat and try asking Claude about employee leave — e.g. "What's E001's leave balance?"

Functionality

The server exposes the following tools:

Tool Description
get_leave_balance(employee_id, leave_type) Check remaining leave balance for an employee. Returns balance for a specific leave type, or all types if omitted.
apply_leave(employee_id, leave_dates, leave_type="annual", reason) Apply for leave on one or more specific dates. Validates date format, rejects past or duplicate dates, and checks balance before deducting.
cancel_leave(employee_id, leave_dates) Cancel previously approved leave and refund the balance.
get_leave_history(employee_id, leave_type) View an employee's leave history, optionally filtered by leave type.
get_leave_types() List all available leave types (annual, sick, casual, unpaid) and their default annual allotment.
list_employees(department) List all employees, optionally filtered by department.
add_employee(employee_id, name, department, email, manager_id) Onboard a new employee with default leave balances.
get_employee_details(employee_id) Get an employee's profile (name, department, email, manager).

It also exposes two resources:

  • greeting://{name} — a personalized greeting
  • employee://{employee_id}/summary — a quick profile + balance summary for an employee

Data model

Data lives in a local SQLite database (leave_manager.db), with four tables: employees, leave_types, leave_balances, and leave_requests. Schema creation and seeding are handled separately by init_db.py, so the server itself never modifies the schema — it just reads/writes data.

Project structure

mcp-server/
├── server.py         # MCP server: tools, resources, DB queries
├── init_db.py        # Database schema creation + seeding (run once)
├── leave_manager.db  # SQLite database (created after running init_db.py)

from github.com/TharushiDinushika/Employee-Leave-Manager-MCP

Installing Employee Leave Manager

This server has no published package — it is built from source. Open the repository and follow its README.

▸ github.com/TharushiDinushika/Employee-Leave-Manager-MCP

FAQ

Is Employee Leave Manager MCP free?

Yes, Employee Leave Manager MCP is free — one-click install via Unyly at no cost.

Does Employee Leave Manager need an API key?

No, Employee Leave Manager runs without API keys or environment variables.

Is Employee Leave Manager hosted or self-hosted?

Self-hosted: the server runs locally on your machine via the install command above.

How do I install Employee Leave Manager in Claude Desktop, Claude Code or Cursor?

Open Employee Leave Manager on unyly.org, pick your client tab (Claude Desktop, Claude Code, Cursor) and press Install — the config is generated automatically, no JSON editing.

Related MCPs

Compare Employee Leave Manager with

Not sure what to pick?

Find your stack in 60 seconds

Author?

Embed badge for your README

Browse similar

All data MCPs