mcpPaylocity MCP服务器
](https://smithery.ai/server/@mz462/mcppaylocity)
模型上下文协议(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 参数
未来的实施
以下端点将在未来的更新中实现:
- \[\]更高层次的见解(如离职率、部门员工人数、费率比较等)
配置
服务器要求设置以下环境变量:
PAYLOCITY_CLIENT_ID-您的Paylocity API客户IDPAYLOCITY_CLIENT_SECRET-您的Paylocity API客户机密PAYLOCITY_COMPANY_IDS-用逗号分隔的公司ID列表PAYLOCITY_ENVIRONMENT-要使用的API环境(production或testing)MODEL_COST_PRIORITY-模型选择的可选成本优先级MODEL_SPEED_PRIORITY-可选的速度优先级用于型号选择MODEL_INTELLIGENCE_PRIORITY-模型选择的可选智能优先级MODEL_HINTS-可选逗号分隔的模型名称提示
这些可以在 .env 项目根目录中的文件。
MCP握手
启动时,服务器响应MCP initialize 带有握手数据的请求 包含其功能、指令、协议版本和服务器信息。这 说明字段描述了如何使用Paylocity资源和工具。
安全
⚠️ 重要:此应用程序将身份验证令牌缓存在 src/mcppaylocity/access_token/ 目录。这些文件包含敏感凭据,应 从不 致力于版本控制。
存储库包括以下路径 .gitignore,但请验证在推送更改时没有意外提交令牌文件。
如果您意外提交了令牌文件,请按照以下步骤操作:
- 从存储库中删除文件:
git rm --cached src/mcppaylocity/access_token/token.json src/mcppaylocity/access_token/token_info.txt - 提交删除:
git commit -m "Remove accidentally committed token files" - 考虑轮换您的Paylocity API凭证,因为它们可能已被泄露
快速启动
安装
克劳德桌面
在MacOS上: ~/Library/Application\ Support/Claude/claude_desktop_config.json 在Windows上: %APPDATA%/Claude/claude_desktop_config.json
Development/Unpublished Servers Configuration
"mcpServers": {
"mcpPaylocity": {
"command": "uv",
"args": [
"--directory",
"/path/to/mcpPaylocity",
"run",
"mcppaylocity"
]
}
}Published Servers Configuration
"mcpServers": {
"mcpPaylocity": {
"command": "uvx",
"args": [
"mcppaylocity"
]
}
}发展
建筑与出版
准备分发包裹:
- 同步依赖关系并更新锁文件:
uv sync- 构建包分发:
uv build这将在 dist/ 目录。
- 发布到PyPI:
uv publish注意:您需要通过环境变量或命令标志设置PyPI凭据:
- 令牌:
--token或UV_PUBLISH_TOKEN - 或用户名/密码:
--username/UV_PUBLISH_USERNAME和--password/UV_PUBLISH_PASSWORD
调试
由于MCP服务器在stdio上运行,调试可能具有挑战性。为了达到最佳调试效果 经验,我们强烈建议使用 MCP检查员.
您可以通过以下方式启动MCP检查器 使用此命令:
npx @modelcontextprotocol/inspector uv --directory /path/to/mcpPaylocity run mcppaylocity启动后,检查器将显示一个URL,您可以在浏览器中访问该URL以开始调试。
建筑
服务器由以下组件构建:
- PaylocityClient -处理与Paylocity API的通信
- 客户, -管理身份验证令牌,包括缓存和续订
- FastMCP服务器 -通过MCP资源和工具公开Paylocity数据
许可证
MIT许可证
版权所有(c)2024邹美杰(@梅祖)
特此免费向任何获得副本的人授予许可 本软件和相关文档文件(“软件”),以处理 在软件中不受限制,包括但不限于权利 使用、复制、修改、合并、发布、分发、再许可和/或销售 软件的副本,并允许软件的接收者 根据以下条件提供:
上述版权声明和本许可声明应包含在所有 软件的副本或实质性部分。
软件按“原样”提供,不提供任何形式的明示或明示担保 隐含的,包括但不限于适销性保证, 适用于特定目的且不造成伤害。在任何情况下 作者或版权持有人对任何索赔、损害赔偿或其他 因以下原因产生的责任,无论是在合同、侵权或其他诉讼中, 出于或与软件、使用或其他交易有关 软件。
