Model Context Protocol (MCP) & AI Integration Guide

How to Connect Claude, Gemini & ChatGPT to Unnish HRMS

Empower your executive leadership with frontier AI reasoning directly connected to live attendance records, statutory NBR tax calculators, shift rosters, and autonomous BDIX phone calling.

Standard

MCP 2026

Enterprise Tools

12 Actions

Setup Speed

< 60 Seconds

Data Safety

Tenant-Isolated

HomeGuidesConnect AI (Claude, Gemini, ChatGPT)
Step-by-Step Setup

Select Your AI Platform

Choose the AI client you want to connect to Unnish HRMS. Follow the 60-second setup below.

Anthropic Claude Desktop MCP Integration: Connects Claude Desktop on macOS or Windows directly to Unnish HRMS via JSON-RPC 2.0 with zero local coding required.
1

Locate Config File

Open Claude Desktop config JSON at:

macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
Windows: %APPDATA%\Claude\claude_desktop_config.json
2

Paste MCP Server Block

Add the unnish-hrms server configuration block with your scoped Bearer token.

Generate your token in Dashboard → Settings → AI & MCP Connectors.
3

Restart & Query

Completely restart Claude Desktop. The hammer 🔨 icon will reveal all 12 Unnish HRMS enterprise tools.

✅ 12 Tools & 6 Live Resource Streams Ready
claude_desktop_config.json
{
  "mcpServers": {
    "unnish-hrms": {
      "url": "https://hrms.unnish.com/api/mcp",
      "headers": {
        "Authorization": "Bearer unnish_mcp_YOUR_TOKEN_HERE"
      }
    }
  }
}
Tool Registry

12 Enterprise Tools Available to AI

Explore the actions Claude, Gemini, and ChatGPT can execute when given scoped authorization.

get_attendance_summary
Category: Attendance
mcp:attendance:read

Returns daily organization-wide KPIs: active employees, count present, late, absent, on leave, and calculated attendance rate %.

Inputs: date?: string (YYYY-MM-DD), branchId?: string
Returns: { "present": 142, "late": 6, "absent": 4, "attendanceRate": "97.2%" }
get_absentee_list
Category: Attendance
mcp:attendance:read

Lists all employees scheduled to work who have not punched in and do not have an approved leave on record.

Inputs: date?: string, branchId?: string
Returns: [ { "name": "Tanvir Hasan", "phone": "+8801700000000", "dept": "Sales" } ]
report_late_arrival
Category: Attendance
mcp:attendance:write

Logs an employee's estimated delay (in minutes) and reason directly into today's attendance remarks.

Inputs: employeeId: string, expectedMinutesLate: number, reason: string
Returns: { "status": "LOGGED", "updatedRemarks": "[AI ETA: +45m] Traffic jam" }
apply_employee_leave
Category: Leave
mcp:leave:write

Submits a formal leave application on behalf of an employee (CASUAL, SICK, ANNUAL) into the approval hierarchy.

Inputs: employeeId: string, leaveType: string, startDate: string, endDate: string, reason: string
Returns: { "leaveId": "lv_98231", "status": "PENDING_SUPERVISOR" }
calculate_nbr_tax
Category: Payroll & Tax
mcp:tax:compute

Computes progressive Bangladesh NBR salary income tax slabs (0%, 5%, 10%, 15%, 20%, 25%) with 1/3 allowance exemptions.

Inputs: annualGrossSalary: number, gender?: 'MALE' | 'FEMALE', age?: number
Returns: { "taxableIncome": 680000, "annualTax": 28000, "monthlyTds": 2333 }
get_employee_profile
Category: Workforce
mcp:employees:read

Queries employee master dossier: designations, supervisor chains, contact info, shift timing, and branch.

Inputs: employeeId: string
Returns: { "fullName": "Farhana Ahmed", "designation": "Sr. Engineer", "branch": "Dhaka HQ" }
trigger_voice_call
Category: Telephony
mcp:voice:trigger

Dispatches an autonomous outbound telephone call over BDIX SIP to contact an absent employee and collect reason.

Inputs: employeeId: string, targetPhone?: string, promptReason?: string
Returns: { "callId": "call_bdix_912", "status": "DIALING", "channel": "SIP/bdix-trunk" }
generate_payslip_summary
Category: Payroll
mcp:payroll:read

Fetches calculated gross earnings, deductions, bonuses, and downloadable PDF payslip link for any payroll period.

Inputs: employeeId: string, month: number, year: number
Returns: { "gross": 85000, "deductions": 4200, "netPay": 80800, "currency": "BDT" }
approve_reject_leave
Category: Leave
mcp:leave:approve

Supervisors or HR can approve or reject pending leave applications directly via AI conversational commands.

Inputs: leaveApplicationId: string, action: 'APPROVE' | 'REJECT', remarks?: string
Returns: { "status": "APPROVED", "reviewedAt": "2026-10-26T09:15:00Z" }
analyze_payroll_anomalies
Category: Audit
mcp:audit:run

Audits punches, OT claims, unpaid leave, and late penalties to identify potential payroll discrepancies before disbursement.

Inputs: month: number, year: number, branchId?: string
Returns: { "anomaliesFound": 3, "riskLevel": "LOW", "recommendedAdjustments": [...] }
broadcast_notice
Category: Broadcast
mcp:broadcast:publish

Publishes urgent notices to company bulletin board. Protected with Human-in-the-Loop HMAC confirmation challenge.

Inputs: title: string, content: string, priority: 'NORMAL' | 'URGENT', confirmationToken?: string
Returns: { "requiresConfirmation": true, "challengeToken": "eyJhbGciOi..." }
log_call_outcome
Category: Telephony
mcp:voice:trigger

Saves speech-to-text transcript and action summary from automated telephone conversation with employee.

Inputs: callId: string, employeeId: string, outcome: 'SPOKE_WITH_EMPLOYEE' | 'NO_ANSWER', summary: string
Returns: { "logged": true, "autoLeaveCreated": true, "leaveId": "lv_4891" }
Copy-Paste Inspiration

Executive Prompt Playbook

Tested natural-language prompts to run inside Claude, Gemini, or ChatGPT.

HR Executive / Branch ManagerClaude Desktop / Gemini

Morning Absentee & Late Arrival Sweep

"Good morning! Can you check Unnish HRMS attendance for today across all branches? Show me the overall attendance rate, list the employees who haven't checked in yet, and let me know if any of them called in late with an ETA."
Payroll Accountant / CFOChatGPT / Claude

NBR Salary Tax & TDS Pre-Check

"We are preparing salaries for October. Can you calculate the monthly TDS tax deduction for an employee whose annual gross salary is 1,200,000 BDT, applying standard Bangladesh NBR 1/3rd allowance tax exemptions?"
Operations SupervisorGemini / Claude / Cursor

Conversational Leave Application

"Employee Farhana Ahmed (ID: EMP-104) is sick today with viral fever. Please submit a 2-day SICK leave application starting today, and set the reason to 'High fever advised rest by physician'."
HR DirectorClaude / Unnish Agent

Autonomous Absence Phone Call Follow-up

"Tanvir Hasan in Dhaka Sales hasn't shown up and his shift started 1 hour ago. Trigger an autonomous phone call to his mobile number to check his status and record his reason in his attendance log."
Enterprise Data Protection

How Unnish HRMS Protects Your Enterprise Data From AI Overreach

Connecting frontier models to your HR platform requires strict safety boundaries. We engineered 4 multi-layer defense perimeters into the MCP engine:

Row-Level Tenant Isolation

Every database query automatically injects and enforces organizationId. An AI model can never see data from other companies.

Granular Scopes

Tokens are strictly bound to permissions (e.g. attendance read-only). The AI cannot execute payroll or approve leaves without explicit scopes.

Human-In-The-Loop (HITL)

Critical operations (like company-wide notices) trigger a dual-control cryptographic confirmation challenge before execution.

Immutable Audit Trail

Every tool call, client IP, timestamp, parameters, and latency are recorded immutably in your tenant audit log.

Ready to give your executive team frontier AI reasoning capabilities?
Common Questions

Frequently Asked Questions on AI & MCP Integration

Everything you need to know about security, scopes, and connecting frontier models.

What is Model Context Protocol (MCP) in HR software?+

Model Context Protocol (MCP) is an open JSON-RPC 2.0 standard created by Anthropic that allows frontier AI assistants (such as Claude Desktop, Cursor IDE, and Google Gemini) to securely discover and call tools provided by enterprise software. Instead of copying and pasting spreadsheets into chat, the AI directly queries real-time attendance, tax rules, and employee records under strictly isolated multi-tenant credentials.

Is our company data shared with other tenants or used to train public AI models?+

No. Unnish HRMS enforces physical Row-Level Tenant Isolation on every query. The database engine automatically scopes all queries to your organization ID. Furthermore, requests pass over encrypted TLS 1.3 tunnels with standard Bearer authentication, and your data is never used to train public foundational models.

Can the AI make accidental payouts or delete employee records?+

No. Unnish HRMS AI tools are explicitly partitioned with principle of least privilege. The MCP engine provides read-only inspection tools for payroll and attendance, and write actions (such as filing leaves) always transition into pending approval states. High-impact operations, like broadcasting urgent company-wide notices, require a Human-in-the-Loop (HITL) cryptographic HMAC confirmation token before execution.

How does the Autonomous AI Voice Telephony agent work?+

The voice agent connects to local BDIX low-latency SIP trunks. When an employee is absent without notice at shift cutoff, the engine can dial their mobile number, converse naturally in Bengali or English to inquire about their health or travel delay, and automatically file a pending sick or casual leave application directly into the HRMS with call transcripts attached.

Do I need SuperAdmin approval to generate AI Connector keys?+

Yes. By default, MCP capabilities are disabled across all client tenants. A system SuperAdmin must activate the Model Context Protocol feature add-on for your organization before you can generate AI Connector keys in your Dashboard settings.

Start Today

Transform Your HR Operations with Frontier AI

Connect Claude Desktop, Google Gemini, or ChatGPT to Unnish HRMS in under 60 seconds. Experience autonomous voice attendance sweeps and instant payroll insights.