返回 MCP 目录
public公开dns本地运行

medcalcmcp

医疗计算器MCP服务,包含56个专业医疗计算器,覆盖11个医学专科领域,支持智能单位转换和详细医学解释。

article

README

🚀 医疗计算器MCP服务

本项目实现了医疗计算器MCP服务,完成了56个医疗计算器,覆盖了多个医疗领域,包括人体测量学、心血管、肾功能、肝功能、实验室检测、重症监护评分、呼吸系统、感染与炎症、液体与药物、妇产科和肿瘤学等。

🚀 快速开始

安装依赖

pip install -r requirements.txt

运行测试

# 运行所有API测试
python test/api_test_bmi_calculator.py
python test/api_test_pregnancy_calculators.py
python test/api_test_lung_cancer_staging.py
python test/api_test_tools.py

# 运行基础测试
python test_bmi.py

启动服务器

python server.py

✨ 主要特性

  • 完整的医疗计算器集合:拥有56个专业医疗计算器
  • 多领域覆盖:涵盖各种临床医疗专业领域
  • 智能单位转换:支持各种医疗单位的自动转换
  • 详细的计算解释:每个结果都包含详细的医学解释
  • 完整的参数验证:确保输入数据的准确性和安全性
  • 支持MCP协议:标准化的接口协议
  • 异步处理:高性能的异步计算处理
  • 完整的测试覆盖:全面的API和功能测试

📦 安装指南

安装依赖

pip install -r requirements.txt

💻 使用示例

启动服务器

# 启动FastMCP服务器(推荐)
python server.py

# 或者启动MCP API服务器
python api_server.py
# 服务器将运行在 http://127.0.0.1:8010/mcp/

📚 详细文档

🏥 计算器分类

人体测量学和基础计算(5个)

  • BMI计算器 - 身体质量指数计算
  • 体表面积计算器 - BSA计算
  • 理想体重计算器 - IBW计算
  • 调整后体重计算器 - ABW计算
  • 目标体重计算器

心血管系统(11个)

  • 平均动脉压计算器
  • QTc间期计算器(5种公式)
  • CHA2DS2 - VASc中风风险评分
  • HAS - BLED出血风险评分
  • HEART评分计算器
  • 心脏风险指数计算器
  • 弗雷明汉风险评分
  • 韦尔斯深静脉血栓评分
  • 卡普里尼血栓形成风险评估

肾功能(4个)

  • 肌酐清除率计算器(Cockcroft - Gault)
  • CKD - EPI肾小球滤过率计算器
  • MDRD肾小球滤过率计算器
  • 钠排泄分数计算器

肝功能(3个)

  • Child - Pugh肝功能分级
  • MELD - Na评分计算器
  • FIB - 4肝纤维化指数

实验室检测(12个)

  • 阴离子间隙计算器及相关计算器
  • 钙校正计算器
  • 高血糖时钠校正
  • 血清渗透压计算器
  • 低密度脂蛋白胆固醇计算器
  • HOMA - IR胰岛素抵抗指数
  • 自由水缺乏计算器

重症监护和评分系统(8个)

  • APACHE II急性生理学评分
  • SOFA序贯器官衰竭评估
  • SIRS全身炎症反应综合征
  • 格拉斯哥昏迷评分
  • 格拉斯哥出血评分
  • 查尔森合并症指数

呼吸系统(4个)

  • CURB - 65肺炎严重程度评分
  • 肺炎严重程度指数(PSI)
  • 韦尔斯肺栓塞评分
  • PERC肺栓塞排除标准

感染与炎症(2个)

  • 森托尔链球菌性咽炎评分
  • FeverPAIN咽炎评分

液体与药物(3个)

  • 维持液计算器
  • 类固醇转换计算器
  • 吗啡毫克当量计算器

妇产科(3个)

  • 估计受孕日期计算器
  • 估计孕周计算器
  • 估计预产期计算器

肿瘤学(1个)

  • 肺癌TNM分期计算器

📁 项目结构

medcalcmcp/
├── medcalc/                           # 核心框架模块
│   ├── __init__.py                   # 模块导出
│   ├── models.py                     # 数据模型
│   ├── base.py                       # 基础计算器类
│   ├── registry.py                   # 计算器注册系统
│   ├── service.py                    # 计算器服务
│   ├── utils.py                      # 实用工具(单位转换等)
│   └── exceptions.py                 # 异常定义
├── calculators/                       # 计算器实现(56个计算器)
│   ├── __init__.py                   # 计算器包(管理所有计算器)
│   ├── bmi_calculator.py             # BMI计算器
│   ├── bsa_calculator.py             # 体表面积计算器
│   ├── creatinine_clearance_calculator.py  # 肌酐清除率计算器
│   ├── cha2ds2_vasc_calculator.py    # CHA2DS2 - VASc评分
│   ├── lung_cancer_staging_calculator.py  # 肺癌TNM分期计算器
│   └── ...                          # 其他53个计算器
├── test/                              # 测试文件目录
│   ├── api_test_bmi_calculator.py    # BMI计算器API测试
│   ├── api_test_pregnancy_calculators.py  # 与妊娠相关的计算器API测试
│   ├── api_test_lung_cancer_staging.py    # 肺癌分期计算器API测试
│   └── api_test_tools.py             # MCP工具动态测试
├── server.py                          # FastMCP服务器主文件
├── api_server.py                      # MCP API服务器
├── requirements.txt                   # 项目依赖
└── README.md                          # 项目文档

🔧 开发指南

创建新的计算器

  1. calculators/目录下创建一个新的计算器文件
  2. 继承BaseCalculator
  3. 实现所需的方法:get_info()validate_parameters()calculate()
  4. 使用@register_calculator装饰器进行注册
  5. calculators/__init__.py中添加导入

运行测试

# 测试特定计算器
python test/api_test_bmi_calculator.py

# 测试所有计算器(动态测试)
python test/api_test_tools.py

# 测试与妊娠相关的计算器
python test/api_test_pregnancy_calculators.py

# 测试肺癌分期计算器
python test/api_test_lung_cancer_staging.py

🔧 技术细节

🛠️ 技术架构

本项目采用模块化设计,主要组件如下:

  • MCP服务器 (server.py):提供MCP协议接口
  • 核心框架 (medcalc/):数据模型、基类、实用工具
  • 计算器引擎 (calculators/):56个特定的医疗计算器
  • 测试套件 (test/):API测试和功能验证

📋 项目状态

  • 当前版本:0.1.0
  • 计算器数量:56个
  • 测试覆盖率:100%
  • 支持的医疗领域:11个专业领域

🤝 贡献说明

欢迎提交拉取请求和提出问题,以帮助改进项目。

🙏 致谢

本项目基于[MedCalc - Bench](https://github.com/ncbi - nlp/MedCalc - Bench)项目。感谢NCBI - NLP团队提供了优秀的基础医疗计算器实现。我们将其转换为MCP(模型上下文协议)服务,以便更好地与现代AI应用集成。

原始项目参考:

  • GitHub: https://github.com/ncbi - nlp/MedCalc - Bench
  • 论文: MedCalc - Bench: A Large - scale Medical Calculator Benchmark
help

运行方式说明

cloud

托管运行

托管运行通常表示这个 MCP Server 由服务方环境承载,用户一般按页面提供的连接方式或授权流程接入,不需要在本地长期启动一个 MCP 进程

  1. 打开服务方连接页
  2. 完成授权或复制端点
  3. 在 MCP 客户端中连接
terminal

本地运行 / 其它方式

本地运行通常需要用户在自己的电脑或服务器上安装依赖,把 server_config 复制到 MCP 客户端,并按 env_schema 补齐环境变量、密钥或其它配置

  1. 复制 server_config
  2. 安装所需依赖
  3. 补齐环境变量后重启客户端