Skip to main content
Glama
Paylocity MCP Server

Paylocity MCP Server

Paylocity MCP Server

An MCP (Model Context Protocol) server that connects Claude Desktop to the Paylocity API. Sensitive data like SSNs and bank account numbers are automatically redacted before reaching Claude.

Setup

1. Install

git clone <this-repo>
cd payolocity-mcp
npm install
npm run build

2. Get your Paylocity API credentials

You'll need two sets of API keys from your Paylocity admin:

  • WebLink API Key (Client ID + Client Secret) — used for employee details, pay statements, and write operations

  • NextGen API Key (Client ID + Client Secret) — used for the employee directory search

Both come as password-protected zip files from Paylocity. Ask your Paylocity admin or implementation contact for access.

You'll also need your Company ID — the numeric ID Paylocity assigned to your company (e.g. 348353).

3. Configure Claude Desktop

Open your Claude Desktop config file:

  • Mac: ~/Library/Application Support/Claude/claude_desktop_config.json

  • Windows: %APPDATA%\Claude\claude_desktop_config.json

Add the paylocity server to mcpServers:

{
  "mcpServers": {
    "paylocity": {
      "command": "node",
      "args": ["/full/path/to/payolocity-mcp/dist/server.js"],
      "env": {
        "PAYLOCITY_CLIENT_ID": "your-weblink-client-id",
        "PAYLOCITY_CLIENT_SECRET": "your-weblink-client-secret",
        "PAYLOCITY_ENV": "production",
        "PAYLOCITY_COMPANY_ID": "your-company-id",
        "PAYLOCITY_NEXTGEN_CLIENT_ID": "your-nextgen-client-id",
        "PAYLOCITY_NEXTGEN_CLIENT_SECRET": "your-nextgen-client-secret"
      }
    }
  }
}

Replace the placeholder values with your actual credentials and the full path to where you cloned the repo.

4. Restart Claude Desktop

Quit and reopen Claude Desktop. The Paylocity tools will appear automatically.

Related MCP server: clio-mcp

What you can do

Once connected, you can ask Claude things like:

  • "Find Sean Canton in Paylocity"

  • "What's Jeremy Allen's job title and department?"

  • "Show me the company headcount by department"

  • "Pull pay statements for employee 76 for 2025"

  • "What are the direct deposit accounts for employee 1?"

Available tools

Tool

Description

search_employees

Find employees by name, title, email, or ID

get_employee

Full employee detail (pay, benefits, tax, addresses, contacts)

get_pay_statements

Pay history with summary and line-item details

get_direct_deposit

Bank account info (numbers redacted)

get_company_summary

Headcount and department breakdown

update_employee

Change address, title, department, pay rate, status

add_earnings

Add a bonus, commission, or other one-time pay

add_employee

Create a new employee record (skips onboarding workflow)

add_onboarding_employee

Start a new hire through the self-service onboarding workflow

get_employee_custom_fields

Pull custom profile fields (t-shirt size, etc.) added during onboarding

get_tshirt_size

Shortcut: pull just the t-shirt size for swag/uniform requests

Not yet supported

These were requested but aren't (currently) reachable via Paylocity's public Open API:

Capability

Status

Notes

Documents library

Separate API

Paylocity exposes documents through a distinct "Document Partner API" with its own credentials. Needs separate WebLink key with document scopes; not part of the v2 surface we use here.

Onboarding events / workflow steps

Limited

We can start onboarding (above), but creating arbitrary events on an in-flight workflow isn't exposed.

Performance reviews

Not in public API

The Performance module's review scores are not exposed via the Open API. Available only through Paylocity's UI exports / Data Exchange reports.

Surveys

Not in public API

Survey build and response data isn't a public API resource. Same path as Performance — UI / Data Exchange only.

If your Paylocity contract includes Data Exchange (scheduled report exports to S3/SFTP), pulling Performance and Survey data is doable that way — but it lives outside this MCP server.

Data protection

All API responses are scrubbed before reaching Claude:

  • SSNs show only the last 4 digits (***-**-1234)

  • Bank account numbers are masked

  • Routing numbers are fully redacted

  • Company FEIN is masked

This happens at the server level — Claude never sees the raw data.

Credentials

  • WebLink API secrets expire after 365 days

  • NextGen API secrets expire after 365 days

  • Check the expiration dates in the zip file names from Paylocity

Available Tools

8 tools
add_earningsA

Add a one-time or recurring earning to an employee (bonus, commission, stipend, overtime, etc.). Use get_company_codes or check existing earnings for valid earning codes.

Inputs: employeeId (required), earningCode (required), startDate (required), companyId, +7 more.

add_employeeA

Add a new employee to the system (onboarding). Creates the employee record with personal info, job details, and compensation. SSN is required by Paylocity but will not be stored in conversation — pass it directly and it will be sent encrypted. Returns the new employee ID.

Inputs: firstName (required), lastName (required), ssn (required), birthDate (required), +19 more.

get_company_summaryA

Get a high-level workforce summary: total headcount, breakdown by status, department (with names), job title, and reporting relationships.

Inputs: companyId.

get_direct_depositA

Get direct deposit accounts for an employee. Account and routing numbers are redacted — shows account type, status, and name on account.

Inputs: employeeId (required), companyId.

get_employeeA

Get full details for an employee by ID. Returns everything: personal info, job/department, pay rate, tax setup, benefits, addresses, emergency contacts. SSN, FEIN, and bank info are redacted.

Inputs: employeeId (required), companyId.

get_pay_statementsA

Get pay statement data for an employee by year. Returns both summary (gross pay, net pay, hours, direct deposit amounts) and line-item details (each tax, deduction, and earning). Optionally filter to a specific check date.

Inputs: employeeId (required), year (required), companyId, checkDate.

search_employeesA

Search the employee directory by name, job title, email, or employee ID. Returns matching employees with basic info (name, title, department, status, supervisor). Use this first to find someone's employee ID, then use get_employee for full details.

Inputs: query (required), companyId, statusFilter.

update_employeeA

Update an employee's information. Supports changing: personal info (name, address), job details (title, department, cost center, supervisor), compensation (pay rate, salary), employment status (active, terminated, leave), and benefit setup. All changes require an effective date where applicable.

Inputs: employeeId (required), updates (required), companyId.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

Loading tool schema changelog…

    TDQS

    A4.1/5.0

    Scored across 8 tools

    Disambiguation5/5

    Each tool targets a distinct domain concept with clear boundaries: employee CRUD (add/get/update/search), earnings management (add), payroll data (pay statements, direct deposit), and company insights. No overlapping functionality between tools like 'add_earnings' and 'update_employee'.

    Naming Consistency5/5

    Strict adherence to verb_noun snake_case convention throughout (add_earnings, get_employee, search_employees, update_employee). Pluralization choices logically match the resource type (earnings, statements as collections; employee, deposit as singular records).

    Tool Count5/5

    Eight tools provide a focused but sufficient surface for core HRIS operations without bloat. The scope covers employee lifecycle management, compensation adjustments, and payroll inquiry—appropriate for a Paylocity integration without attempting to wrap the entire API.

    Completeness4/5

    Solid CRUD coverage for employee records and read access to payroll data. Minor gaps exist: direct deposit can be viewed but not updated, and earnings can be added but not removed or modified. However, core 'find employee, view details, update info' workflows are fully supported.

    Related MCP Connectors

    Related MCP Servers

    • A
      license
      D
      quality
      D
      maintenance
      A Model Context Protocol server that enables Claude Desktop to access structured employee data and perform HR operations including employee lookups, searches, and global leave requests.
      3
      1
      MIT
    • A
      license
      Not graded
      quality
      A
      maintenance
      Connects Claude to Clio practice management, enabling AI-assisted access to matters, contacts, documents, tasks, and billing with audit logging and encryption for law firm compliance.
      440 npm
      27
      MIT
    • F
      license
      Not graded
      quality
      D
      maintenance
      Enables employees to check leave balance, apply for leave, and view leave history through natural language using Claude Desktop.
      -