mcpField
M
mcp-clinical-reasoner

mcp-clinical-reasoner

本地服务
github.com/pcmedsinge健康医疗019 周前更新

关于 mcp-clinical-reasoner

mcp-clinical-reasoner 是用于临床药理检查的 MCP 服务,面向研究和教育用途。它结合 RxNav 查询与内置剂量、过敏原参考表,且不处理 PHI。

主要功能

  1. 01解析药品名称和 RxNorm CUI
  2. 02检查 2–10 种药物间的相互作用
  3. 03核对 20 种常见药物的剂量
  4. 04检查 12 类过敏原的交叉反应
  5. 05通过 LangFuse 跟踪工具调用

适用场景

  1. 01审查潜在的药物相互作用
  2. 02根据参考范围核对拟定剂量
  3. 03筛查用药选择中的过敏冲突

MCP 相关

它通过 stdio 或 SSE 向 MCP 客户端提供四种临床药理工具。其中两种调用 NLM RxNav REST API,剂量和过敏检查则使用内置规则表。

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

mcp.json · 通用配置
{
"mcpServers": {
"pcmedsinge-mcp-clinical-reasoner": {
"command": "uvx",
"args": [
"mcp-clinical-reasoner"
]
}
}
}
启动命令uvx mcp-clinical-reasoner

本地服务需要在你的电脑上安装运行环境(如 Node.js 18+)。各客户端的配置文件位置不同,请参考客户端文档。

安装包
pypimcp-clinical-reasoner1.0.0

工具

还没有获取到工具列表

本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。

详细介绍

mcp-clinical-reasoner

属于 fhir-mcp-suite — v1.0.0

一个 MCP 服务,提供四种临床药理学工具,由免费的 NLM RxNav REST API 和内置的基于规则的 参考表提供支持。无需 API 密钥。不处理 PHI。

许可证


工具

工具传输方式描述
lookup_drugRxNav API解析药物名称或 RxNorm CUI → 标准名称、RxCUI、药物类别归属、剂量参考
check_drug_interactionsRxNav API检测 2–10 个 RxNorm CUI 之间的药物相互作用(DDI),并按严重程度排序
check_dose基于规则根据内置的约 20 种常见药物表,验证拟定的单次剂量(mg)
check_allergy_conflicts基于规则使用内置表检查与 12 种过敏原类别的交叉反应

架构

Claude Desktop / LangGraph agent
          │  MCP (stdio or SSE)
          ▼
 mcp-clinical-reasoner  (:8002 in SSE mode)
    ├── lookup_drug ────────────────► rxnav.nlm.nih.gov/REST
    ├── check_drug_interactions ────► rxnav.nlm.nih.gov/REST
    ├── check_dose ─────────────────► built-in DOSE_TABLE (20 drugs)
    └── check_allergy_conflicts ────► built-in ALLERGEN_CLASSES (12 classes)

所有工具调用均通过 LangFuse 进行追踪(按会话统计延迟和响应字节数)。


内置剂量表

涵盖 20 种常见药物:acetaminophen、ibuprofen、aspirin、naproxen、metformin、 lisinopril、atorvastatin、metoprolol、amlodipine、omeprazole、amoxicillin、 azithromycin、warfarin、furosemide、sertraline、gabapentin、clopidogrel、 hydrochlorothiazide、prednisone、albuterol。

自动解析品牌别名(例如 "Tylenol" → acetaminophen, "Advil" → ibuprofen)。

内置过敏原类别

12 种类别:penicillin、cephalosporin、sulfonamide、nsaid、macrolide、 fluoroquinolone、statin、ace_inhibitor、angiotensin_receptor_blocker、 beta_blocker、thiazide_diuretic、tetracycline。


快速开始

# Install (uv workspace from repo root)
uv sync --all-packages

# Run (stdio, default)
uv run mcp-clinical-reasoner

# Run (SSE on port 8002)
MCP_TRANSPORT=sse uv run mcp-clinical-reasoner
环境变量
变量默认值描述
RXNAV_BASE_URLhttps://rxnav.nlm.nih.gov/RESTRxNav API 基础 URL
RXNAV_TIMEOUT_S30.0HTTP 超时时间(秒)
MCP_TRANSPORTstdiostdio 或 sse
MCP_HOST0.0.0.0SSE 绑定主机
MCP_PORT8002SSE 端口
LANGFUSE_PUBLIC_KEY(可选)LangFuse 追踪
LANGFUSE_SECRET_KEY(可选)LangFuse 追踪
LANGFUSE_HOST(可选)LangFuse 主机
LOG_LEVELINFO日志级别

Claude Desktop 配置

{
  "mcpServers": {
    "clinical-reasoner": {
      "command": "uv",
      "args": [
        "--directory", "/path/to/fhir-mcp-suite",
        "run", "--package", "mcp-clinical-reasoner",
        "mcp-clinical-reasoner"
      ]
    }
  }
}

测试

# Unit tests (36 tests, no network required)
uv run pytest packages/mcp-clinical-reasoner/tests/ -v -m "not integration and not eval"

# Offline eval (dose + allergy + error validation)
uv run python evals/mcp-clinical-reasoner/run_eval.py --tags dose allergy error

# Full eval suite (requires rxnav.nlm.nih.gov)
uv run python evals/mcp-clinical-reasoner/run_eval.py
评估结果(离线,无网络)
标签集用例数通过率
error6100%
dose + allergy12100%

免责声明

本服务仅供研究和教育用途。它不能 替代临床判断、药师审查或专业医疗建议。 所有剂量限值和交叉反应规则均依据一般成人参考资料, 必须针对每位患者进行个体化调整。


许可证

Apache-2.0 — 详见 LICENSE。

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。