HR-Assist

HR-Assist

Automates HR workflows such as employee onboarding, leave management, and ticket tracking through natural language prompts in Claude Desktop.

Category
Visit Server

README

šŸ¤– HR-Assist — Agentic AI HR Helpdesk

HR-Assist is an Agentic AI system that helps HR teams automate routine workflows using Claude Desktop as the MCP client and a custom Python MCP server as the backend.

This project demonstrates end-to-end automation of the employee onboarding process — tasks that typically require multiple manual steps are handled by the AI agent in a single prompt.


✨ What It Does

Task Automated?
Add employee to HRMS āœ…
Send welcome email with credentials āœ…
Notify the manager āœ…
Raise tickets for laptop, ID card & equipment āœ…
Schedule introductory meeting āœ…
Leave management āœ…
Ticket tracking & updates āœ…

šŸ—ļø Architecture

ā”Œā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”         MCP Protocol        ā”Œā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”
│                     │ ◄─────────────────────────► │                     │
│   Claude Desktop    │                              │   HR-Assist Server  │
│   (MCP Client)      │                              │   (Python + uv)     │
│                     │                              │                     │
ā””ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”˜                              ā””ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”˜
                                                              │
                                              ā”Œā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”¼ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”
                                              ā–¼               ā–¼               ā–¼
                                     employee_manager  leave_manager  ticket_manager
                                     meeting_manager   schemas        utils
  • MCP Client → Claude Desktop
  • MCP Server → This codebase (server.py + hrms/ modules)
  • Email → SMTP via Gmail App Password

šŸ“ Project Structure

HR_helpdesk/
│
ā”œā”€ā”€ hrms/
│   ā”œā”€ā”€ __init__.py
│   ā”œā”€ā”€ employee_manager.py    # Add & fetch employee logic
│   ā”œā”€ā”€ leave_manager.py       # Leave apply, balance, history
│   ā”œā”€ā”€ meeting_manager.py     # Schedule & fetch meetings
│   ā”œā”€ā”€ ticket_manager.py      # Create & update tickets
│   └── schemas.py             # Pydantic data models
│
ā”œā”€ā”€ server.py                  # MCP server entry point
ā”œā”€ā”€ utils.py                   # Shared utility functions
ā”œā”€ā”€ emails.py                  # Email sending logic (SMTP)
ā”œā”€ā”€ pyproject.toml             # Project config (uv)
ā”œā”€ā”€ sample.env                 # Environment variable template
└── README.md

āš™ļø Setup Instructions

Prerequisites


1. Clone the Repository

git clone https://github.com/saibalajijammu/HR_helpdesk.git
cd HR_helpdesk

2. Install Dependencies

uv init
uv add mcp[cli]

3. Set Up Environment Variables

cp sample.env .env

Edit .env and fill in:

CB_EMAIL=your_email@gmail.com
CB_EMAIL_PWD=your_gmail_app_password

4. Configure Claude Desktop

Open your claude_desktop_config.json file and add the following:

Location of config file:

  • Windows: %APPDATA%\Claude\claude_desktop_config.json
  • Mac: ~/Library/Application Support/Claude/claude_desktop_config.json
{
  "mcpServers": {
    "hr-assist": {
      "command": "C:\\Users\\<your-username>\\.local\\bin\\uv",
      "args": [
        "--directory",
        "<full-path-to-project>\\HR_helpdesk",
        "run",
        "server.py"
      ],
      "env": {
        "CB_EMAIL": "YOUR_EMAIL",
        "CB_EMAIL_PWD": "YOUR_APP_PASSWORD"
      }
    }
  }
}

Replace <your-username> and <full-path-to-project> with your actual values.

5. Restart Claude Desktop

After saving the config, fully restart Claude Desktop. You should see hr-assist appear as a connected MCP server.


šŸ’¬ Usage

Option 1 — Quick Onboarding via UI

  1. Click the + icon in Claude Desktop
  2. Select Add from hr-assist
  3. Fill in the employee details when prompted

Option 2 — Custom Prompt (Recommended)

Just type a natural language prompt like:

Onboard a new employee named Priya Mehta under manager Raj Kumar.

The agent will automatically:

  • āœ… Add her to the HRMS
  • āœ… Send a welcome email
  • āœ… Notify her manager
  • āœ… Raise tickets for laptop, ID card & equipment
  • āœ… Schedule an intro meeting

šŸ”‘ Environment Variables

Variable Description
CB_EMAIL Your Gmail address used for sending emails
CB_EMAIL_PWD Gmail App Password (not your regular password)

🧰 Tech Stack

Component Technology
AI Model Claude (Anthropic)
MCP Client Claude Desktop
MCP Server Python + mcp[cli]
Package Manager uv
Email SMTP (Gmail)
Data Validation Pydantic (schemas.py)

šŸ¤ Contributing

Pull requests are welcome! For major changes, please open an issue first to discuss what you'd like to change.


šŸ“„ License

This project is licensed under the MIT License.


<p align="center">Built with 🧠 by <a href="https://github.com/saibalajijammu">Saibalaji Jammu</a></p>

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