TypeScript MCP服务器
使用TypeScript和Express进行工资管理的模型上下文协议(MCP)服务器实现。
什么是MCP?
模型上下文协议(MCP)使AI模型能够以标准化的方式与外部系统交互。它提供了一个框架,用于定义LLM可用于执行任务的资源、工具和提示。
有关更多信息,请访问 模型上下文协议存储库.
特性
- 为LLM交互实现MCP协议
- 提供工资管理工具和员工信息访问
- 使用Express进行HTTP处理
- 支持服务器发送事件(SSE)进行实时通信
- 包括用于测试的客户端示例
需求
- Node.js 18+
- npm或纱线
安装
- 克隆存储库
- 安装依赖项:
npm install- 创建一个
.env文件基于.env.example模板:
cp .env.example .env- 更新
.env使用API配置的文件:
# API configuration
BASE_URL=http://app.localopfin.com
PORT=8089运行服务器
使用以下命令启动开发服务器:
npm run dev生产:
npm run build
npm start默认情况下,服务器将在端口8089上运行。您可以通过设置 PORT 环境变量 .env 文件。
认证
此服务器支持API请求的两种身份验证方法:
- 使用authId和authKey的API身份验证
- 使用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:具有数据、错误和状态字段的通用API响应包装ApiConfig:使用baseUrl和可选标头配置API客户端ApiCredentials:用于使用authId和authKey进行基于API的身份验证PartnerCredentials:用于使用partnerKey和clientKey进行基于合作伙伴的身份验证
这些接口有助于确保使用API数据时的类型安全。
可用提示
ask-question:提问的提示模板
使用示例客户端进行测试
该存储库包括一个示例客户端,演示如何连接到MCP服务器并使用其资源、工具和提示。
要运行示例客户端(服务器已运行):
npm run client这将:
- 连接到MCP服务器
- 列出可用资源、工具和提示
- 阅读问候语资源
- 使用可用的工具
- 获取提问提示
与LLM一起使用
此MCP服务器可以与支持MCP协议的LLM客户端一起使用。有关如何将LLM客户端连接到此服务器的信息,请参阅MCP文档。
许可证
麻省理工学院
