Skip to main content
Glama
mz462
by mz462

mcpPaylocity MCP 服务器

铁匠徽章

模型上下文协议 (MCP) 服务器从 Paylocity API 端点获取数据。

成分

资源

服务器通过以下方式实现 Paylocity API 资源:

  • 用于访问 Paylocity 数据的自定义paylocity:// URI 方案

  • 可用的资源如下:

    • paylocity://employees/{company_id} - 列出公司的所有员工

    • paylocity://employees/{company_id}/{employee_id} - 获取特定员工的详细信息

    • paylocity://earnings/{company_id}/{employee_id} - 获取特定员工的收入数据

    • paylocity://codes/{company_id}/{code_resource} - 获取特定资源的公司代码

    • paylocity://localtaxes/{company_id}/{employee_id} - 获取特定员工的当地税费

    • paylocity://paystatement/{company_id}/{employee_id}/{year}/{check_date} - 获取特定日期的工资单详情

工具

该服务器实现了以下工具:

  • fetch_employees - 获取公司的所有员工

    • 采用可选的company_id参数

  • fetch_employee_details - 获取特定员工的详细信息

    • 采用必需的employee_id和可选的company_id参数

  • fetch_employee_earnings - 获取特定员工的收入数据

    • 采用必需的employee_id和可选的company_id参数

  • fetch_company_codes - 获取特定资源的公司代码

    • 采用必需的code_resource和可选的company_id参数

  • fetch_employee_local_taxes - 获取特定员工的当地税费

    • 采用必需的employee_id和可选的company_id参数

  • fetch_employee_paystatement_details - 获取特定日期的工资单详细信息

    • 需要employee_id 、 year 、 check_date和可选company_id参数

Related MCP server: Paylocity MCP Server by CData

未来实施

以下端点将在未来的更新中实现:

  • [ ] 更高层次的洞察(例如离职率、部门员工人数、费率比较等)

配置

服务器需要设置以下环境变量:

  • PAYLOCITY_CLIENT_ID - 您的 Paylocity API 客户端 ID

  • PAYLOCITY_CLIENT_SECRET - 您的 Paylocity API 客户端密钥

  • PAYLOCITY_COMPANY_IDS - 要使用的公司 ID 的逗号分隔列表

  • PAYLOCITY_ENVIRONMENT - 要使用的 API 环境( production或testing )

这些可以在项目根目录中的.env文件中设置。

安全

⚠️重要提示:本应用将身份验证令牌缓存在src/mcppaylocity/access_token/目录中。这些文件包含敏感凭证,请勿提交至版本控制。

存储库在.gitignore中包含这些路径,但请验证在推送更改时不会意外提交令牌文件。

如果您意外提交了令牌文件,请按照以下步骤操作:

  1. 从存储库中删除文件: git rm --cached src/mcppaylocity/access_token/token.json src/mcppaylocity/access_token/token_info.txt

  2. 提交删除: git commit -m "Remove accidentally committed token files"

  3. 考虑更换您的 Paylocity API 凭证,因为它们可能已被泄露

快速入门

安装

克劳德桌面

在 MacOS 上: ~/Library/Application\ Support/Claude/claude_desktop_config.json在 Windows 上: %APPDATA%/Claude/claude_desktop_config.json

"mcpServers": {
  "mcpPaylocity": {
    "command": "uv",
    "args": [
      "--directory",
      "/path/to/mcpPaylocity",
      "run",
      "mcppaylocity"
    ]
  }
}
"mcpServers": {
  "mcpPaylocity": {
    "command": "uvx",
    "args": [
      "mcppaylocity"
    ]
  }
}

发展

构建和发布

准备分发包:

  1. 同步依赖项并更新锁文件:

uv sync
  1. 构建软件包分发版:

uv build

这将在dist/目录中创建源和轮子分布。

  1. 发布到 PyPI:

uv publish

注意:您需要通过环境变量或命令标志设置 PyPI 凭据:

  • 令牌: --token或UV_PUBLISH_TOKEN

  • 或用户名/密码: --username / UV_PUBLISH_USERNAME和--password / UV_PUBLISH_PASSWORD

调试

由于 MCP 服务器通过 stdio 运行,调试起来可能比较困难。为了获得最佳调试体验,我们强烈建议使用MCP Inspector 。

您可以使用以下命令通过npm启动 MCP Inspector:

npx @modelcontextprotocol/inspector uv --directory /path/to/mcpPaylocity run mcppaylocity

启动后,检查器将显示一个 URL,您可以在浏览器中访问该 URL 以开始调试。

建筑学

该服务器由以下组件构建:

  1. PaylocityClient - 处理与 Paylocity API 的通信

  2. TokenManager - 管理身份验证令牌,包括缓存和更新

  3. FastMCP 服务器- 通过 MCP 资源和工具公开 Paylocity 数据

执照

MIT 许可证

版权所有 (c) 2024 MJ 邹 ( @mjzou )

特此授予获得此软件和相关文档文件(“软件”)副本的任何人免费许可,以无限制方式处理软件,包括但不限于使用、复制、修改、合并、发布、分发、再授权和/或销售软件副本的权利,并允许向其提供软件的人员这样做,但须遵守以下条件:

上述版权声明和本许可声明均应包含在软件的所有副本或实质性部分中。

本软件按“原样”提供,不附带任何形式的明示或暗示保证,包括但不限于适销性、适用于特定用途和非侵权性的保证。在任何情况下,作者或版权所有者均不对因本软件或使用或以其他方式处理本软件而引起的或与之相关的任何索赔、损害或其他责任承担责任,无论是合同、侵权或其他诉讼。

Available Tools

6 tools
fetch_company_codesB

Fetch company codes for a specific resource.

Args: company_id: Optional company ID (string or integer). If not provided, uses the first company ID from configuration. code_resource: Code resource to fetch (e.g., 'earnings', 'deductions', 'costcenter1', etc.)

ParametersJSON Schema
NameRequiredDescriptionDefault
company_idNo
code_resourceNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

B3.3/5.0
Behavior2/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 mentions that company_id defaults to the first company ID from configuration if not provided, which adds some context. However, it fails to describe critical behaviors such as authentication needs, rate limits, error handling, or what the output looks like, leaving significant gaps for a tool with parameters.

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

Conciseness4/5

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

The description is appropriately sized and front-loaded with the core purpose. The 'Args' section is structured for clarity, though it could be more integrated into the main text. No wasted sentences, but minor improvements in flow could enhance readability.

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 2 parameters with 0% schema coverage and an output schema present, the description adds some parameter semantics but lacks behavioral context like authentication or error handling. The output schema reduces the need to explain return values, but overall completeness is moderate due to missing operational details.

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 description coverage is 0%, so the description must compensate. It provides meaningful semantics for both parameters: company_id is optional with a default behavior, and code_resource includes examples like 'earnings' and 'deductions'. This adds value beyond the bare schema, though it could elaborate on code_resource constraints or formats.

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 verb 'fetch' and the resource 'company codes', making the purpose understandable. It distinguishes from sibling tools like 'fetch_employee_details' by focusing on company-level codes rather than employee data. However, it doesn't explicitly contrast with all siblings, missing a perfect score.

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 implies usage through the 'Args' section, suggesting when to provide company_id and code_resource, but lacks explicit guidance on when to use this tool versus alternatives like 'fetch_employee_earnings'. No when-not-to-use scenarios or prerequisites are mentioned, leaving room for ambiguity.

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

fetch_employee_detailsB

Fetch details for a specific employee.

Args: company_id: Optional company ID (string or integer). If not provided, uses the first company ID from configuration. employee_id: Employee ID (string or integer) to get details for.

ParametersJSON Schema
NameRequiredDescriptionDefault
company_idNo
employee_idNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

B3.2/5.0
Behavior2/5

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

With no annotations provided, the description carries full burden but only states it 'fetches details' without disclosing behavioral traits like authentication requirements, rate limits, error conditions, or what 'details' specifically includes. It mentions default behavior for company_id but lacks broader operational context.

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?

Extremely concise with zero wasted words. The purpose is stated in one clear sentence, followed by a structured parameter explanation. Every sentence earns its place by providing essential information.

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 2 parameters with 0% schema coverage and an output schema exists, the description adequately covers parameter semantics but lacks behavioral context for a read operation. The output schema reduces need to explain return values, but more operational guidance would help.

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 description coverage is 0%, so the description must compensate. It provides meaningful context for both parameters: company_id is optional with default behavior explained, and employee_id is required for targeting. This adds substantial value beyond the bare schema types.

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 verb 'fetch' and resource 'details for a specific employee', making the purpose unambiguous. It distinguishes from siblings like 'fetch_employees' (plural) and 'fetch_employee_earnings' (specific data), but doesn't explicitly contrast them in the description text.

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?

No guidance is provided about when to use this tool versus alternatives like 'fetch_employees' (list) or 'fetch_employee_paystatement_details' (specific financial data). The description only states what it does, not when it's appropriate relative to other tools.

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

fetch_employee_earningsB

Fetch earnings data for a specific employee.

Args: company_id: Optional company ID (string or integer). If not provided, uses the first company ID from configuration. employee_id: Employee ID (string or integer) to get earnings for.

ParametersJSON Schema
NameRequiredDescriptionDefault
company_idNo
employee_idNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

B3.2/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full burden of behavioral disclosure. The description states it 'fetches' data, implying a read-only operation, but doesn't specify authentication requirements, rate limits, error conditions, or what format the earnings data returns. With an output schema present, some behavioral aspects might be covered there, but the description itself lacks critical operational context for a tool with no annotation coverage.

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 extremely concise and well-structured. The first sentence clearly states the tool's purpose, followed by a bullet-point style 'Args' section that efficiently explains each parameter. Every sentence earns its place with no wasted words, making it easy to scan and understand quickly.

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 that there's an output schema (which should document return values), no annotations, and 2 parameters with good semantic coverage in the description, the description is moderately complete. However, for a data-fetching tool with sibling alternatives, it should ideally clarify what 'earnings data' includes versus other employee financial tools. The presence of an output schema raises the baseline, but the lack of usage differentiation keeps this from being fully complete.

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?

The description adds significant value beyond the input schema, which has 0% description coverage. It explains that 'company_id' is optional and defaults to the first company ID from configuration, and that 'employee_id' is required to get earnings for a specific employee. This clarifies the purpose and default behavior of both parameters, compensating well for the schema's lack of 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 tool's purpose: 'Fetch earnings data for a specific employee.' This is a specific verb ('fetch') + resource ('earnings data') + target ('specific employee'). However, it doesn't explicitly distinguish this from sibling tools like 'fetch_employee_paystatement_details' or 'fetch_employee_details', which might also retrieve employee financial information.

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 guidance on when to use this tool versus alternatives. It doesn't mention sibling tools like 'fetch_employee_paystatement_details' or 'fetch_employee_details', nor does it explain what distinguishes 'earnings data' from other employee financial data. The only usage context is in the Args section about parameter defaults, which doesn't address tool selection.

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

fetch_employee_local_taxesB

Fetch local taxes for a specific employee.

Args: company_id: Optional company ID (string or integer). If not provided, uses the first company ID from configuration. employee_id: Employee ID (string or integer) to get local taxes for.

ParametersJSON Schema
NameRequiredDescriptionDefault
company_idNo
employee_idNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

B3.2/5.0
Behavior2/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 states it 'fetches' data (implying read-only), but doesn't mention authentication requirements, rate limits, error conditions, or what the output contains. For a tool that accesses potentially sensitive employee tax data, this lack of behavioral context is a significant gap, though not contradictory.

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 perfectly structured and concise. The first sentence states the core purpose clearly. The Args section efficiently documents parameters with just enough context. Every sentence earns its place with no wasted words, and information is front-loaded appropriately.

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 that there's an output schema (which handles return values), no annotations, and only 2 parameters with 0% schema coverage, the description is moderately complete. It covers the basic purpose and parameter semantics adequately but lacks behavioral context and usage guidelines. For a tool accessing sensitive employee data, more completeness would be expected, but the output schema reduces the burden somewhat.

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 description coverage is 0%, so the description must compensate. It adds meaningful context for both parameters: company_id is optional with a default behavior (uses first company from config), and employee_id specifies it's 'to get local taxes for'. This clarifies purpose beyond the schema's type definitions. However, it doesn't explain format constraints or provide examples, keeping it from a perfect score.

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 verb 'fetch' and the resource 'local taxes for a specific employee', making the purpose immediately understandable. It distinguishes from siblings like fetch_employee_details or fetch_employee_earnings by specifying the exact data type (local taxes). However, it doesn't explicitly differentiate from all siblings (e.g., fetch_employee_paystatement_details might also contain tax info), so it's not a perfect 5.

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 guidance on when to use this tool versus alternatives. It doesn't mention when to choose this over fetch_employee_details (which might include tax info) or fetch_employee_paystatement_details, nor does it specify prerequisites or context for usage. The only implicit guidance is that it's for local taxes specifically, but no explicit alternatives or exclusions are stated.

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

fetch_employee_paystatement_detailsB

Fetch pay statement details for a specific employee, year and check date.

Args: company_id: Optional company ID (string or integer). If not provided, uses the first company ID from configuration. employee_id: Employee ID (string or integer) to get pay statement details for. year: The year to get pay statement details for. check_date: The check date to get pay statement details for (format: MM/DD/YYYY).

ParametersJSON Schema
NameRequiredDescriptionDefault
company_idNo
employee_idNo
yearNo
check_dateNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

B3.1/5.0
Behavior2/5

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

No annotations are provided, so the description carries full burden for behavioral disclosure. While 'Fetch' implies a read-only operation, the description doesn't address important behavioral aspects like authentication requirements, rate limits, error conditions, or what happens when parameters are invalid. It mentions a default behavior for company_id but provides minimal operational context.

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

Conciseness4/5

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

The description is efficiently structured with a clear purpose statement followed by a parameter-by-parameter explanation. Each sentence serves a specific purpose without redundancy. The formatting with 'Args:' section makes it easy to scan, though the parameter explanations could be slightly more detailed given the lack of schema descriptions.

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 that there's an output schema (which handles return values), 0% schema description coverage, and no annotations, the description does an adequate job covering the basic purpose and parameters. However, for a tool that likely accesses sensitive payroll data, it should provide more context about authentication, data sensitivity, and error handling to be truly complete.

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 0% schema description coverage, the description provides essential semantic context for all 4 parameters that the schema lacks. It explains that company_id is optional with a default behavior, identifies employee_id as the target employee, clarifies year as the period for pay statements, and specifies the exact date format for check_date. This significantly compensates for the schema's lack of 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 ('Fetch pay statement details') and target resource ('for a specific employee, year and check date'), making the purpose unambiguous. However, it doesn't explicitly differentiate this tool from sibling tools like fetch_employee_earnings or fetch_employee_details, which likely retrieve different types of employee financial data.

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 guidance on when to use this tool versus alternatives. With sibling tools like fetch_employee_earnings and fetch_employee_details available, there's no indication of what distinguishes this pay statement details tool from those other employee data retrieval tools.

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

fetch_employeesC

Fetch all employees for a company.

Args: company_id: Optional company ID (string or integer). If not provided, uses the first company ID from configuration.

ParametersJSON Schema
NameRequiredDescriptionDefault
company_idNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

C2.9/5.0
Behavior2/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 mentions the default behavior for company_id but lacks critical details such as whether this is a read-only operation, potential rate limits, authentication requirements, pagination, or what happens on errors. For a tool fetching all employees, this leaves significant gaps in understanding its behavior.

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

Conciseness4/5

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

The description is front-loaded with the core purpose in the first sentence, followed by parameter details in a structured 'Args' section. It avoids redundancy and is appropriately sized for a simple tool, though it could be slightly more concise by integrating the parameter explanation more seamlessly.

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 the tool's low complexity (1 optional parameter) and the presence of an output schema (which handles return values), the description is minimally adequate. However, it lacks behavioral context (e.g., safety, performance) and sibling differentiation, making it incomplete for optimal agent use despite the structured support.

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 description adds meaningful context for the single parameter (company_id), explaining its optional nature and default behavior, which compensates for the 0% schema description coverage. However, it doesn't elaborate on format constraints (e.g., valid ID ranges) or implications of using null, keeping it at a baseline level.

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 tool's purpose with a specific verb ('fetch') and resource ('all employees for a company'), making it immediately understandable. However, it doesn't explicitly distinguish this tool from its siblings (e.g., fetch_employee_details, fetch_employee_earnings), which would require clarification on scope differences.

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 guidance on when to use this tool versus alternatives like fetch_employee_details or fetch_employee_earnings. It mentions a default behavior (using first company ID if none provided) but doesn't specify prerequisites, exclusions, or comparative contexts with sibling tools.

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.

  1. 6 tool updatesv1.0.0
    • Changedfetch_company_codes1 field changed
      • addedInput schema / title
        Added value: +"fetch_company_codesArguments"
    • Changedfetch_employee_details1 field changed
      • addedInput schema / title
        Added value: +"fetch_employee_detailsArguments"
    • Changedfetch_employee_earnings1 field changed
      • addedInput schema / title
        Added value: +"fetch_employee_earningsArguments"
    • Changedfetch_employee_local_taxes1 field changed
      • addedInput schema / title
        Added value: +"fetch_employee_local_taxesArguments"
    • Changedfetch_employee_paystatement_details1 field changed
      • addedInput schema / title
        Added value: +"fetch_employee_paystatement_detailsArguments"
    • Changedfetch_employees1 field changed
      • addedInput schema / title
        Added value: +"fetch_employeesArguments"
  2. 6 tool updates
    • First observedfetch_company_codes
    • First observedfetch_employee_details
    • First observedfetch_employee_earnings
    • First observedfetch_employee_local_taxes
    • First observedfetch_employee_paystatement_details
    • First observedfetch_employees

TDQS

A3.6/5.0

Scored across 6 tools

Disambiguation5/5

Each tool has a clearly distinct purpose targeting specific resources: company codes, employee details, employee earnings, employee local taxes, employee pay statements, and all employees. No overlap exists between these functions, making tool selection unambiguous.

Naming Consistency5/5

All tools follow a consistent 'fetch_[resource]_[detail]' snake_case pattern (e.g., fetch_employee_details, fetch_employee_earnings). This predictable naming convention makes the tool set easy to navigate and understand.

Tool Count5/5

With 6 tools, this server is well-scoped for HR/payroll operations. Each tool serves a distinct purpose in the employee and company data domain, providing a focused yet comprehensive surface without being overwhelming.

Completeness4/5

The tool set covers key read operations for employee and company data, but lacks write/update capabilities (e.g., creating employees, updating details) and broader payroll actions. For a read-only API surface, it's reasonably complete, though agents cannot perform full CRUD workflows.

Maintenance

ActivityInactive
ResponsivenessNo issues

Related MCP Connectors

Related MCP Servers

  • F
    license
    Not graded
    quality
    D
    maintenance
    An MCP Server that provides access to Personio's HR and personnel data through the Personnel API, allowing interaction with employee records, HR systems, and personnel management functions.
    -
  • A
    license
    Not graded
    quality
    D
    maintenance
    This project builds a read-only MCP server. For full read, write, update, delete, and action capabilities and a simplified setup, check out our free CData MCP Server for Paylocity (beta): https://www.cdata.com/download/download.aspx?sku=KPZK-V&type=beta
    MIT
  • A
    license
    A
    quality
    C
    maintenance
    MCP server for PrismHR, enabling AI agents to automate payroll, benefits, compliance, and billing tasks with verified-schema tools and scope-gated consent.
    18
    23 PyPI
    4
    MIT