Core HR
Everyday HR
More Apps
By Role
Getting Started
VergeHR is a complete HR system: people, leave, attendance, payroll, performance and more. The connector lets an AI app work as one person, seeing only what their role lets them see and, if they allow it, making a few safe changes. AI Apps, for Users
https://vergehr.com/mcp2025-11-25, 2025-06-18, 2025-03-26An unauthenticated call to /mcp returns 401 with a WWW-Authenticate header that points to the discovery documents below.
/.well-known/oauth-protected-resource/mcp (RFC 9728)/.well-known/oauth-authorization-server (RFC 8414)/oauth/authorize/oauth/token (authorization_code, refresh_token)/oauth/register (RFC 7591)/oauth/revoke (RFC 7009)Apps that don't register themselves can use credentials the person makes in Settings → Profile → AI Apps: a Client ID (with an optional secret; only its owner can approve it, and its return address is learned on first approval), or an access key for 30, 90 or 365 days, sent as Authorization: Bearer vha_… .
| Scope | Grants | On the Consent Page |
|---|---|---|
read | The person's own HR details and what their role reaches. | Always granted |
sensitive | Pay and salary figures, bank details, identity numbers, where the role already shows them. | Opt-in box, unticked |
write | The narrow changes listed below. | Opt-in box, unticked |
tools/list returns only what the connection's scopes and the person's permissions allow. No scope lets an app delete anything, change settings or permissions, create employees, run payroll, send arbitrary email or do anything in bulk.
35 tools. Every tool carries MCP annotations. Ids are whole numbers from earlier results. Dates are YYYY-MM-DD. Arguments outside a tool's schema are refused. Lists are paged, up to 100.
| Tool | Scope | What It Does | Inputs |
|---|---|---|---|
get_my_profile | read | Who is signed in: name, role, organization, job, manager, today's date, and how much is waiting on them. | — |
search_employees | read | Search the Employee Directory, within the person's role. | query, page, page_size |
get_employee | read | One colleague's Directory profile. | employee_id |
list_my_team | read | The person's manager, direct reports and peers. | — |
get_org_chart | read | The organization chart, within the person's role. | page, page_size |
list_my_leave_balances | read | The person's leave balances. | year |
list_my_leave_requests | read | The person's own leave requests. | status, page, page_size |
list_team_leave | read | Who is off on which days. | from_date, to_date, page, page_size |
list_holidays | read | The holidays that apply to the person. | from_date, to_date |
get_my_attendance | read | The person's own timesheet. | from_date, to_date |
get_my_schedule | read | The person's own published shifts. | days, page, page_size |
list_my_approvals | read | Leave and attendance requests waiting on the person, and how many others. | page, page_size |
list_my_goals | read | The person's own goals. | status, page, page_size |
list_my_reviews | read | The person's own performance reviews. | page, page_size |
list_my_feedback | read | Feedback the person received or gave. | which, page, page_size |
list_my_training | read | The courses assigned to the person. | — |
list_my_expense_claims | read | The person's own expense claims. | page, page_size |
list_my_tickets | read | The Help Desk tickets the person raised. | page, page_size |
list_ticket_categories | read | The categories a ticket can be raised under. | — |
list_policies | read | Published policies, and which the person still has to acknowledge. | page, page_size |
get_policy | read | One published policy's text. | policy_id |
list_announcements | read | The company announcements up now. | — |
list_job_openings | read | Job openings and candidate counts. Needs the recruitment permission. | show, query, page, page_size |
list_candidates | read | Candidates by name and pipeline stage, no resumes or fit scores. Needs the recruitment permission. | show, job_id, query, page, page_size |
list_reports | read | The reports the person may run. | — |
run_report | read | Run one report, within the person's role. Reports with pay, money or identity columns need the sensitive scope. | report_key, from_date, to_date, page, page_size |
list_my_payslips | sensitive | The person's own payslips. | page, page_size |
get_my_payslip | sensitive | One of the person's own payslips, line by line. | payslip_id |
get_employee_sensitive | sensitive | Identity numbers, masked bank details and salary, only where the role already shows them. | employee_id |
request_leave | write | Ask for leave. It goes through the approval chain. | leave_type_id, start_date, end_date, half_day, reason |
give_feedback | write | Give one colleague feedback. They are notified. | employee_id, kind, text |
add_goal_checkin | write | Check in on a goal. Overwrites its progress and health. | goal_id, progress, health, note |
acknowledge_policy | write | Record that the person read a policy. | policy_id |
submit_ticket | write | Raise a Help Desk ticket. HR is notified. | category_id, subject, text, priority |
decide_approval | write | Approve or reject a leave request or attendance correction waiting on the person, never their own. Nothing else can be decided. | kind, request_id, decision, note |