generated: '2026-08-04' method: derived status: candidate source: openapi/onpay-api-openapi.json note: 'OnPay publishes NO MCP server. Searched the docs hub (its own llms.txt enumerates every page — one guide and the API reference, nothing agent-related), npm (the only "onpay" MCP package, @fatomate/onpay-mcp, is an unofficial community server for a DIFFERENT company''s OnPay API and says so in its own README), PyPI, RubyGems and Packagist, plus /mcp and /sse on onpay.com, api.onpay.com, app.onpay.com and mcp.onpay.com — nothing answered. The tool set below is a CANDIDATE surface derived one-per-operation from the live OnPay API 2.0.0 OpenAPI: what an MCP server for this API could expose, each tool''s real input schema inherited from the referenced operation''s parameters and requestBody. This is a design artifact, not a provider claim. No MCPServer pointer is wired into apis.yml and none should be until OnPay actually ships one.' server: published: false url: null transport: null probes: - url: https://api.onpay.com/mcp http_status: 301 note: application login catch-all - url: https://app.onpay.com/mcp http_status: 301 note: application login catch-all - url: https://onpay.com/mcp http_status: 404 - url: https://mcp.onpay.com/ http_status: null note: DNS does not resolve auth_if_built: type: oauth2 flow: authorizationCode authorization_url: https://app.onpay.com/app/oauth/authorize token_url: https://app.onpay.com/app/oauth/token token_ttl_seconds: 7200 scopes: - Owner - Approver - Controller - Manager - Accountant - Employee binding_caveat: None of the 58 OnPay operations declares an operationId, so each candidate tool below binds to METHOD + path rather than a stable identifier. A real MCP server cannot be generated reliably from this spec until OnPay adds operationIds. candidate_tools: - name: list_employees maps_to: GET /employees description: List employees for the authorized company - name: create_employee maps_to: POST /employees description: Insert an employee with wages deductions and bank accounts: null - name: get_employee maps_to: GET /employees/{employee_id} description: Get one employee by employee_id - name: update_employee maps_to: PATCH /employees/{employee_id} description: Update an employee (requires current version) - name: list_employee_deductions maps_to: GET /employees/{employee_id}/deductions description: List deductions for an employee - name: update_employee_deduction_batch maps_to: PATCH /employees/{employee_id}/deductions/{deduction_id} description: Update an employee deduction batch - name: create_employee_deduction_batch maps_to: POST /employees/{employee_id}/deductions/{deduction_id} description: Insert a deduction batch for an employee - name: list_deduction_schedule maps_to: GET /employees/{employee_id}/deductions/{deduction_id}/schedule description: List scheduled changes to an employee deduction - name: schedule_deduction_change maps_to: POST /employees/{employee_id}/deductions/{deduction_id}/schedule description: Submit a scheduled change to a deduction batch - name: list_employee_bank_accounts maps_to: GET /employees/{employee_id}/bank-accounts description: List an employee's direct-deposit accounts - name: replace_employee_bank_accounts maps_to: PUT /employees/{employee_id}/bank-accounts description: Replace an employee's direct-deposit accounts - name: list_employee_wages maps_to: GET /employees/{employee_id}/wages description: List employee pay items - name: update_employee_wages maps_to: PATCH /employees/{employee_id}/wages description: Update employee pay items - name: list_wage_schedule maps_to: GET /employees/{employee_id}/wages/schedule description: List scheduled changes to employee pay items - name: schedule_wage_change maps_to: POST /employees/{employee_id}/wages/schedule description: Schedule an employee wage change for approval - name: list_employee_leave maps_to: GET /employees/{employee_id}/leave description: List employee leave items - name: update_employee_leave maps_to: PATCH /employees/{employee_id}/leave description: Update employee leave items - name: list_employee_tax_fields maps_to: GET /employees/{employee_id}/tax-fields description: List employee tax fields - name: update_employee_tax_fields maps_to: PATCH /employees/{employee_id}/tax-fields description: Patch employee tax fields - name: set_employee_worksite maps_to: PATCH /employees/{employee_id}/tax-fields/worksite description: Update an employee's worksite id - name: terminate_employee maps_to: POST /employees/{employee_id}/termination description: Terminate an employee - name: rehire_employee maps_to: POST /employees/{employee_id}/rehire description: Rehire an employee - name: list_recent_employee_notes maps_to: GET /employees/recent-notes-and-comments description: Get recent notes and comments from employee accounts - name: get_company maps_to: GET /company description: Get company information - name: list_pay_schedules maps_to: GET /company/pay-schedules description: List pay schedules for the company - name: list_company_deductions maps_to: GET /company/deductions description: List all company deductions - name: create_company_deduction maps_to: POST /company/deductions description: Create a new company deduction - name: update_company_deduction maps_to: PATCH /company/deductions/{deduction_id} description: Patch a company deduction - name: delete_company_deduction maps_to: DELETE /company/deductions/{deduction_id} description: Delete a company deduction by id - name: list_deduction_groupings maps_to: GET /company/deduction-groupings description: List deduction groupings - name: create_deduction_grouping maps_to: POST /company/deduction-groupings description: Create a deduction grouping - name: update_deduction_grouping maps_to: PATCH /company/deduction-groupings/{id} description: Update a deduction grouping - name: list_worksites maps_to: GET /company/worksites description: List company worksites - name: create_worksite maps_to: POST /company/worksites description: Create a company worksite - name: get_worksite maps_to: GET /company/worksites/{id} description: Get a worksite by id - name: update_worksite maps_to: PATCH /company/worksites/{id} description: Update a worksite - name: list_locations maps_to: GET /company/locations description: List company locations - name: create_location maps_to: POST /company/locations description: Create a company location - name: get_location maps_to: GET /company/locations/{id} description: Get a location by id - name: update_location maps_to: PATCH /company/locations/{id} description: Update a location - name: list_departments maps_to: GET /company/departments description: List company departments - name: create_department maps_to: POST /company/departments description: Create a department - name: get_department maps_to: GET /company/departments/{id} description: Get a department by id - name: update_department maps_to: PATCH /company/departments/{id} description: Update a department - name: list_positions maps_to: GET /company/positions description: List company positions - name: create_position maps_to: POST /company/positions description: Add a position to the company - name: get_position maps_to: GET /company/positions/{id} description: Get a position by id - name: update_position maps_to: PATCH /company/positions/{id} description: Update a position - name: get_state_tax_fields maps_to: GET /company/state-tax-fields/{fips} description: Get state tax fields by FIPS code - name: update_state_tax_fields maps_to: PATCH /company/state-tax-fields/{fips} description: Update state tax fields by FIPS code - name: get_unprocessed_hours maps_to: GET /company/unprocessed-hours description: Get unprocessed hours for the company - name: put_unprocessed_hours maps_to: PUT /company/unprocessed-hours description: Submit unprocessed hours for the company - name: list_pay_schedule_dates maps_to: GET /company/pay-schedule-dates description: Get important dates for a pay schedule - name: get_user maps_to: GET /user description: Get the authenticated user - name: list_payroll_checks maps_to: GET /reports/listing description: List payroll checks for a date range (paginated with start/limit) - name: list_payroll_checks_paginated maps_to: GET /reports/pagination/listing description: Pagination metadata for the payroll check listing - name: list_approved_pay_runs maps_to: GET /reports/approved-pay-runs description: List approved pay runs for a date range - name: get_retirement_summary maps_to: GET /reports/retirement-summary description: Retirement contribution summary per employee coverage: rest_operations: 58 candidate_tools: 58 published_tools: 0 deployment: mode: none verified: derived checked: '2026-08-12' source: catalog MCP census