Keka HR集成服务器

一个为Keka HR平台提供员工管理、考勤、请假、工资单和假期API集成的MCP服务器,支持OAuth2认证和模块化代码结构。

  • by KaranThink41
  • JavaScript
  • 本地部署
  • 1 星标
  • 更新于
在 GitHub 查看 KaranThink41/Keka_Official_MCP

使用说明

Keka MCP服务器

用于与Keka HR平台集成的模型上下文协议(MCP)服务器。该服务器将Keka员工管理、考勤、休假、工资单和假期API作为MCP工具公开,具有强大的OAuth2身份验证和模块化代码结构。


特性

  • OAuth2身份验证:使用OAuth2凭据安全连接到Keka。
  • 基于工具的API:将Keka HR功能作为MCP工具公开,便于集成和自动化。
  • 模块化结构:按照最佳实践建模的干净、可扩展的TypeScript代码库。
  • Docker支持:已准备好使用Dockerfile进行容器化部署。

环境变量

创建一个 .env 项目根目录中的文件包含以下内容:

KEKA_CLIENT_ID=your_keka_client_id_here
KEKA_CLIENT_SECRET=your_keka_client_secret_here
KEKA_REFRESH_TOKEN=your_keka_refresh_token_here
# Optional:
KEKA_API_BASE_URL=https://master.kekademo.com/api/v1

可用工具

1. keka_get_employee_profile

获取特定员工的详细个人资料信息。

  • 论据:
    • employee_id (string,必填):员工的UUID。
  • 例子:
{
  "employee_id": "EMP123456"
}

2. keka_get_attendance

获取某个日期范围内员工的考勤记录。

  • 论据:
    • employee_id (字符串,必填)
    • start_date (字符串,必填,格式:YYYY-MM-DD)
    • end_date (字符串,必填,格式:YYYY-MM-DD)
    • page (数字,可选,默认值:1)
    • page_size (数字,可选,默认值:100)
  • 例子:
{
  "employee_id": "EMP123456",
  "start_date": "2024-01-01",
  "end_date": "2024-01-31",
  "page": 1,
  "page_size": 50
}

3. keka_apply_leave

为员工申请休假。

  • 论据:
    • employee_id (字符串,必填)
    • start_date (字符串,必填)
    • end_date (字符串,必填)
    • leave_type (字符串,必填,离开类型UUID)
    • reason (字符串,必填)
  • 例子:
{
  "employee_id": "EMP123456",
  "start_date": "2024-04-10",
  "end_date": "2024-04-12",
  "leave_type": "ANNUAL",
  "reason": "Family function"
}

4. keka_get_leave_balances

获取员工所有假期余额的合并视图。

  • 论据:
    • employee_id (字符串,必填)
  • 例子:
{
  "employee_id": "EMP123456"
}

5. keka_get_payslip

获取员工特定月份和年份的工资单。

  • 论据:
    • employee_id (字符串,必填)
    • month (字符串,必填,例如“4”表示四月)
    • year (字符串,必填,例如“2024”)
  • 例子:
{
  "employee_id": "EMP123456",
  "month": "4",
  "year": "2024"
}

6. keka_get_upcoming_holidays

获取即将到来的公司假期列表。

  • 论据: 无
  • 例子:
{}

7. keka_view_leave_history

查看员工的休假历史记录。

  • 论据:
    • employee_id (字符串,必填)
    • start_date (字符串,可选)
    • end_date (字符串,可选)
    • status (字符串,可选)
    • page (数字,可选,默认值:1)
    • page_size (数字,可选,默认值:100)
  • 例子:
{
  "employee_id": "EMP123456",
  "start_date": "2024-01-01",
  "end_date": "2024-04-01",
  "status": "APPROVED",
  "page": 1,
  "page_size": 20
}

8. keka_get_leave_types

获取可用休假类型列表。

  • 论据: 无
  • 例子:
{}

用法

本地(Node.js)

  1. 安装依赖项:
    npm install
    
  2. 构建TypeScript项目:
    npm run build
    
  3. 启动MCP服务器:
    node build/index.js
    

码头工人

  1. 构建Docker镜像:
    docker build -t keka-mcp .
    
  2. 运行容器(使用.env文件):
    docker run --env-file .env keka-mcp
    

项目结构

  • src/index.ts -主要MCP服务器实现、工具定义、Keka API集成。
  • .env --Keka OAuth2凭据的环境变量。
  • Dockerfile --集装箱化支持。
  • package.json --项目依赖关系和脚本。

贡献

欢迎提交请求和问题!请确保任何新工具或功能都遵循模块化处理程序风格,并包括强大的错误处理。


许可证

麻省理工学院


参考


该项目是根据MCP集成的最佳实践生成和维护的。