HR Assist MCP Server
Agentic HR assistant providing employee, leave, meeting, ticket, and email tools over the Model Context Protocol, designed to automate onboarding workflows via an MCP client such as Claude Desktop.
README
HR Assist (MCP Server)
Agentic HR assistant that exposes employee, leave, meeting, ticket, and email tools over the Model Context Protocol (MCP). Designed to automate onboarding workflows via an MCP client such as Claude Desktop.
Sample employees & managers
Use these when creating a new employee (manager_id can be ID or name):
| ID | Name | Role | Department |
|---|---|---|---|
| E001 | Sarah Johnson | VP Engineering | Engineering |
| E002 | Michael Chen | VP Product | Product |
| E003 | David Wilson | Engineering Manager | Engineering |
| E006 | Emily Kim | Product Manager | Product |
| E009 | Priya Nair | HR Manager | HR |
Other sample staff: Tony Sharma (E004), James Rodriguez (E005), Carlos Mendez (E007), Lisa Wong (E008), Aisha Khan (E010), Rohan Mehta (E011), Neha Kapoor (E012).
Examples:
add_employee("Riya Shah", manager_id="E001", email="riya.shah@atliq.com")
add_employee("Riya Shah", manager_id="Sarah Johnson")
add_employee("Riya Shah") # defaults manager to E001
Call list_managers or list_employees tools to see the full directory.
Features
- Add / look up employees
- Leave balance, apply leave, leave history
- Schedule / list / cancel meetings
- Create and manage IT/HR tickets
- Optional Gmail sending for welcome / manager notifications
- Built-in onboarding prompt:
onboard_new_employee
Setup
-
Install uv (recommended) or use pip.
-
From this directory:
uv syncOr with pip:
python -m venv .venv .venv\Scripts\activate pip install -e . -
Copy env values:
copy sample.env .envOptional (for real email):
CB_EMAIL=your@gmail.com CB_EMAIL_PWD=your_gmail_app_passwordLeave blank to run without email (send_email will skip and report what it would send).
Run Streamlit web app (recommended UI)
uv sync
uv run streamlit run streamlit_app.py
Opens at http://localhost:8501 with tabs for Directory, Onboard, Leave, Tickets, Meetings, Email, and Lookup.
Email setup (Send email tab)
Local .env:
CB_EMAIL=yourgmail@gmail.com
CB_EMAIL_PWD=your_16_char_app_password
Streamlit Cloud → Settings → Secrets:
CB_EMAIL = "yourgmail@gmail.com"
CB_EMAIL_PWD = "your_16_char_app_password"
Use a Gmail App Password (not your normal password).
Deploy to Streamlit Community Cloud
- Push this folder to a GitHub repo (include
streamlit_app.pyandrequirements.txt). - Go to share.streamlit.io → New app.
- Select the repo, set Main file path to
streamlit_app.py. - Deploy. You’ll get a public URL like
https://your-app.streamlit.app.
Run locally (CLI demo, no UI)
uv run python run_local.py
This seeds dummy HR data and runs an onboarding-style flow through the same managers used by the MCP tools.
Run MCP server
uv run python server.py
stdio transport waits for an MCP client. To inspect tools interactively:
npx @modelcontextprotocol/inspector uv run python server.py
Claude Desktop config example
Edit Claude Desktop claude_desktop_config.json and point command / --directory at this project folder:
{
"mcpServers": {
"hr-assist": {
"command": "uv",
"args": [
"--directory",
"C:\\Users\\omkar\\Documents\\Project\\AI\\HR Assist (MCP Server)",
"run",
"python",
"server.py"
],
"env": {
"CB_EMAIL": "YOUR_EMAIL",
"CB_EMAIL_PWD": "YOUR_APP_PASSWORD"
}
}
}
}
Usage
In Claude Desktop, use the onboard_new_employee prompt or ask naturally, for example:
- Onboard a new employee named Riya reporting to Sarah Johnson
- What is Tony Sharma's leave balance?
- Create a laptop ticket for E009
Project layout
server.py MCP tools + onboarding prompt
run_local.py Local demo without MCP client
emails.py SMTP helper
utils.py Dummy data seeder
hrms/ Employee, leave, meeting, ticket managers + schemas
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.