io.usefulapi/exaktime · v1.0.1 · productivity
ExakTime / Arcoro MCP by usefulapi is healthy: it completed an MCP handshake in 431 ms and exposes 32 tools.
MCP server for Arcoro and ExakTime — workforce data, jobs, cost codes and locations.
Endpoint: https://exaktime.usefulapi.io/mcp (streamable-http)
Repository · Website · JSON · Add to my inventory
| Users (last 30 days) | 0 |
| Handshake | Healthy |
| Auth needed | None |
| Tool count | 32 |
| Latency | 431 ms |
| Last checked (UTC) | 2026-10-31T07:20:24.779Z |
| Checked (UTC) | Status | Latency | Error |
|---|---|---|---|
| 2026-10-31T07:20:24.779Z | Healthy | 431 |
exaktime_list_employees | List employees (Person records of type Employee) with name, job title, department, employee id, active/inactive status and which Arcoro modules they use. Use personId with exaktime_get_employee. GET /v1/Common/Persons/Employees. |
exaktime_list_persons | List or search Person records (employees and API users) by first name, last name, employee identifier or work email. Returns personId, names, work email, employee id, username and whether the person is a contractor or deleted. GET /v1/Common/Persons. |
exaktime_get_person | One Person record: names, contact details, address, login username and security groups. Government identifiers are not available through this server. GET /v1/Common/Persons/{personId}. |
exaktime_get_employee | Employment details for a person: hire/termination date, status, employment and pay type, pay rates, job code, manager, location, department, pay schedule and union. GET /v1/Common/Persons/{personId}/Employees. |
exaktime_list_locations | List locations (job sites and offices) with address, coordinates, active flag and whether they are used for time and attendance. GET /v1/Common/Locations. |
exaktime_get_location | One location by id. GET /v1/Common/Locations/{id}. |
exaktime_list_jobs | List jobs (projects) with identifier, name, active flag, dates, department, parent job and assigned locations. GET /v1/Time/Jobs. |
exaktime_get_job | One job by id. GET /v1/Time/Jobs/{id}. |
exaktime_list_cost_codes | List cost codes (phases and work activities that time is booked against) with identifier, name, active flag and cost type. GET /v1/Time/CostCodes. |
exaktime_get_cost_code | One cost code by id. GET /v1/Time/CostCodes/{id}. |
exaktime_list_cost_types | List cost types (groupings of cost codes, e.g. labor, equipment) with identifier, name and active flag. GET /v1/Time/CostTypes. |
exaktime_list_departments | List departments with identifier, name and active flag. GET /v1/Common/Departments. |
exaktime_list_job_codes | List job codes (positions / trades) with name, description and active flag. GET /v1/Common/JobCodes. |
exaktime_list_pay_schedules | List pay schedules with frequency, first pay date, pay periods per year and the default flag. GET /v1/Payroll/PaySchedules. |
exaktime_list_labor_classes | List labor classes with identifier, name and active flag. GET /v1/Payroll/LaborClasses. |
exaktime_list_rate_codes | List payroll rate codes with identifier, name, description and whether it is the base rate. GET /v1/Payroll/RateCodes. |
exaktime_list_time_records | List time records (timecard entries: who worked, when, on which cost code and location, regular/overtime hours). Filter by work date range, person, location or cost code identifier; newest first. Source: the read-only OData data warehouse, refreshed nightly, so today's entries may not show until tom |
exaktime_list_time_punches | List raw clock punches (punch time, device type, location, network time difference). Filter by date range (UTC days), person or location; newest first. Source: the read-only OData data warehouse, refreshed nightly, so today's entries may not show until tomorrow. Page with skip/next_skip. GET /odata/ |
exaktime_list_shifts | List scheduled shifts (employee, start/end, title, cost code, location, notes). Filter by start date range (UTC days), person or location; newest first. Source: the read-only OData data warehouse, refreshed nightly, so today's entries may not show until tomorrow. Page with skip/next_skip. GET /odata |
exaktime_list_pay_periods | List pay periods (id, start and end date, closed or open, type), newest first. Use the id to find approvals. Source: the read-only OData data warehouse, refreshed nightly, so today's entries may not show until tomorrow. Page with skip/next_skip. GET /odata/DwPayPeriods. |
exaktime_list_time_off_requests | List time off requests (employee, plan, start/end date, hours, status, comments, manager). Filter by status, person or start-date range. Source: the read-only OData data warehouse, refreshed nightly, so today's entries may not show until tomorrow. Page with skip/next_skip. GET /odata/DwTimeOffReques |
exaktime_list_time_off_balances | List time off balances per employee and plan (balance hours, maximum balance, manager). Source: the read-only OData data warehouse, refreshed nightly, so today's entries may not show until tomorrow. Page with skip/next_skip. GET /odata/DwTimeOffBalances. |
exaktime_list_timecard_approvals | List daily timecard approvals (work date, approval type, who approved and when, the employee). Filter by work date range or employee. Source: the read-only OData data warehouse, refreshed nightly, so today's entries may not show until tomorrow. Page with skip/next_skip. GET /odata/DwWorkDateTimeAppr |
exaktime_list_pay_period_approvals | List pay period (timesheet) approvals and sign-offs: pay period, approval type, approver, time, employee, comment. Use it to see who has not yet signed off. Source: the read-only OData data warehouse, refreshed nightly, so today's entries may not show until tomorrow. Page with skip/next_skip. GET /o |
exaktime_list_meal_break_violations | List meal break compliance violations (type, date, expected vs actual value) linked to a time record id. Source: the read-only OData data warehouse, refreshed nightly, so today's entries may not show until tomorrow. Page with skip/next_skip. GET /odata/DwMealBreakViolations. |
exaktime_query_odata | Read-only OData query over any Arcoro data warehouse entity set, for questions the other tools do not cover (equipment, expenses, users, time records by hour group, learning, performance, recruiting, benefits...). Entity sets start with Dw, e.g. DwUsers, DwEquipments, DwExpenses, DwCostCodes, DwLoca |
exaktime_create_job | WRITE: create a job (project) that employees can book time to. Identifier must be unique. The job appears in Arcoro right away; it can be deactivated again with exaktime_update_job (there is no delete). POST /v1/Time/Jobs. |
exaktime_update_job | WRITE: change fields of an existing job (rename it, set dates, assign locations, or set is_active=false to close it). Only the fields you pass change (null clears a nullable field); the tool reads the job first and sends the full object, because Arcoro replaces the job on PUT. Two edits to the same |
exaktime_create_cost_code | WRITE: create a cost code (phase or work activity) that time can be booked against. The name must be unique. It can be deactivated again with exaktime_update_cost_code (there is no delete). POST /v1/Time/CostCodes. |
exaktime_update_cost_code | WRITE: change fields of an existing cost code (rename it, change its cost type, or set is_active=false to retire it). Only the fields you pass change; the tool reads the cost code first and sends the full object. PUT /v1/Time/CostCodes/{id}. |
exaktime_create_location | WRITE: create a location (job site or office). Add the address and/or latitude and longitude so geofencing and maps work. It can be deactivated again with exaktime_update_location (there is no delete). POST /v1/Common/Locations. |
exaktime_update_location | WRITE: change fields of an existing location (rename, move, new address, or set is_active=false to retire it). Only the fields you pass change; the tool reads the location first and sends the full object. PUT /v1/Common/Locations/{id}. |