Option 1 — add the server directly
1
Issue an employee-bound API key
In the admin console: API & webhooks → Issue key. Bind it to the employee you want the agent to act as.The key is shown once. Copy it.
2
Add the server
3
Verify
ontime_whoami and reports your identity, organization and permissions.Option 2 — install the plugin
The plugin wires the same server and ships three skills that teach Claude how to operate OnTime properly.1
Add the marketplace
2
Install
3
Set the environment variables
ONTIME_MCP_URL defaults to http://localhost:3000/api/mcp for local development, so set it explicitly when pointing at a real instance.The three bundled skills
Skills load automatically when the conversation matches what they cover.ontime-operations — the always-relevant reference
ontime-operations — the always-relevant reference
Loads for essentially any OnTime work. Covers:
- Grounding with
ontime_whoamibefore anything else. - The self-service versus on-behalf split — most domains are two separate tools, not one with an optional
employeeId. This is the single biggest source of agent errors, and this skill exists largely to prevent it. - Which tool for which job, id and date conventions, pagination, error recovery.
- The four confirm-gated tools, and the requirement to get an explicit human “yes” first.
- A full annotated catalog of all 71 tools.
ontime-attendance-workflows
ontime-attendance-workflows
Loads for attendance work: missed punches, regularization queues, overtime approvals, day corrections — end to end rather than tool by tool.
ontime-payroll-runbook
ontime-payroll-runbook
Loads for payroll and compliance: the five-stage cycle, what to verify between stages, and disbursement sign-off.Payroll is a state machine where calling a stage out of order fails, so this one is worth having loaded before you start rather than after the first refusal.
Which employee should the key be bound to?
The agent inherits that person’s authority exactly. Choose deliberately:Rotating the key
There is no rotate action. Issue a new key, updateONTIME_API_KEY (or re-add the server), then revoke the old one.
If a tool is missing
Not a bug — a permission. Runontime_whoami and compare against the tool catalog. Listing and calling share the same check, so a tool you cannot see is one you could not call anyway.