Skip to main content
Glama
README.md
# HR Assist

HR Assist is an AI-powered HR automation agent that uses Claude Desktop and MCP tools to handle tasks like onboarding, leave management, meeting scheduling, and ticket creation.

## Architecture

![HR Assist Architecture](images/architecture.png)

HR Assist is an agentic AI-powered HR automation system built using **Claude Desktop, MCP (Model Context Protocol), and Python**.

Claude Desktop acts as the **AI agent and MCP client**, understanding user requests and deciding which HR actions need to be performed. The MCP server exposes HR operations as tools and connects Claude with the HRMS components.

The system includes the following managers:

- **Employee Manager**
- **Leave Manager**
- **Meeting Manager**
- **Ticket Manager**

## How It Works

The user provides an HR request through Claude Desktop. Claude understands the request, selects the required MCP tools, and executes the appropriate actions through the MCP server.

For example, when onboarding a new employee, the system can add the employee, send a welcome email, notify the manager, raise a laptop ticket, schedule an introduction meeting, and handle leave-related actions.

### Tool Selection

![Tool Selection](images/tool_selection.png)

### Employee Onboarding Inputs

![Prompt Inputs](images/prompt_inputs.png)

### Meeting Scheduling

![Meeting Time Selection](images/meeting_time_selection.png)

### Onboarding Result

![Onboarding Summary](images/onboarding_summary.png)

## MCP Tools

The project provides tools for:

- šŸ‘¤ Adding and retrieving employees
- šŸ—“ļø Managing leave
- šŸ“§ Sending emails
- šŸ“… Scheduling meetings
- šŸŽ« Creating HR/IT tickets
- šŸš€ Supporting employee onboarding workflows

## Project Structure

```text
hrms/
ā”œā”€ā”€ employee_manager.py
ā”œā”€ā”€ leave_manager.py
ā”œā”€ā”€ meeting_manager.py
ā”œā”€ā”€ ticket_manager.py
└── schemas.py

images/
ā”œā”€ā”€ architecture.png
ā”œā”€ā”€ tool_selection.png
ā”œā”€ā”€ prompt_inputs.png
ā”œā”€ā”€ meeting_time_selection.png
└── onboarding_summary.png

server.py
emails.py
utils.py
pyproject.toml
README.md
```

## Tech Stack

- šŸ Python
- šŸ¤– Claude Desktop
- šŸ”Œ Model Context Protocol (MCP)
- šŸ“¦ uv
- āœ‰ļø Gmail SMTP
- šŸ¢ HRMS Components

## Setup

Clone the repository and install the dependencies:

```bash
uv sync
```

Run the MCP server:

```bash
uv run python server.py
```

Configure the MCP server with Claude Desktop and start interacting with HR Assist.

## Example

```text
User:
Onboard a new employee named Likhitha and assign Tony Sharma as the manager.

HR Assist:
āœ“ Employee added
āœ“ Welcome email sent
āœ“ Manager notified
āœ“ Laptop ticket created
āœ“ Introduction meeting scheduled
āœ“ Leave status checked
```

## Conclusion

HR Assist demonstrates how agentic AI + MCP tools can automate real-world HR workflows by allowing an AI agent to understand requests, select tools, and execute multiple actions autonomously.

TDQS

C2/5.0

Scored across 7 tools

Disambiguation4/5

Tool names map to fairly distinct actions (employee CRUD-ish, email, ticketing, meetings, leave), so an agent can mostly tell them apart. However, with no descriptions provided, boundaries like add_employee vs get_employee_details and the generic send_email/create_ticket/schedule_meeting are only inferable from names, leaving mild ambiguity.

Naming Consistency5/5

All seven tools follow a clean snake_case verb_noun pattern (add_employee, get_employee_details, apply_leave, get_leave_history, etc.). No mixing of conventions or vague standalone verbs.

Tool Count5/5

Seven tools is well-scoped for an HR assistant spanning employee records, leave, and administrative actions. Each tool appears to earn its place without redundancy.

Completeness3/5

The surface covers create/read for employees and full leave apply/history, but lacks update_employee, delete/offboard, or a list_employees operation, creating dead ends in the employee lifecycle. Generic email/ticket/meeting tools are present but no supporting read/list operations for them.

Maintenance

ActivityMaintained
ResponsivenessNo issues