模型上下文协议服务器

一个提供用户和项目管理工具及资源的模型上下文协议服务器。

  • by joelee17
  • JavaScript
  • 本地部署
  • 更新于
在 GitHub 查看 joelee17/workday-mcp-server

使用说明

MCP服务器

一种模型上下文协议(MCP)服务器,为管理用户和项目提供工具和资源。

特性

工具

  • get_user -按ID获取用户信息
  • list_users -列出所有用户
  • get_project -按ID获取项目信息
  • list_projects -列出所有项目
  • create_user -创建新用户

资源

  • users://list -所有用户的完整列表
  • projects://list -所有项目的完整列表

安装

  1. 安装依赖项:
npm install
  1. 构建TypeScript代码:
npm run build
  1. 启动服务器:
npm start

发展

在开发模式下运行并自动重建:

npm run dev

用法

此MCP服务器在stdio传输上运行。它可以与MCP兼容的客户端集成,如Claude Desktop或支持模型上下文协议的其他应用程序。

工具调用示例

  1. 列出所有用户:
{
  "name": "list_users",
  "arguments": {}
}
  1. 获取特定用户:
{
  "name": "get_user",
  "arguments": {
    "id": 1
  }
}
  1. 创建新用户:
{
  "name": "create_user",
  "arguments": {
    "name": "David",
    "email": "david@example.com"
  }
}

资源访问示例

访问用户资源:

uri: users://list

访问项目资源:

uri: projects://list

配置

服务器当前使用存储在内存中的示例数据。您可以修改 sampleData 对象在 src/index.ts 定制数据或与真实数据库集成。

建筑

  • 使用TypeScript构建
  • 使用官方MCP SDK(@modelcontextprotocol/sdk)
  • 支持工具(函数调用)和资源(数据访问)
  • 在stdio传输上运行,便于集成

许可证

麻省理工学院

可用工具

工作日工具

  1. get_workday_worker

    • 说明:使用工人ID从Workday API获取工人信息
    • 参数:workerId(字符串)-Workday系统中的workerId
  2. 搜索_工作日_工人

    • 描述:在Workday中按姓名或其他条件搜索工人
    • 参数:searchTerm(字符串)-名称、部门等搜索词。
  3. list_workers

    • 描述:列出所有工人
    • 参数:限制(数量)-要列出的工人数量
  4. 创建一次性付款 ✨ 新

    • 描述:在Workday中为工人创建一次性工资单输入/支付
    • 参数:
      • workerId(字符串,必填)-Workday系统中的workerId
      • payComponentId(字符串,必填)-支付类型的支付组件ID
      • startDate(字符串,必填)-YYYY-MM-DD格式的开始日期
      • endDate(字符串,必填)-YYYY-MM-DD格式的结束日期
      • 金额(数字,必填)-付款金额
      • positionId(字符串,可选)-支付组件需要的职位ID
      • currency(字符串,可选)-货币代码(默认为支付组货币)
      • comment(字符串,可选)-付款的可选注释
      • runCategorys(数组,可选)-运行类别ID
      • 工作标签(数组,可选)-用于成本分配的工作标签ID

示例用法

// Create a one-time bonus payment
{
  "workerId": "21001",
  "payComponentId": "BONUS",
  "startDate": "2024-01-01",
  "endDate": "2024-01-31",
  "amount": 1000.00,
  "comment": "Q4 Performance Bonus",
  "currency": "USD"
}

其他工具

  1. get_weather

    • 描述:获取特定城市的当前天气和预报
    • 参数:城市(字符串)-城市名称
  2. get_user、list_users、get_project、list_projects、create_user

    • 说明:用于演示的CRUD操作示例

配置

Workday工具需要以下环境变量:

  • WORKDAY_BEARER_TOKEN:您的Workday API承载令牌
  • WORKDAY_BASE_URL:您的Workday租户基本URL(例如。,https://wcpdev-services1.wd101.myworkday.com)
  • WORKDAY_TENANT:您的Workday租户ID(例如wday_wcpdev11)

使用的API端点

  • 工人: /api/staffing/v6/{tenant}/workers
  • 工资输入: /ccx/api/payroll/v2/{tenant}/payrollInputs