使用说明
MCP服务器——脓毒症预后预测
概述 该存储库实现了一个模型上下文协议(MCP)服务器,该服务器公开了一个工具,该工具根据ICU/败血症患者的纵向实验室结果和元数据预测他们的临床结果。该工具对LLM隐藏了实现细节(如HTTP请求),并提供了一个干净的界面:提供患者记录,接收每日结果预测。
主要特点
- MCP工具:预测结果
- MCP工具:compute_lab_score
- 使用Zod验证输入模式;所有字段都是可选的,可以为null,默认为null
- 后端性别正常化(“男性”/“女性”→ “M”/“F”)
- FastAPI后端集成在http://localhost:8000/predict具有所需的checkpoint_path
- 基于文本的工具输出(JSON字符串化),以符合MCP响应类型
工具:predict_sepsis_result 描述 分析败血症患者的医疗数据,并预测其随时间的临床结果。
输入 该工具需要一个包含关键数据的对象,其中包含一组患者记录。每条记录代表患者的一个测量日,并接受以下字段:
- id:字符串|数字|空
- 开始日期:字符串(YYYY-MM-DD)|空
- 结束日期:字符串(YYYY-MM-DD)|空
- 账龄:数字|空
- 性别:“男”|“女”|空
- data:字符串(测量日期,YYYY-MM-DD)|空
- 可选数字实验室(所有数字|空):ALT、APTT、AST、Amilasa、CRP、联胆红素、肌酐、D-二聚体、铁蛋白、纤维蛋白原、葡萄糖、血红蛋白、LDG、淋巴细胞、单核细胞、中性粒细胞、血小板、钾、降钙素原、钠、总蛋白、尿素、白细胞
重要
- 该工具不接受请求负载中的Outcome或DaysBfOutcome。这些字段被有意从架构中排除,并将被拒绝。
- 允许缺少字段,默认为null。
输出解释 对于患者时间线中的每一天t,模型预测以下之一:
- 0=≤7天内无事件(患者仍住院)
- 1=≤7天内出院
- 2=≤7天内死亡
后端集成
- 端点:POSThttp://localhost:8000/predict
- 所需的身体形状: { “checkpoint_path”:“tsformer_best.pt”, “患者”:[…标准化记录…] }
- 性别值由工具自动映射:“男性”→ “M”、“女性”→ "F".Null保持为Null。
- 后端应清除响应中的任何NaN/Finity值(替换为null),以避免JSON序列化错误。
MCP工具请求示例 { “数据”:[ { “id”:“12345”, “开始日期”:“2025-01-10”, “结束日期”:“2025-01-20”, “衰老”:67, 性别:男 “数据”:“2025-01-12”, “ALT”:35.0, “APTT”:28.5, “AST”:22.0, C-反应蛋白:8.7, “肌酐”:1.1, “WBC”:7.8 } ] }
示例工具输出(文本) 患者分析完成。脓毒症预后预测可用。 { “预测”:[ {“id”:“12345”,“日期”:“2025-01-12”,“y_hat”:0} ], “meta”:{“model”:“tsformer_best.pt”} }
入门 先决条件
- Node.js 20+
- pnpm 9+(推荐)
- 在以下位置运行FastAPI后端http://localhost:8000具有/预测终点
安装依赖项 pnpm安装
在开发中运行 pnpm-dev
构建 pnpm构建
类型检查 pnpm类型检查
备注
- MCP服务器在src/index.ts中实现。工具描述包括一个详细的模式和示例。
- 服务器返回符合MCP的文本内容;JSON在返回之前被字符串化。
- 如果更改后端路径或检查点文件,请相应地更新src/index.ts。
许可证 专有/内部(酌情更新)。