Skip to main content
Glama
ratankumarthakur

Leave Management MCP Server

Leave Management MCP Server

An AI-powered Leave Management System built using the Model Context Protocol (MCP).

This project demonstrates how a Large Language Model (LLM) can discover and invoke MCP tools to perform business operations such as checking leave balances, applying for leave, and retrieving leave history through natural language.


Features

  • Built using the FastMCP framework

  • Streamlit-based AI client

  • Gemini API for intelligent tool selection

  • SQLite database for persistent data storage

  • Dynamic MCP tool discovery using list_tools()

  • Natural language interface


Related MCP server: leave-manager-mcp

Project Structure

.
├── app.py              # Streamlit AI Client
├── main.py             # MCP Server
├── llm.py              # Gemini Integration
├── database.py         # SQLite Helper Functions
├── init_db.py          # Database Initialization
├── pyproject.toml
├── uv.lock
├── .python-version
├── .env.example
├── README.md
└── .gitignore

Available MCP Tools

  • get_leave_balance

  • apply_leave

  • get_leave_history


Tech Stack

  • Python

  • Model Context Protocol (MCP)

  • FastMCP

  • Streamlit

  • Gemini API

  • SQLite

  • uv


Installation

1. Clone the repository

git clone https://github.com/ratankumarthakur/leave-management-mcp
cd leave-management-mcp

2. Install dependencies

uv sync

3. Configure the environment

Create a .env file in the project root.

GEMINI_API_KEY=YOUR_API_KEY

4. Initialize the database

python init_db.py

5. Run the application

streamlit run app.py

Example Queries

Try asking:

  • Show leave balance for E001

  • Apply leave for E002 on 2026-08-10

  • Show leave history for E001

  • Apply leave for E001 on 15 September 2026


Architecture

User
   │
   ▼
Streamlit Client
   │
   ▼
Gemini LLM
   │
   ▼
MCP Client
   │
   ▼
MCP Server
   │
   ▼
SQLite Database

How It Works

  1. The user enters a natural language query.

  2. The Gemini model selects the appropriate MCP tool.

  3. The Streamlit client invokes the selected MCP tool.

  4. The MCP server executes the requested operation.

  5. Data is read from or written to the SQLite database.

  6. The result is returned to the client and displayed to the user.


Learning Objective

This project was built to understand the fundamentals of the Model Context Protocol (MCP), including:

  • Building an MCP server

  • Creating an MCP client

  • Dynamic tool discovery

  • LLM-driven tool invocation

  • Database-backed tool execution

  • Developing an AI-powered application using Streamlit


Screenshot

Install Server
F
license - not found
C
quality
C
maintenance

Maintenance

Maintainers
Response time
Release cycle
Releases (12mo)
Commit activity

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Servers

View all related MCP servers

Related MCP Connectors

  • AI-native scheduling: check availability, book meetings, cancel and reschedule via MCP

  • An AI concierge that turns static forms into adaptive AI conversations. From any MCP client.

  • Manage projects, tasks, time tracking, and team collaboration through natural language.

View all MCP Connectors

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/ratankumarthakur/leave-management-mcp'

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