健康数据MCP服务器

一个通过本地HTTP端点获取健康计划数据并通过标准输入输出暴露MCP工具的小型TypeScript服务器。

  • by fountainheadz-666
  • TypeScript
  • 本地部署
  • 更新于
在 GitHub 查看 fountainheadz-666/alight-mcp-server

使用说明

点燃mcp服务器

点燃mcp

小型MCP(模型上下文协议)助手,从本地HTTP端点获取健康计划数据,并通过stdio公开MCP工具。

此存储库包含一个用TypeScript实现的小型MCP服务器,该服务器调用一个本地服务,该服务在以下位置公开健康数据:

  • /getHealthDatachange --返回健康数据(计划级别)
  • getHealthDatachange/{user} --返回特定用户的健康数据

目录

  • src/index.ts --入口点(MCP服务器和工具处理程序)
  • build/ --编译的JavaScript输出(由创建 npm run build)
  • package.json --项目清单(构建脚本)

快速启动

初始化一个新的npm项目 NPM热量-y

安装依赖项 npm安装@modelcontextprotocol/sdkzod@3 npm安装-D@types/node类型脚本**

先决条件

  • Node.js(推荐16+)
  • 正在运行的健康数据服务 localhost:3000 (此项目查询该服务)

构建

从项目根目录运行:

npm install
npm run build

运行(本地)

构建后,您可以直接运行编译后的服务器:

node build/index.js

或者使用curl调用底层健康数据端点进行快速检查:

# plan-level
curl -sS http://localhost:3000/getHealthDatachange | jq .

# user-level
curl -sS http://localhost:3000/getHealthDatachange/999999999 | jq .

MCP工具提供什么

  • get-initial-healthdata-assignment --返回一条人性化的消息,描述计划的初始值(OPT-ID、CV-CAT-ID、PR-AT)。
  • get-healthdata-assignment-user --返回给定用户id的健康数据(当前实现中打印得很漂亮的JSON)。

类型和形状

该项目使用一组描述健康数据形状的接口(InitialValue、UpdatedCotextValue、HealthData)。初始值示例:

export const initialValueMedical = {
  contextId: 4004,
  actualOptid: 3501,
  actualCoverageCategory: 20,
  actualcoverageId: 3501,
  actualPriceAmount: 500,
};

注意事项和故障排除

  • 如果 curl http://localhost:3000/getHealthDatachange 返回连接被拒绝,启动支持健康数据服务——此项目依赖于该服务获取数据。
  • 这 src/index.ts 文件格式响应,并且当前期望远程API返回上面显示的JSON形状。
  • 如果你想进行离线测试,可以考虑添加 src/mock-healthdata.json 文件和一个小回退 makeNWSRequest.

下一步你可能想让我做

  • 添加 src/types.ts 并导入接口(我之前已经准备好了)。
  • 将最后的回复保留为 mock/ 离线测试运行的文件。
  • 向添加启动脚本 package.json (例如 start: node build/index.js).