Skip to main content
Glama
kanthirayakota-cloud

leave-management

Leave Management MCP Server

An MCP (Model Context Protocol) server for employee leave management, built with FastMCP and Python.

Features

  • Check leave balance — query remaining leave days for an employee

  • Apply for leave — submit leave requests for specific dates

  • View leave history — retrieve past leave records

  • Greeting resource — personalized greeting endpoint


Prerequisites


Environment Setup

1. Install uv

curl -LsSf https://astral.sh/uv/install.sh | sh

Verify the installation:

uv --version

2. Clone the repository

git clone <your-repo-url>
cd mcp1_leave_management

3. Install Python 3.14

uv will read the .python-version file and auto-install the correct Python version:

uv python install

4. Create a virtual environment

uv venv

5. Activate the virtual environment

# macOS / Linux
source .venv/bin/activate

# Windows
.venv\Scripts\activate

6. Install the mcp dependency

uv add mcp

7. Verify the installation

python -c "from mcp.server.fastmcp import FastMCP; print('MCP installed successfully')"

Running the Server

Standalone (for testing)

python main.py

With MCP Inspector (interactive testing)

npx @modelcontextprotocol/inspector python main.py

Then open http://localhost:5173 in your browser to interact with the tools.


Connecting to Claude Desktop

1. Find your Claude Desktop config file

OS

Path

macOS

~/Library/Application Support/Claude/claude_desktop_config.json

Windows

%APPDATA%\Claude\claude_desktop_config.json

2. Add the server configuration

Open the config file and add an entry under mcpServers:

{
  "mcpServers": {
    "leave-management": {
      "command": "uv",
      "args": [
        "run",
        "--directory",
        "/absolute/path/to/mcp1_leave_management",
        "python",
        "main.py"
      ]
    }
  }
}

Replace /absolute/path/to/mcp1_leave_management with the actual path on your machine.

3. Restart Claude Desktop

Quit and relaunch Claude Desktop. The leave management tools will appear in the tool panel.


Available Tools

Tool

Description

Parameters

get_leave_balance

Returns remaining leave days

employee_id: str

apply_leave

Applies leave for given dates

employee_id: str, leave_dates: List[str]

get_leave_history

Returns past leave dates

employee_id: str

Example usage (in Claude)

Check leave balance for employee E001
Apply leave for E002 on 2025-06-10 and 2025-06-11
Show leave history for E001

Mock Data

The server starts with two pre-seeded employees:

Employee ID

Initial Balance

Pre-existing Leaves

E001

18 days

2024-12-25, 2025-01-01

E002

20 days

None

Data is held in memory and resets each time the server restarts.


Project Structure

mcp1_leave_management/
├── main.py           # MCP server and tool definitions
├── pyproject.toml    # Project metadata and dependencies
├── uv.lock           # Locked dependency versions
├── .python-version   # Pinned Python version (3.14)
└── README.md

Terminal setup steps from zero

uv venv --python 3.14 .venv
source .venv/bin/activate
which python
python --version
uv pip install mcp
uv
uv init
uv pip show mcp
uv run mcp install main.py
F
license - not found
-
quality - not tested
C
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

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/kanthirayakota-cloud/MCP1_LEAVE_MANAGER'

If you have feedback or need assistance with the MCP directory API, please join our Discord server