Connect your AI Agents to UKG Pro WFM in minutes

Available tools
list_leave_cases
List leave cases (extended absences) for a date range. Returns leave type, dates, and status. Use cursor from page_info for the next page.
get_leave_case
Get a single leave case by ID. Returns leave type, dates, status, and notes. Use list_leave_cases to find valid leave case IDs.
create_leave_case
Create a new leave case for an employee. Use list_persons for employee IDs. Provide leave_type_id, start_date, and optionally end_date.
list_accrual_balances
List accrual/PTO balances for employees as of a given date. Returns current and projected balances per accrual code (VACATION, SICK, etc.). Use cursor from page_info for the next page.
list_persons
List persons (employees) in UKG Pro WFM for a date range. Returns person details including name, job, and location. Use cursor from page_info for next page.
get_person
Get a single person's details by person ID. Returns name, job, location, hire date, and employment status. Use list_persons to find valid IDs.
create_person
Create a new person (employee) in UKG Pro WFM. Use list_jobs and list_locations to find valid job and location IDs.
update_persons
Update one or more persons in UKG Pro WFM. Each update object must include 'id' and the fields to change. Use list_persons to find valid person IDs.
list_jobs
List jobs (work roles) defined in UKG Pro WFM. Returns job ID, name, and status. Use these IDs when creating or updating persons and schedules.
list_locations
List work locations defined in UKG Pro WFM. Returns location ID, name, and address. Use these IDs when creating persons and schedules.
list_hyperfinds
List saved hyperfind employee queries in UKG Pro WFM. Returns query ID and name. Use execute_hyperfind to run a query and get the matching employees.
execute_hyperfind
Execute a saved hyperfind query to get the matching employees. Returns a list of person references. Use list_hyperfinds to find valid hyperfind IDs.
list_schedules
List scheduled shifts for a date range. Returns shift start/end times, employee, job, and location. Use cursor from page_info for the next page.
create_schedule
Create a scheduled shift for an employee. Use list_persons, list_jobs, and list_locations to find valid IDs.
delete_schedules
Delete one or more scheduled shifts by shift ID. Use list_schedules to find valid shift IDs.
list_shift_swap_requests
List shift swap requests for a date range. Returns requestor, recipient, shift details, and approval status. Use cursor from page_info for the next page.
list_timecards
List timecards for a date range. Returns timecard summaries with hour totals and status. Use cursor from page_info for the next page.
get_timecard
Get the timecard for a specific employee and pay period. Returns daily entries, totals, and approval status. Use list_persons to find valid employee IDs.
update_timecard
Update a timecard for an employee in a pay period. Supply timecard_data with the fields to change per the API spec. Use get_timecard to review the current state first.
list_punches
List time punches (clock-in/out events) for a date range. Returns punch type, timestamp, and labor account. Use cursor from page_info for the next page.
import_punches
Import time punches into UKG Pro WFM. Each punch must include employeeId, punchDateTime (ISO 8601), and punchType (IN, OUT, TRANSFER).
validate_credential
Validate UKG Pro WFM credentials by verifying hostname, client credentials, and user account. Returns success or a specific error message.

How to set up Merge Agent Handler
In an mcp.json file, add the configuration below, and restart Cursor.
Learn more in the official documentation ↗
1{
2 "mcpServers": {
3 "agent-handler": {
4 "url": "https://ah-api-develop.merge.dev/api/v1/tool-packs/{TOOL_PACK_ID}/registered-users/{REGISTERED_USER_ID}/mcp",
5 "headers": {
6 "Authorization": "Bearer yMt*****"
7 }
8 }
9 }
10}
11Open your Claude Desktop configuration file and add the server configuration below. You'll also need to restart the application for the changes to take effect.
Make sure Claude is using the Node v20+.
Learn more in the official documentation ↗
1{
2 "mcpServers": {
3 "agent-handler": {
4 "command": "npx",
5 "args": [
6 "-y",
7 "mcp-remote@latest",
8 "https://ah-api-develop.merge.dev/api/v1/tool-packs/{TOOL_PACK_ID}/registered-users/{REGISTERED_USER_ID}/mcp",
9 "--header",
10 "Authorization: Bearer ${AUTH_TOKEN}"
11 ],
12 "env": {
13 "AUTH_TOKEN": "yMt*****"
14 }
15 }
16 }
17}Open your Windsurf MCP configuration file and add the server configuration below.
Click on the refresh button in the top right of the Manage MCP server page or in the top right of the chat box in the box icon.
Learn more in the official documentation ↗
1{
2 "mcpServers": {
3 "agent-handler": {
4 "command": "npx",
5 "args": [
6 "-y",
7 "mcp-remote@latest",
8 "https://ah-api.merge.dev/api/v1/tool-packs/<tool-pack-id>/registered-users/<registered-user-id>/mcp",
9 "--header",
10 "Authorization: Bearer ${AUTH_TOKEN}"
11 ],
12 "env": {
13 "AUTH_TOKEN": "<ah-production-access-key>"
14 }
15 }
16 }
17 }In Command Palette (Cmd+Shift+P on macOS, Ctrl+Shift+P on Windows), run "MCP: Open User Configuration".
You can then add the configuration below and press "start" right under servers. Enter the auth token when prompted.
Learn more in the official documentation ↗
1{
2 "inputs": [
3 {
4 "type": "promptString",
5 "id": "agent-handler-auth",
6 "description": "Agent Handler AUTH_TOKEN", // "yMt*****" when prompt
7 "password": true
8 }
9 ],
10 "servers": {
11 "agent-handler": {
12 "type": "stdio",
13 "command": "npx",
14 "args": [
15 "-y",
16 "mcp-remote@latest",
17 "https://ah-api-develop.merge.dev/api/v1/tool-packs/{TOOL_PACK_ID}/registered-users/{REGISTERED_USER_ID}/mcp",
18 "--header",
19 "Authorization: Bearer ${input:agent-handler-auth}"
20 ]
21 }
22 }
23}FAQs on using Merge's UKG Pro WFM MCP server
FAQs on using Merge's UKG Pro WFM MCP server
Ready to try it out?
Whether you're an engineer experimenting with agents or a product manager looking to add tools, you can get started for free now
























