HRMS MCP
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
No arguments | |||
Capabilities
Features and capabilities supported by this server
| Capability | Details |
|---|---|
| tools | {
"listChanged": true
} |
| logging | {} |
| prompts | {
"listChanged": false
} |
| resources | {
"subscribe": false,
"listChanged": false
} |
| extensions | {
"io.modelcontextprotocol/ui": {}
} |
| experimental | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| login_via_browser_captureA | Opens a local web page where the user can paste their HRMS Cookie header via a browser form. IMPORTANT: Tell the user to open http://localhost:/ in Chrome BEFORE calling this tool — the tool blocks until the cookie is submitted (up to timeout_seconds). The port is dynamic; if it times out the error message includes the URL. Prefer login() for a simpler flow. Returns success once the cookie is captured and verified against HRMS. |
| loginA | Save your HRMS session cookie so all other tools work. Only needed once — the cookie persists across MCP restarts in ~/.config/hrms-mcp/cookies and is reloaded automatically. How to get: Chrome → dashboard.appinventiv.com → DevTools (F12) → Network tab → click any request → copy the full 'Cookie:' header value → paste here. Returns success/failure and whether the session is valid after saving. |
| check_login_statusA | Check whether the HRMS session is authenticated and ready to use. Returns logged_in status, where the cookie came from (file vs env), and the running version. Always call this first if other tools return 'Not logged in' errors. Also shows the update command if a newer version of hrms-mcp is available via uv tool upgrade. |
| get_projectsA | List all projects you can log DSR hours against, pulled from the DSR form dropdown. Returns each project's numeric ID and display name. Use the ID with submit_dsr(). Example return: [{"id": "1005", "name": "YourAI LLC"}, {"id": "890", "name": "Flynas"}]. Call this before submit_dsr() if you don't know the project_id. |
| submit_dsrA | Submit a Daily Status Report (DSR) for a specific project and date. Always call get_projects() first to get the correct project_id if you don't have it. One DSR per project per day — submitting again for the same project+date will update it. Returns success with the date, hours, and project_id on success, or an error with recovery guidance. |
| get_my_dsrsA | View your personal DSR filing status — which days are Submitted, Pending, or missing. Returns up to 200 rows with date, check-in time, and DSR_Status per day. Use this to check if you missed filing DSRs on specific days, or to review last week's submissions. Does NOT return the DSR description text — use get_employee_dsrs(employee_id) for that. |
| get_employee_dsrsA | Get the full DSR content (project, hours, description) for any employee by their ID. Use get_employee_details(name) first to find the numeric employee_id from the staff directory. For your own DSRs, use employee_id='4907'. Returns project name, hours logged, and description text per day. Useful for reviewing what you or a team member worked on before writing a status report. |
| get_leave_balanceA | Check your current leave balance showing remaining days for each leave type. Returns a dict like {"Planned Leave (CL)": "8 / 12", "Privileged Leave (PL)": "15 / 15"}. Call this before apply_leave() to confirm you have enough balance. Leave types: Planned Leave (CL), Privileged Leave (PL), Emergency Leave, Short Leaves, Work From Home (WFH). |
| get_my_leavesA | View all leave applications you have submitted with their approval status. Returns leave type, from/to dates, number of days, and status (Approved/Pending/Rejected). Use this to check if a leave was approved or to see your leave history. For current leave balances (days remaining), use get_leave_balance() instead. |
| apply_leaveA | Submit a leave application to HRMS for manager approval. Always call get_leave_balance() first to confirm sufficient balance exists for the requested type. Confirm dates and leave type with the user before submitting — leave applications cannot be cancelled from the MCP. Returns success with leave type and date range, or an error if the form submission fails. |
| get_holidaysA | View the company holiday calendar for the current year. Note: The HRMS holiday calendar is a static PNG image — no individual holiday list is available. Returns the direct URL to the calendar image (e.g. /uploads/calendar/2026.png) which the user can open. If you need to answer questions like 'is June 25 a holiday?', ask the user to open the image URL returned. |
| get_my_projectsA | View all projects you are allocated to, with status and total DSR hours logged since Jan 2024. Returns project name, allocation (hours/day), status (Active/Released), and cumulative logged hours. Use this for a high-level view of your project allocation. For detailed DSR entries, use get_employee_dsrs(). |
| get_project_dashboardA | View the PM project dashboard for active projects — shows billing type, team size, total hours budgeted vs consumed, milestone count, and delivery progress percentage. This is the Project Manager view showing your active project health at a glance. For your personal project allocation list, use get_my_projects() instead. |
| get_staff_directoryA | Search Appinventiv's staff directory of 1,237 employees by name. Returns matching employees with name, role, department, email, and employee_id. The employee_id is needed for get_employee_dsrs(). For full profile lookup, use get_employee_details() instead. Always search by name — browsing the full directory is not supported. |
| get_employee_detailsA | Look up an Appinventiv employee's profile by name — returns their role, department, email, and employee_id. If multiple employees match, all are returned. Use the employee_id with get_employee_dsrs() to see their DSR history. Prefer this over get_staff_directory() when you want a single employee's full details. Example: get_employee_details('Arjun Sharma') → {name, role, department, email, employee_id}. |
| get_my_appraisalA | View your own appraisal status for the current appraisal cycle. Returns the appraisal period (e.g. 'January – June 2026'), submission status (Submitted/Pending), and which sections are covered (Project Accomplishments, Competencies, 6-Month Plan, etc.). Use get_appraisal_ratings() if you are a PM and need to rate your team members. |
| get_appraisal_ratingsA | View the list of employees you need to rate as part of the current appraisal cycle (PM/Manager view). Returns each employee's name, department, experience, shared projects, request date, and rating status. Status values: 'PENDING' means you haven't rated them yet, 'N/A' means not applicable. Use this to check who still needs your rating before the appraisal deadline. |
| get_job_openingsA | View current open job positions at Appinventiv for referrals or internal hiring visibility. Returns job code (#APxxxx), title, number of openings, hired count, experience requirement, and location. Optionally filter by department keyword. Use get_my_referrals() to see candidates you've already referred. |
| get_my_referralsA | View all candidates you have referred to Appinventiv and their current recruitment pipeline status. Returns candidate name, position referred for, referral date, and status (e.g. Shortlisted, Rejected, Hired). Use get_job_openings() to find open positions you can refer people for. |
| get_interview_listA | View the list of interview candidates assigned to you as interviewer. Returns each candidate's name, email, mobile, interview round type, scheduled date/time, business unit, and final status (e.g. Selected, Rejected, Pending). Use this before interviews to prepare, or after to check which candidates are still pending a decision. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
| file_daily_dsr | Step-by-step workflow for filing a Daily Status Report. Use this when the user says 'help me file my DSR' or 'submit today's DSR'. |
| morning_check | Morning HRMS check — DSR status, leave balance, interviews, and pending appraisals. Use when the user says 'morning check', 'what do I need to do today', or 'HRMS summary'. |
| lookup_colleague | Look up a colleague's profile and recent work. Use when the user asks 'who is X' or 'find X'. |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
Latest Blog Posts
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/SookieAI/hrms-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server