TypeScript MCP Server

TypeScript MCP Server

使用简单的 XPayroll API 测试 MCP SDK

csainath0210

开发者工具
访问服务器

README

TypeScript MCP 服务器

一个使用 TypeScript 和 Express 实现的用于薪资管理的模型上下文协议 (MCP) 服务器。

什么是 MCP?

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

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

功能

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

要求

  • Node.js 18+
  • npm 或 yarn

安装

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

运行服务器

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

npm run dev

对于生产环境:

npm run build
npm start

服务器默认将在端口 8089 上运行。 您可以通过在 .env 文件中设置 PORT 环境变量来更改此设置。

身份验证

此服务器支持两种 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. 读取 greeting 资源
  4. 使用可用的工具
  5. 获取 ask-question 提示

与 LLM 一起使用

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

许可证

MIT

推荐服务器

Playwright MCP Server

Playwright MCP Server

一个模型上下文协议服务器,它使大型语言模型能够通过结构化的可访问性快照与网页进行交互,而无需视觉模型或屏幕截图。

官方
精选
TypeScript
Magic Component Platform (MCP)

Magic Component Platform (MCP)

一个由人工智能驱动的工具,可以从自然语言描述生成现代化的用户界面组件,并与流行的集成开发环境(IDE)集成,从而简化用户界面开发流程。

官方
精选
本地
TypeScript
MCP Package Docs Server

MCP Package Docs Server

促进大型语言模型高效访问和获取 Go、Python 和 NPM 包的结构化文档,通过多语言支持和性能优化来增强软件开发。

精选
本地
TypeScript
Claude Code MCP

Claude Code MCP

一个实现了 Claude Code 作为模型上下文协议(Model Context Protocol, MCP)服务器的方案,它可以通过标准化的 MCP 接口来使用 Claude 的软件工程能力(代码生成、编辑、审查和文件操作)。

精选
本地
JavaScript
@kazuph/mcp-taskmanager

@kazuph/mcp-taskmanager

用于任务管理的模型上下文协议服务器。它允许 Claude Desktop(或任何 MCP 客户端)在基于队列的系统中管理和执行任务。

精选
本地
JavaScript
mermaid-mcp-server

mermaid-mcp-server

一个模型上下文协议 (MCP) 服务器,用于将 Mermaid 图表转换为 PNG 图像。

精选
JavaScript
Jira-Context-MCP

Jira-Context-MCP

MCP 服务器向 AI 编码助手(如 Cursor)提供 Jira 工单信息。

精选
TypeScript
Linear MCP Server

Linear MCP Server

一个模型上下文协议(Model Context Protocol)服务器,它与 Linear 的问题跟踪系统集成,允许大型语言模型(LLM)通过自然语言交互来创建、更新、搜索和评论 Linear 问题。

精选
JavaScript
Sequential Thinking MCP Server

Sequential Thinking MCP Server

这个服务器通过将复杂问题分解为顺序步骤来促进结构化的问题解决,支持修订,并通过完整的 MCP 集成来实现多条解决方案路径。

精选
Python
Curri MCP Server

Curri MCP Server

通过管理文本笔记、提供笔记创建工具以及使用结构化提示生成摘要,从而实现与 Curri API 的交互。

官方
本地
JavaScript