Skip to main content
Glama
Lucid-Drone-Technologies

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
companyIdNoPaylocity company ID (defaults to PAYLOCITY_COMPANY_ID env var)
employeeIdYesPaylocity employee ID
earningCodeYesEarning code (e.g. BONUS, COMM, OT — company-specific)
amountNoDollar amount
rateNoRate per hour/unit
hoursOrUnitsNoNumber of hours or units
startDateYesStart date YYYY-MM-DD
endDateNoEnd date YYYY-MM-DD (omit for one-time)
costCenter1No
costCenter2No
costCenter3No

TDQS

A3.8/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries the full disclosure burden. It clarifies the temporal behavior (one-time vs recurring) and prerequisites, but omits safety details like whether this creates permanent payroll records, potential validation failures, or idempotency characteristics.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two sentences with zero waste: the first establishes purpose with examples, the second provides actionable prerequisite guidance. Information is front-loaded and every word serves the agent's selection decision.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given 11 parameters, no output schema, and no annotations, the description meets minimum viability for tool selection but leaves gaps. It adequately covers the core earning addition logic but provides no semantics for cost center fields and does not describe success behaviors or return values.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 73%, establishing a baseline of 3. The description adds significant value by providing concrete examples for 'earningCode' (BONUS, COMM, OT) and framing the date parameters as 'one-time or recurring.' However, it fails to address the three costCenter parameters which lack schema descriptions.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the action ('Add') and resource ('earning') with specific examples (bonus, commission, stipend, overtime). It distinguishes from sibling 'add_employee' by specifying the target is an earning added 'to an employee' rather than the employee record itself.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides explicit prerequisite guidance by referencing 'get_company_codes' to obtain valid earning codes before invocation. While it doesn't explicitly state when NOT to use the tool, it effectively guides the agent toward necessary preparatory steps.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
companyIdNoPaylocity company ID (defaults to PAYLOCITY_COMPANY_ID env var)
firstNameYes
lastNameYes
ssnYesSocial Security Number (XXX-XX-XXXX)
birthDateYesYYYY-MM-DD
genderNo
hireDateYesYYYY-MM-DD
address1Yes
cityYes
stateYes2-letter state code
zipYes
personalEmailAddressNo
personalMobilePhoneNo
workEmailAddressNo
jobTitleNo
costCenter1NoDepartment/cost center code
employeeTypeNoRFT=Regular Full-Time, RPT=Regular Part-Time, TFT=Temp Full-Time, TPT=Temp Part-Time
supervisorEmployeeIdNo
payTypeNoSalary or Hourly
annualSalaryNo
baseRateNoHourly rate
payFrequencyNoS=Semi-monthly, B=Biweekly, W=Weekly, M=Monthly
defaultHoursNo

TDQS

A4.2/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations provided, so description carries full burden. Discloses important security behavior (SSN encrypted, not stored in conversation) and return value ('Returns the new employee ID'). Does not mention error scenarios or reversibility.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Four sentences with zero waste. Front-loaded with purpose ('Add a new employee'), followed by scope, security-critical SSN handling, and return value. Every sentence earns its place.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given 23 parameters and mutation nature, description adequately covers essential security context (SSN encryption) and output (employee ID). Missing explicit required vs optional guidance and error handling, but sufficient for correct invocation given schema.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is low (43%), so description must compensate. Provides high-level categories ('personal info, job details, and compensation') mapping to parameter groups and highlights SSN specifically. However, does not detail the majority of undocumented parameters (firstName, lastName, address1, etc.).

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Description uses specific verbs ('Add', 'Creates') with clear resource ('employee'). Explicitly mentions 'onboarding' and 'new' to distinguish from sibling update_employee, and 'Creates' distinguishes from get/search siblings.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Provides clear context ('onboarding') indicating when to use for new hires. Includes critical usage instruction about SSN handling ('pass it directly'). Could improve by explicitly contrasting with update_employee for existing records.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_company_summaryA

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

ParametersJSON Schema
NameRequiredDescriptionDefault
companyIdNoPaylocity company ID (defaults to PAYLOCITY_COMPANY_ID env var)

TDQS

A4.1/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries the full burden. It successfully discloses what data is returned (headcount, departments, job titles, reporting relationships), but does not mention safety characteristics (read-only nature), authentication requirements, or performance/caching behavior. Adequate but not comprehensive behavioral disclosure.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Excellent single-sentence structure that front-loads the action ('Get a high-level workforce summary') and efficiently lists the specific data components available. Zero redundancy or filler content.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the absence of an output schema, the description excellently compensates by detailing the exact structure and fields returned (headcount, status breakdown, department names, job titles, reporting relationships). For a simple single-parameter tool, this provides complete contextual information.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100% for the single companyId parameter, which includes default behavior (env var). The description adds no explicit parameter guidance, but with complete schema documentation, no additional parameter semantics are required. Baseline score appropriate for high schema coverage.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description uses specific verb 'Get' and clearly defines the resource as a 'high-level workforce summary' with explicit details (headcount, department breakdowns, reporting relationships). It clearly distinguishes from siblings like get_employee (individual records) and search_employees (filtered search) by emphasizing aggregate company-wide data.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

While it does not explicitly name alternative tools, the description provides clear context that this is for aggregate company-level data ('high-level workforce summary', 'total headcount'), implicitly guiding the agent to use individual employee tools (get_employee, search_employees) for non-aggregate needs. Clear context without explicit exclusions.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_direct_depositA

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

ParametersJSON Schema
NameRequiredDescriptionDefault
companyIdNoPaylocity company ID (defaults to PAYLOCITY_COMPANY_ID env var)
employeeIdYesPaylocity employee ID

TDQS

A3.6/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries the full burden of behavioral disclosure. It adds valuable context that 'Account and routing numbers are redacted' and lists what fields are visible (type, status, name). However, it omits other critical behavioral traits: error handling (what happens if employeeId is invalid), whether this is idempotent, or rate limiting concerns.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two sentences, zero waste. The first sentence front-loads the purpose; the second sentence efficiently communicates data privacy/redaction behavior. Every word earns its place.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple read-only tool with 2 flat parameters and no output schema, the description is nearly complete. It explains what the tool retrieves and clarifies the redaction behavior. Minor gap: doesn't explicitly state the return cardinality (single vs. multiple accounts) or format, though 'accounts' plural implies a collection.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100% (both companyId and employeeId have descriptions). The description itself does not mention parameters, but with the schema fully documented, the baseline is 3. The description neither adds parameter semantics nor contradicts the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description explicitly states 'Get direct deposit accounts for an employee' — clear verb (Get), specific resource (direct deposit accounts), and scope (employee). It clearly distinguishes from siblings like get_employee (general info), get_pay_statements (pay history), and add_earnings (write operation).

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides no explicit guidance on when to use this tool versus alternatives like get_employee, nor does it mention prerequisites (e.g., needing valid employeeId). It relies entirely on the tool name to imply appropriate usage context.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
companyIdNoPaylocity company ID (defaults to PAYLOCITY_COMPANY_ID env var)
employeeIdYesPaylocity employee ID

TDQS

A4/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries the full burden. It effectively discloses the return payload scope ('Returns everything: personal info...') and critical data security behavior ('SSN, FEIN, and bank info are redacted'). It misses explicit read-only/safety declarations or error handling, but covers the key behavioral traits for HR data access.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is front-loaded with the core action in the first sentence, followed by a colon-delimited list of returned fields and a final security note. Every sentence earns its place with zero redundancy or filler.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the lack of output schema, the description appropriately compensates by detailing the comprehensive return payload and redaction rules. It adequately covers the tool's behavior for a simple two-parameter read operation, though it could note error cases (e.g., invalid ID).

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, providing detailed parameter documentation including the environment variable default for companyId. The description adds minimal parameter-specific semantics beyond the schema, focusing instead on return values, which warrants the baseline score for high-coverage schemas.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description uses a specific verb ('Get') with a clear resource ('full details for an employee') and identifier method ('by ID'). It effectively distinguishes from siblings like 'search_employees' (which implies filtering without ID) and 'update_employee' (write vs read).

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The phrase 'by ID' implies you must have the employee identifier, suggesting contrast with 'search_employees'. However, there is no explicit guidance like 'Use search_employees if you do not have the ID' or clarification on when to use 'get_direct_deposit' versus this comprehensive endpoint.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
companyIdNoPaylocity company ID (defaults to PAYLOCITY_COMPANY_ID env var)
employeeIdYesPaylocity employee ID
yearYesTax year (e.g. 2025)
checkDateNoCheck date YYYY-MM-DD (optional — omit for all checks in the year)

TDQS

A4/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries the full burden. It effectively discloses the return payload structure—specifying both summary fields (gross/net pay, hours) and line-item details (taxes, deductions, earnings)—which compensates for the missing output_schema. However, it does not explicitly confirm this is read-only/safe or describe error cases (e.g., invalid year).

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description consists of three efficiently structured sentences: purpose (sentence 1), return value details (sentence 2), and optional filtering capability (sentence 3). There is no redundant or wasted text; every clause adds specific value about functionality or return structure.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the absence of an output schema, the description adequately compensates by detailing the return structure (summary vs. line-item data). With 100% schema coverage for inputs and clear required parameter indication, the definition is complete for invocation, though it could benefit from mentioning data availability constraints or error scenarios.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema has 100% description coverage, documenting all four parameters including the optional nature of checkDate and companyId default behavior. The description reinforces the year-based retrieval and optional date filtering, but does not add semantic meaning beyond what the schema already provides, warranting the baseline score.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description uses a specific verb ('Get') and resource ('pay statement data') and clearly scopes it to 'by year'. It effectively distinguishes from siblings like get_direct_deposit (which retrieves setup/configuration, not pay statements) and get_employee (profile data) by specifying it returns payroll details including 'gross pay, net pay, hours' and line-item breakdowns.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description mentions the optional checkDate filter ('Optionally filter to a specific check date'), implying when to use that parameter. However, it lacks explicit guidance on when to choose this over get_direct_deposit or prerequisites like requiring an existing employeeId from get_employee/search_employees.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
companyIdNoPaylocity company ID (defaults to PAYLOCITY_COMPANY_ID env var)
queryYesSearch term — matches name, title, email, or employee ID
statusFilterNoFilter by status (default: all)

TDQS

A4.5/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations provided, so description carries full burden. Compensates by disclosing return structure (basic info: name, title, department, status, supervisor) despite lacking output schema. Does not explicitly state read-only/safety properties or pagination behavior, preventing a 5.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Three sentences with zero waste: purpose (sentence 1), return value (sentence 2), workflow guidance (sentence 3). Perfectly front-loaded with the most critical selection criteria first.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Comprehensive given constraints. Lacks output schema but description compensates by listing returned fields. Establishes clear relationship to sibling 'get_employee'. All 3 parameters fully documented in schema with description covering the semantic intent of the search.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, establishing baseline 3. Description lists searchable fields (name, title, email, employee ID) which aligns with but does not substantially augment the schema's parameter descriptions. No additional syntax or format guidance provided.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Specific verb (Search) + resource (employee directory) + scope (by name, job title, email, or employee ID). Explicitly distinguishes from sibling 'get_employee' by describing this as directory search versus full record retrieval.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicit workflow guidance: 'Use this first to find someone's employee ID, then use get_employee for full details.' Clearly establishes the two-step pattern and when to prefer this tool over the sibling retrieval tool.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
companyIdNoPaylocity company ID (defaults to PAYLOCITY_COMPANY_ID env var)
employeeIdYesPaylocity employee ID
updatesYesFields to update

TDQS

A4/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations provided, so description carries full disclosure burden. It successfully notes the effective date requirement but fails to disclose mutation characteristics: idempotency, error behavior when employee missing, whether partial updates are supported, or what the response indicates.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Optimal structure: single opening sentence establishes purpose, followed by categorized field list, ending with critical constraint. No redundant words despite high parameter complexity. Every sentence earns its place.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given high schema coverage (100%) and complex nested structure, the description provides sufficient context by mapping schema fields to business concepts (cost center, supervisor, benefit class). Missing return value documentation is acceptable without output schema; only minor gap is lack of error scenario mention.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

With 100% schema description coverage, baseline is 3. The description adds value by categorizing the nested 'updates' fields into logical groups (personal, job, compensation) and emphasizing the effective date constraint that applies across multiple nested objects, aiding comprehension of the complex schema structure.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description uses specific verb 'Update' with resource 'employee's information' and comprehensively lists updatable field categories (personal info, job details, compensation, status, benefits). The verb clearly distinguishes this from sibling 'add_employee' (create vs update semantics).

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Provides critical constraint that 'All changes require an effective date where applicable,' which guides temporal usage. However, lacks explicit when-not-to-use guidance (e.g., distinguishing from 'add_employee' for new hires) or prerequisite mentions (e.g., employee must exist).

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections. Dates show when Glama detected each change.

  1. 8 tool updatesv1.0.0
    • First observedadd_earnings
    • First observedadd_employee
    • First observedget_company_summary
    • First observedget_direct_deposit
    • First observedget_employee
    • First observedget_pay_statements
    • First observedsearch_employees
    • First observedupdate_employee

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.

Maintenance

ActivitySlowing
ResponsivenessSyncing

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

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

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/Lucid-Drone-Technologies/paylocity-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server