HRMS MCP Server
Click on "Install 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., "@HRMS MCP Serveradd a new employee named John Doe"
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.
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 a new employee to the HRMS. |
| Look up an employee's details by name. |
| Raise a ticket for equipment/items (laptop, ID card, etc.). |
| Update a ticket's status. |
| List tickets for an employee, optionally filtered by status. |
| Send an email via SMTP. |
Prompt | Description |
| 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.
Related MCP server: DB MCP (HR CSV to SQLite)
Requirements
Python >= 3.12
uv (recommended) for dependency management
Setup
Clone the repository:
git clone <your-repo-url> cd HR_Management_SystemInstall dependencies:
uv syncConfigure 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.pyTo 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.pyProject 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.tomlRoadmap / 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.
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/lalithdabilpuram01/HRMS_MCP_Server'
If you have feedback or need assistance with the MCP directory API, please join our Discord server