HRMS MCP Server
An MCP server for HR management that enables adding employees, managing tickets and leaves, sending emails, and onboarding new hires via in-memory mock data.
README
HR Management System (MCP Server)
⚠️ Work in progress. This project is still under active development and is not production-ready. The manager functions in
HRMS/are mock implementations that mimic the API calls of Keka HR software, using in-memory sample data instead of real Keka API integration.
An HR assistant exposed as an MCP (Model Context Protocol) server. It lets an MCP-compatible client (e.g. Claude Desktop) manage employees, tickets, leaves, and meetings, and send emails — backed by in-memory data that is seeded with sample employees on startup.
Features
The MCP server (server.py) exposes the following tools and prompt:
| Tool | Description |
|---|---|
add_employee |
Add a new employee to the HRMS. |
get_employee_details |
Look up an employee's details by name. |
create_ticket |
Raise a ticket for equipment/items (laptop, ID card, etc.). |
update_ticket_status |
Update a ticket's status. |
list_tickets |
List tickets for an employee, optionally filtered by status. |
send_email |
Send an email via SMTP. |
| Prompt | Description |
|---|---|
onboard_new_employee |
Guided workflow to onboard a new hire end-to-end. |
Additional domain logic lives in the HRMS/ package (employee, leave, meeting,
and ticket managers plus Pydantic schemas.py). These managers currently mock
Keka's HR API; sample data is loaded by utils.seed_services on server start.
Requirements
- Python >= 3.12
- uv (recommended) for dependency management
Setup
-
Clone the repository:
git clone <your-repo-url> cd HR_Management_System -
Install dependencies:
uv sync -
Configure environment variables. Copy the example file and fill in your SMTP credentials:
cp .env.example .envVariable Description MS_EMAILSender email address / SMTP login. MS_EMAIL_PWDSMTP password or app password. For Gmail, generate an App Password rather than using your account password.
Running
Start the MCP server (uses stdio transport):
uv run server.py
To use it with an MCP client such as Claude Desktop, add an entry to the client's MCP server configuration pointing at this command, for example:
{
"mcpServers": {
"atliq-hr-assist": {
"command": "uv",
"args": ["run", "server.py"],
"cwd": "/absolute/path/to/HR_Management_System"
}
}
}
You can also test the email sender directly:
uv run emails.py
Project structure
.
├── server.py # MCP server entry point (tools & prompts)
├── emails.py # SMTP email sender
├── utils.py # Seeds the managers with sample data
├── main.py # Hello-world placeholder
├── HRMS/ # Core domain package (mocks Keka HR API)
│ ├── employee_manager.py
│ ├── leave_manager.py
│ ├── meeting_manager.py
│ ├── ticket_manager.py
│ └── schemas.py # Pydantic models
├── .env.example # Template for required environment variables
└── pyproject.toml
Roadmap / TODO
- Replace the mock
HRMS/managers with real Keka HR API integration. - Persist data instead of using in-memory seeded sample data.
- Expand MCP tool coverage for leave and meeting management.
Notes
- Data is stored in memory and re-seeded on every start; it is not persisted.
- Never commit your
.envfile — it contains secrets and is git-ignored.
Recommended Servers
playwright-mcp
A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.
Magic Component Platform (MCP)
An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.
Audiense Insights MCP Server
Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.
VeyraX MCP
Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.
graphlit-mcp-server
The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.
Kagi MCP Server
An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.
E2B
Using MCP to run code via e2b.
Neon Database
MCP server for interacting with Neon Management API and databases
Exa Search
A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.
Qdrant Server
This repository is an example of how to create a MCP server for Qdrant, a vector search engine.