HRMS Tool
Allows sending transactional email via Gmail SMTP, supporting plain text, HTML, and attachments.
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 Toolonboard Maria Lopez as a Software Engineer reporting to Elena Cross"
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.
Overview
HRMS Tool is a Model Context Protocol server that turns a set of core HR workflows — onboarding, offboarding, leave tracking, meeting scheduling, IT ticketing, and email — into tools an AI agent can call directly.
Instead of clicking through an HR portal, you can ask an MCP-connected assistant things like:
"Onboard Marcus Webb as a new report under Elena Cross, starting Monday." "Who on Naomi Steele's team is running low on leave?" "Close out all of Diego Ramos's open tickets and cancel his upcoming meetings — he's leaving Friday."
The assistant plans the steps, calls the right tools in the right order, and reports back — using the guided prompts below for multi-step workflows, or individual tools for one-off actions.
Related MCP server: HRizzle-HR-Assist
✨ Features
👤 Employee management — add, update, look up, and search employees; resolve manager/report relationships
🌴 Leave management — check balances, apply for leave, review history
📅 Meeting scheduling — book, list, and cancel meetings with conflict detection
🎫 Ticket system — raise equipment/resource requests, track status, filter and inspect tickets
📧 Email — send transactional email via Gmail SMTP (plain text, HTML, and attachments)
🧭 Guided prompts — pre-built, multi-tool workflows for onboarding, offboarding, and team leave reporting
🌱 Seeded demo data — spins up with a realistic org chart, leave history, meetings, and tickets so you can try it immediately
🏗️ Architecture
flowchart LR
Client(["MCP Client<br/>(Claude Desktop, etc.)"])
subgraph MCPServer["mcp-server/"]
Server["server.py<br/>MCPServer('HRMS Tool')"]
end
subgraph HRMSPkg["hrms/"]
EM["EmployeeManager"]
LM["LeaveManager"]
MM["MeetingManager"]
TM["TicketManager"]
MAIL["EmailManager"]
end
subgraph UtilsPkg["utils/"]
Seed["seed_services()"]
end
Client <-->|stdio| Server
Server --> EM
Server --> LM
Server --> MM
Server --> TM
Server --> MAIL
Server -->|once, at startup| Seed
EM -->|holds a reference to| LM
Seed --> EM
Seed --> LM
Seed --> MM
Seed --> TM
MAIL -->|SMTP| Gmail[(Gmail)]hrms/schemas.py isn't drawn separately above — it's the Pydantic model layer that every manager and every tool signature depends on.
All data lives in memory for the lifetime of the process — there's no database. Every restart re-seeds a fresh, randomized dataset (see Data & Persistence below).
📁 Project Structure
hrms-claude-tool/
├── hrms/
│ ├── email_manager.py # Gmail SMTP sender
│ ├── employee_manager.py # employee CRUD, org chart, name search
│ ├── leave_manager.py # leave balances & history
│ ├── meeting_manager.py # meeting scheduling & cancellation
│ ├── schemas.py # Pydantic models (Employee, Leave, Meeting, Ticket, Email)
│ └── ticket_manager.py # ticket lifecycle
├── mcp-server/
│ └── server.py # MCP server entrypoint: tools + prompts
├── utils/
│ └── utils.py # seed_services() — dummy data generator
├── .env # Gmail credentials (not committed)
├── .gitignore
├── .python-version
├── pyproject.toml
├── README.md
└── uv.lock⚙️ Prerequisites
Python 3.14+
uvfor dependency management (recommended)A Gmail account with an App Password, if you want the email tool to work (2-Step Verification must be enabled first)
🚀 Installation
# Clone the repo
git clone <your-repo-url>
cd hrms-claude-tool
# Install dependencies
uv syncpython -m venv .venv
source .venv/bin/activate # Windows: .venv\Scripts\activate
pip install "mcp[cli]>=2.0.0" "pydantic>=2.13.4" "requests>=2.34.2" python-dotenvNote:
email_manager.pyimportspython-dotenvto load.env, but it isn't currently listed inpyproject.toml's dependencies — add it there too if you're usinguv sync.
🔐 Environment Variables
Email sending needs Gmail SMTP credentials. Populate the .env file in the project root with:
GMAIL_SENDER_EMAIL=your-address@gmail.com
GMAIL_APP_PASSWORD=your-16-character-app-passwordGenerate an App Password at myaccount.google.com/apppasswords (Security → 2-Step Verification → App passwords). A regular Gmail password will not work.
▶️ Running the Server
uv run mcp-server/server.pyThis starts the MCP server over stdio and seeds it with demo employees, leave records, meetings, and tickets.
Connecting from Claude Desktop / Claude Code
Add an entry to your MCP client config (e.g. claude_desktop_config.json):
{
"mcpServers": {
"hrms-tool": {
"command": "uv",
"args": ["--directory", "/absolute/path/to/hrms-claude-tool", "run", "mcp-server/server.py"]
}
}
}Restart the client, and the tools and prompts below become available in conversation.
🛠️ Available Tools
Employee & Org Chart
Tool | Description |
| Add a new employee (auto-generates |
| Update an existing employee's fields, looked up by name |
| Full profile lookup by name |
| Full profile lookup by |
| Fuzzy name search — returns all close matches |
| List every employee in the system |
| Find an employee's manager |
| List a manager's direct reports |
Leave
Tool | Description |
| Check remaining leave days |
| Apply for one or more leave dates as a single request |
| Full leave history for an employee |
Meetings
Tool | Description |
| Book a meeting (rejects exact-time conflicts) |
| List an employee's meetings, chronologically |
| Cancel a meeting by date/time (and topic, if needed) |
Tickets
Tool | Description |
| Open an equipment/resource request |
| Look up a single ticket by ID |
| List tickets, filterable by employee and/or status |
| Move a ticket to |
Tool | Description |
| Send plain-text or HTML email via Gmail, with optional attachments |
🧭 Available Prompts
Prompts chain multiple tools into a complete workflow — hand one a name and let the agent drive.
Prompt | What it does |
| Looks up the manager, creates the employee, emails login credentials to the new hire and a heads-up to the manager, raises laptop + ID card tickets, and schedules an intro meeting |
| Looks up the employee, closes their open/in-progress tickets, cancels upcoming meetings, and emails both the manager and the departing employee |
| Resolves a manager's direct reports and reports their leave balances as a sorted table, flagging anyone running low |
💾 Data & Persistence
All data is held in memory — nothing survives a server restart.
On every startup,
seed_services()generates a coherent demo dataset: an 8-person org chart across two teams, randomized leave balances/history, 2–6 upcoming meetings per employee, and 8–15 tickets in mixed states.Employee IDs follow
E001,E002, …; ticket IDs followT0001,T0002, …New employees default to a 20-day leave balance unless seeded otherwise.
If you need data to persist across restarts, you'll want to swap the in-memory dicts/lists in each manager class for a real datastore.
⚠️ Known Limitations
No authentication or authorization on tool calls — access control is left entirely to the MCP client.
No persistence layer (see above).
Email sending is Gmail-only, via SMTP + App Password.
Meeting conflict detection only checks for an exact timestamp match, not overlapping ranges.
📄 License
This project is licensed under the MIT License.
This server cannot be installed
Maintenance
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
- Flicense-qualityDmaintenanceAn MCP-powered HR management system that automates employee onboarding, leave tracking, meeting scheduling, and IT ticketing. It allows users to manage organizational workflows and administrative tasks through natural language interactions with Claude.2
- Alicense-qualityDmaintenanceMCP-based HR automation tool that streamlines employee onboarding, leave management, and equipment requests via natural language conversations.1MIT
- FlicenseBqualityCmaintenanceAgentic AI system that automates HR workflows like employee onboarding, enabling HR teams to streamline tasks through natural language interactions with Claude Desktop.12
- FlicenseDqualityCmaintenanceAn AI-powered HR assistant that automates employee management, leave handling, ticket creation, meeting scheduling, and email notifications through natural language conversations using the Model Context Protocol.11
Related MCP Connectors
Manage projects, tasks, time tracking, and team collaboration through natural language.
Automate tasks, processes, and approvals with AI.
An AI-first personal CRM you run in natural language: contacts, reminders, notes, and more.
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
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/MindMatrixPro/hrms-mcp-agent'
If you have feedback or need assistance with the MCP directory API, please join our Discord server