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.
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 |
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