HR Assist MCP Server

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.

Category
Visit Server

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

  1. Install uv (recommended) or use pip.

  2. From this directory:

    uv sync
    

    Or with pip:

    python -m venv .venv
    .venv\Scripts\activate
    pip install -e .
    
  3. Copy env values:

    copy sample.env .env
    

    Optional (for real email):

    CB_EMAIL=your@gmail.com
    CB_EMAIL_PWD=your_gmail_app_password
    

    Leave 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

  1. Push this folder to a GitHub repo (include streamlit_app.py and requirements.txt).
  2. Go to share.streamlit.io → New app.
  3. Select the repo, set Main file path to streamlit_app.py.
  4. 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

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.

Official
Featured
TypeScript
Magic Component Platform (MCP)

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.

Official
Featured
Local
TypeScript
Audiense Insights MCP Server

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.

Official
Featured
Local
TypeScript
VeyraX MCP

VeyraX MCP

Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.

Official
Featured
Local
graphlit-mcp-server

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.

Official
Featured
TypeScript
Kagi MCP Server

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.

Official
Featured
Python
E2B

E2B

Using MCP to run code via e2b.

Official
Featured
Neon Database

Neon Database

MCP server for interacting with Neon Management API and databases

Official
Featured
Exa Search

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.

Official
Featured
Qdrant Server

Qdrant Server

This repository is an example of how to create a MCP server for Qdrant, a vector search engine.

Official
Featured