工资管理MCP服务器

一个基于TypeScript和Express的模型上下文协议(MCP)服务器实现,专注于工资管理和员工信息访问。

  • by csainath0210
  • TypeScript
  • 本地部署
  • 1 星标
  • 更新于
在 GitHub 查看 csainath0210/payroll-mcp-server

使用说明

TypeScript MCP服务器

使用TypeScript和Express进行工资管理的模型上下文协议(MCP)服务器实现。

什么是MCP?

模型上下文协议(MCP)使AI模型能够以标准化的方式与外部系统交互。它提供了一个框架,用于定义LLM可用于执行任务的资源、工具和提示。

有关更多信息,请访问 模型上下文协议存储库.

特性

  • 为LLM交互实现MCP协议
  • 提供工资管理工具和员工信息访问
  • 使用Express进行HTTP处理
  • 支持服务器发送事件(SSE)进行实时通信
  • 包括用于测试的客户端示例

需求

  • Node.js 18+
  • npm或纱线

安装

  1. 克隆存储库
  2. 安装依赖项:
npm install
  1. 创建一个 .env 文件基于 .env.example 模板:
cp .env.example .env
  1. 更新 .env 使用API配置的文件:
# API configuration
BASE_URL=http://app.localopfin.com
PORT=8089

运行服务器

使用以下命令启动开发服务器:

npm run dev

生产:

npm run build
npm start

默认情况下,服务器将在端口8089上运行。您可以通过设置 PORT 环境变量 .env 文件。

认证

此服务器支持API请求的两种身份验证方法:

  1. 使用authId和authKey的API身份验证
  2. 使用partnerKey和clientKey进行合作伙伴身份验证

对于自定义身份验证需求,您可以修改 src/api.ts 文件。

API终点

  • GET /sse:MCP通信的服务器发送事件端点
  • POST /messages:客户端向MCP服务器发送消息的端点

可用资源

  • greeting://welcome:静态欢迎消息
  • users://{userId}:返回用户数据的动态资源

可用工具

  • view-people:使用员工ID查看特定人员的信息(需要authId和authKey身份验证)
  • view-all-people:查看具有可选筛选和分页功能的所有人员(同时支持使用authId/authKey的API身份验证或使用partnerKey/clientKey的合作伙伴身份验证)
  • getEmployeeInfo:一个简化的员工信息检索工具,根据员工ID返回基本员工数据(姓名、部门、角色)
  • calculatePayroll:根据工作时间和小时费率计算员工的工资(计算总工资、20%的税和净工资)

可用接口

该项目包括API响应的类型化接口:

  • ApiResponse<T>:具有数据、错误和状态字段的通用API响应包装
  • ApiConfig:使用baseUrl和可选标头配置API客户端
  • ApiCredentials:用于使用authId和authKey进行基于API的身份验证
  • PartnerCredentials:用于使用partnerKey和clientKey进行基于合作伙伴的身份验证

这些接口有助于确保使用API数据时的类型安全。

可用提示

  • ask-question:提问的提示模板

使用示例客户端进行测试

该存储库包括一个示例客户端,演示如何连接到MCP服务器并使用其资源、工具和提示。

要运行示例客户端(服务器已运行):

npm run client

这将:

  1. 连接到MCP服务器
  2. 列出可用资源、工具和提示
  3. 阅读问候语资源
  4. 使用可用的工具
  5. 获取提问提示

与LLM一起使用

此MCP服务器可以与支持MCP协议的LLM客户端一起使用。有关如何将LLM客户端连接到此服务器的信息,请参阅MCP文档。

许可证

麻省理工学院