Spec Driven Development
MCP Server that facilitates spec-driven development workflows, not just Vibe Coding.
Description from the maker (original English)
Read Employment Hero Payroll pay runs, payslips, timesheets and leave; approve or decline leave.
These three are never merged into one score: opinions, measurements and popularity are different things.
We have not written a plain-language summary for this one yet. Below are the facts we read from the registry.
Pick the AI app you use, then copy the settings.
You need
Which app do you use?
Pick your app above. We remember it, so next time the button says “Install in …”.
Works in Claude on the web, desktop and mobile:
https://keypay.usefulapi.io/mcpRun this in your terminal
claude mcp add --transport http keypay https://keypay.usefulapi.io/mcpPaste into .cursor/mcp.json in your project, or ~/.cursor/mcp.json
{
"mcpServers": {
"keypay": {
"url": "https://keypay.usefulapi.io/mcp"
}
}
}Your browser asks to open the app, then the app shows the settings and asks you to confirm. Key values are left empty for you to fill in.
Paste into .vscode/mcp.json in your project
{
"servers": {
"keypay": {
"type": "http",
"url": "https://keypay.usefulapi.io/mcp"
}
}
}Your browser asks to open the app, then the app shows the settings and asks you to confirm. Key values are left empty for you to fill in.
ChatGPT connects only to servers on the internet:
https://keypay.usefulapi.io/mcpMenu names can differ slightly by plan and over time.
Your choice stays on this device in a cookie; no account needed.
These settings are generated from the maker’s registry entry. If the README says otherwise, follow the README.
Tool names and descriptions exactly as the server reported them on Nov 6, 2026. The maker wrote them, not us; we show them as plain text.
keypay_get_userThe Employment Hero Payroll user this API key belongs to: id, email, display name and time zone. GET /user.
keypay_list_businessesList the payroll businesses this user can access: id, name, region, legal name, contact details, pay cycle, number of employees. Start here: most other tools need a business id. GET /business (OData).
keypay_get_businessOne business by id: name, legal name, contact, address, ABN/company details, leave year, standard hours, pay cycle. GET /business/{businessId}.
keypay_list_employeesList the business's employees with basic details: id, name, preferred name, gender, date of birth, contact details, address, start and end date, external id. Tax file, bank and super details are not part of this list. Filter with OData, e.g. "Surname eq 'Smith'". GET /business/{b
keypay_get_employeeOne employee's full record: name, contact, employment type, status, start/end date, pay schedule, primary location and pay category, rate and rate unit, hours per week, award, leave template, work types, tags. Tax file / national insurance / IRD / NRIC numbers, bank accounts and
keypay_get_leave_balancesAn employee's leave balances per leave category (accrued amount and unit), optionally as at a date. GET /business/{businessId}/employee/{employeeId}/leavebalances.
keypay_list_pay_runsList the business's pay runs: id, pay schedule, pay period start/end, date paid, finalised flag, payslips published, notation. Newest first with orderby "PayPeriodEnding desc". GET /business/{businessId}/payrun (OData).
keypay_get_pay_runOne pay run by id: pay schedule, period, date paid, whether it is finalised, notation. GET /business/{businessId}/payrun/{payRunId}.
keypay_list_pay_run_summariesPay runs with their totals: total hours, gross wages and net wages, plus the usual pay run fields. GET /business/{businessId}/payrun/summary (OData).
keypay_get_pay_run_summaryOne pay run with its total hours, gross wages and net wages. GET /business/{businessId}/payrun/{payRunId}/summary.
keypay_get_pay_run_totalsPer-employee totals of a pay run (gross, net, tax withheld, super and the like; the fields depend on the region). Bank payment details are removed. GET /business/{businessId}/payrun/{payRunId}/totals.
keypay_get_pay_run_payslipsPay slip data for every employee in a pay run, keyed by employee: earnings lines, deductions, tax, super, leave taken and accrued, gross/net and year-to-date totals. Large for big pay runs. Bank account numbers and tax/identity numbers are removed. GET /business/{businessId}/payr
keypay_list_pay_run_warningsWarnings on a pay run (for example an employee paid below their award rate or with a negative net pay): type, employee and message. GET /business/{businessId}/payrun/{payRunId}/warnings.
keypay_list_timesheetsList the business's timesheet lines: employee, start/end time, units, work type, location, status, comments, breaks. Filter by employee or date with OData, e.g. "EmployeeId eq 123 and StartTime gt datetime'2026-04-01T00:00:00'". GET /business/{businessId}/timesheet (OData: $filte
keypay_get_timesheetOne timesheet line by id. GET /business/{businessId}/timesheet/{timesheetLineId}.
keypay_list_leave_requestsList the business's leave requests: employee, leave category, from/to date, total hours, status (Approved, Pending, Rejected, Cancelled), notes. Filter by status, dates, category, location or employee. GET /business/{businessId}/leaverequest.
keypay_get_leave_requestOne leave request: employee, category, dates, hours, status, notes. GET /business/{businessId}/employee/{employeeId}/leaverequest/{leaveRequestId}.
keypay_list_leave_categoriesLeave categories of the business (annual, personal/sick, long service...): id, name, unit type, accrual rule. GET /business/{businessId}/leavecategory (OData).
keypay_list_pay_schedulesPay schedules of the business: id, name, frequency, last date paid, last pay run. Bank and tax account details are removed. GET /business/{businessId}/payschedule (OData).
keypay_list_locationsLocations of the business (sites, departments): id, name, parent, fully qualified name, state. GET /business/{businessId}/location (OData).
keypay_list_pay_categoriesPay categories (earnings types) of the business: id, name, rate unit, loadings, super rate, whether leave accrues. GET /business/{businessId}/paycategory (OData).
keypay_list_work_typesWork types of the business: id, name, pay category, leave category, short code. GET /business/{businessId}/worktype (OData).
keypay_report_gross_to_netGross-to-net report per employee: earnings by pay category, tax, deductions, super, net pay. Choose a date range (from_date + to_date) or one finalised pay run (pay_run_id). The report has no paging: at most 200 rows are returned (narrow with employee_id or location_id). GET /bus
keypay_report_leave_balancesLeave balances of all employees as at a date, per leave category. The report has no paging: at most 200 rows are returned (narrow with location_id or leave_category_id). For one employee use keypay_get_leave_balances. GET /business/{businessId}/report/leavebalances.
keypay_approve_leave_requestWRITE: approves a pending leave request (the employee is notified and the leave is applied to their pay). Check the request first with keypay_get_leave_request. Cannot be undone through this server. POST /business/{businessId}/employee/{employeeId}/leaverequest/{leaveRequestId}/a
keypay_decline_leave_requestWRITE: declines a leave request, with an optional reason the employee sees. Check the request first with keypay_get_leave_request. POST /business/{businessId}/employee/{employeeId}/leaverequest/{leaveRequestId}/decline.
We check information anyone can see; we have not read the code. Checks that do not apply are left out of the count. · Checked Nov 6, 2026
The registry name was verified against the domain usefulapi.io (the registry checks domain ownership)
We have not read this repo from GitHub yet
We have not read this repo from GitHub yet
Responded in 58 ms (HTTP 200)
No sign-in needed
Read 26 tool descriptions and found no hidden instructions to the AI
Compared with every active server in this category in the registry. Stars count only when the publisher owns the repo.
It passed 3 of 3 applicable basic checks. We have not read the code. Before adding a key or token, see what access the server asks for and use a key with only the permissions you need.
The registry does not list a required key, though some servers ask you to sign in on first use.
It runs in the maker’s cloud. Connect over the internet with nothing to install, but what you send passes through the maker’s servers.
The GitHub repo last changed –, and the latest version (1.19.3) reached the registry yesterday.
Apps that support MCP, such as Claude Desktop, Claude Code, Cursor and VS Code. It connects by URL, so apps that accept remote MCP servers work too, such as ChatGPT in developer mode.
In the same category: Spec Driven Development, Remote Desktop Commander, AI Deprecations
Servers in the same category from other makers, sorted by stars.
Reading a card:★ GitHub starsiThree pillars: reviews · checks · usageiUpdated = latest version published to the registryi
MCP Server that facilitates spec-driven development workflows, not just Vibe Coding.
Remote Desktop Commander: use files, terminal and processes on your own computers from any AI app.
AI model shutdown dates, replacements, change feed and webhook alerts for 8 providers.
Copied from the maker’s repo as written. PopNx MCP has not reviewed or endorsed it. HTML, images and scripts are removed. Links lead off this site.
Use Employment Hero Payroll (formerly KeyPay) from Claude, Cursor, or any MCP client — read your businesses, employees, pay runs, payslips and pay run totals, timesheets, leave requests and balances, pay schedules, locations, pay categories and work types, run gross-to-net and leave-balance reports, and approve or decline leave requests. Known tax, identity and bank-account fields are removed from replies, and labelled identifiers in free text are masked on a best-effort basis; unlabelled identifiers may remain, and names, pay and other personal details are visible to your AI assistant. Hosted, no local install: connect with your Employment Hero Payroll API key and pick your region (AU, NZ, SG, MY or UK).
Live endpoint: https://keypay.usefulapi.io/mcp · Homepage: https://usefulapi.io/keypay
https://keypay.usefulapi.io/mcp.claude mcp add --transport http keypay https://keypay.usefulapi.io/mcp, then run /mcp to log in.{
"mcpServers": { "keypay": { "url": "https://keypay.usefulapi.io/mcp" } } }
Add only the URL. Do not add an Authorization header or an API key to the client config: the server signs you in with OAuth, and the login page asks for your Employment Hero Payroll credentials.
Step-by-step setup, where to find your credentials, and FAQ: https://usefulapi.io/keypay/
| Tool | Type | What it does |
|---|---|---|
keypay_get_user | read | Get current user |
keypay_list_businesses | read | List businesses |
keypay_get_business | read | Get business |
keypay_list_employees | read | List employees |
keypay_get_employee | read | Get employee |
keypay_get_leave_balances | read | Get employee leave balances |
keypay_list_pay_runs | read | List pay runs |
keypay_get_pay_run | read | Get pay run |
keypay_list_pay_run_summaries | read | List pay run summaries |
keypay_get_pay_run_summary | read | Get pay run summary |
keypay_get_pay_run_totals | read | Get pay run totals per employee |
keypay_get_pay_run_payslips | read | Get pay slip data of a pay run |
keypay_list_pay_run_warnings | read | List pay run warnings |
keypay_list_timesheets | read | List timesheets |
keypay_get_timesheet | read | Get timesheet line |
keypay_list_leave_requests | read | List leave requests |
keypay_get_leave_request | read | Get leave request |
keypay_list_leave_categories | read | List leave categories |
keypay_list_pay_schedules | read | List pay schedules |
keypay_list_locations | read | List locations |
keypay_list_pay_categories | read | List pay categories |
keypay_list_work_types | read | List work types |
keypay_report_gross_to_net | read | Gross to net report |
keypay_report_leave_balances | read | Leave balances report |
keypay_approve_leave_request | write | Approve leave request |
keypay_decline_leave_request | write | Decline leave request |
keypay_usage_status | meta | Usage status (free-tier meter) |
keypay_request_feature | meta | Request a missing feature |
keypay_upgrade | meta | Upgrade to Pro or Pro+ |
keypay_cancel_subscription | meta | Cancel the Pro subscription |
read tools are read-only; write tools mutate data (clients should confirm them); meta tools report usage, manage your subscription or send a feature request.
| Plan | Price | Limit |
|---|---|---|
| Free | $0 | 50 tool calls / month |
| Pro (per user) | $9/mo or $90/yr (2 months free) | Unlimited* |
\*Pro has a fair use limit of 10,000 tool calls a month on this server. For more, write to support@usefulapi.io.
Pro covers this server only. Subscribe with keypay_upgrade (it returns a Stripe Checkout link). Cancel any time with keypay_cancel_subscription: Pro continues to the end of the paid period, with no refund for the current period, and running keypay_upgrade before then undoes the cancel. Or write to support@usefulapi.io.
MIT © usefulapi. Not affiliated with or endorsed by Employment Hero.