MCP Leave Manager Server
Provides local database storage for employee records and leave requests using SQLite.
Click on "Deploy 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 Manager ServerCheck leave balance for Anita Patel"
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 Manager Server
This project demonstrates a Model Context Protocol (MCP) server for employee leave management using SQLite database storage, featuring seamless integration with Claude Desktop for natural language interactions and comprehensive leave tracking.
š Features
Employee Management: Add, view, and search employees with fuzzy name matching
Leave Request System: Submit, approve, and track leave requests (annual, sick, personal, emergency)
Leave Balance Tracking: Monitor annual and sick leave balances with automatic deduction
MCP Integration: Seamless integration with Claude Desktop for natural language interactions
Database Persistence: SQLite database with sample Indian employee data
Type Safety: Full type hints and dataclasses for robust code
Fuzzy Search: Smart employee name matching for typo tolerance
Related MCP server: HR Leave Management MCP Server
š How It Works
Database Initialization: Creates SQLite tables and populates with sample data
MCP Resources: Exposes read-only data endpoints for Claude Desktop
MCP Tools: Provides action-based functions for data modification
Natural Language Interface: Claude Desktop translates user prompts to function calls
Data Validation: Ensures data integrity with employee and leave type validation
Automatic Balance Updates: Deducts leave days from employee balances upon approval
š ļø Usage
Install dependencies:
pip install -r requirements.txt
# If you need to manually install missing packages:
pip install fastmcp mcp typing-extensionsRun the MCP server:
python server.py
# or
python -m mcp_leave_manager_server.serverConfigure Claude Desktop:
Add to your Claude Desktop MCP configuration:
{
"mcpServers": {
"leave-manager": {
"command": "python",
"args": ["/path/to/server.py"]
}
}
}Sample Prompts in Claude Desktop:
- "Show me all employees"
- "Get leave requests for Rajesh Kumar"
- "Submit a leave request for EMP001 from 2024-10-01 to 2024-10-05 for vacation"
- "Approve leave request REQ003"
- "Check leave balance for Anita Patel"
- "Show pending leave requests"
- "Add new employee named Rohit Sharma in Engineering"š ļø Tech Stack
Python 3.13+ with FastMCP framework
SQLite for data persistence
Model Context Protocol (MCP) for AI integration
Type hints with dataclasses for robust code
difflib for fuzzy name matching
š MCP Resources & Tools
Resources (Read-only data):
employees://all- Employee directory with leave balancesemployee://{employee_id}- Individual employee informationleave-requests://all- All leave requests in the systemleave-requests://employee/{employee_id}- Employee-specific requestsleave-requests://status/{status}- Requests by status (pending, approved, denied)
Tools (Actions):
submit_leave_request()- Submit new leave requestapprove_leave_request()- Approve pending requestscheck_leave_balance()- Check employee leave balancesget_pending_approvals()- Get all pending requestsget_database_stats()- Get system statisticsadd_employee()- Add new employees with duplicate checking
š Project Structure
mcp_leave_manager_server/
āāā server.py # Main MCP server implementation
āāā main.py # Entry point
āāā requirements.txt # Python dependencies
āāā pyproject.toml # Project configuration
āāā leave_manager.db # SQLite database (auto-created)
āāā README.md # This file
āāā __pycache__/ # Python cache filesš¾ Database Schema
Employees Table
CREATE TABLE employees (
employee_id TEXT PRIMARY KEY,
name TEXT NOT NULL,
department TEXT NOT NULL,
manager TEXT NOT NULL,
annual_leave_balance INTEGER NOT NULL,
sick_leave_balance INTEGER NOT NULL
);Leave Requests Table
CREATE TABLE leave_requests (
request_id TEXT PRIMARY KEY,
employee_id TEXT NOT NULL,
employee_name TEXT NOT NULL,
start_date TEXT NOT NULL,
end_date TEXT NOT NULL,
leave_type TEXT NOT NULL,
status TEXT NOT NULL,
reason TEXT NOT NULL,
days_requested INTEGER NOT NULL,
submitted_date TEXT NOT NULL,
approved_by TEXT,
FOREIGN KEY (employee_id) REFERENCES employees (employee_id)
);š Progress
ā Environment setup and dependencies configured
ā SQLite database schema and sample data implemented
ā MCP resources for data access created
ā MCP tools for data modification implemented
ā Employee and leave request management verified
ā Fuzzy name matching and data validation added
ā Claude Desktop integration tested
šÆ Use Cases
Perfect for:
HR Teams: Manage employee leave requests efficiently
Managers: Approve/deny requests and track team availability
Employees: Submit leave requests and check balances
AI Integration: Natural language interface for leave management
š® Future Enhancements
Email notifications for leave approvals
Calendar integration for leave scheduling
Department-wise leave analytics
Leave policy enforcement rules
REST API endpoints
Web dashboard interface
āļø Author
Chamundeswari ā Software Engineer exploring GenAI, MCP servers, and AI-powered business applications.
Built with ā¤ļø for seamless AI-powered leave management
This server cannot be deployed
Maintenance
Related MCP Connectors
Personal CRM for Claude. Contacts live as plain-text files in your own Google Drive.
Billable-hours time tracking with rates and CSV export, running inside Claude or Cursor.
WHOOP recovery, strain, sleep and workouts in Claude via official WHOOP OAuth. Free, open source.
AI-powered corporate learning platform ā manage courses, users, and insights via Claude.
Related MCP Servers
- FlicenseNot gradedqualityDmaintenanceEnables employees to check leave balance, apply for leave, and view leave history through natural language using Claude Desktop.-
- FlicenseBqualityDmaintenanceEnables managing employee leave requests (apply, view, list leaves) through Claude desktop using natural language.6-
- AlicenseAqualityDmaintenanceManages employee leave with Claude Desktop via natural language. Enables checking balances, applying, approving, and reviewing leave requests through a Supabase-backed MCP server.10MIT
- FlicenseBqualityDmaintenanceEnables HR teams to query and manage employee leave through natural language using Claude Desktop, with tools for checking balances, applying leave, and viewing history.3-