Mcp Clinical Reasoner

io.github.pcmedsinge由 GitHub 账号 pcmedsinge 发布v1.0.0更新于 Oct 24, 2026

Drug interactions (FDA), dose range check, allergy cross-reactivity. No PHI processed.

发布方自己的服务:[PREPROD] Clinical.ly Research Suite

已验证STDIO仅桌面知识与记忆AI 与机器学习

概览

AI 生成的概览

本地 MCP 服务器,为助手提供四项临床药理工具:药品查询、药物相互作用检查、剂量范围检查与过敏交叉反应检查。

可以做什么
按药品名称或 RxNorm CUI 查询药品,经 NLM RxNav API 返回规范名称、RxCUI、药物类别与剂量参考,并自动解析品牌别名(如 Tylenol 对应 acetaminophen)。通过同一 API 检查 2 至 10 个 RxNorm CUI 之间的药物相互作用,并按严重程度排序。依据内置约 20 种常用药品的剂量表,校验拟用的单次剂量(毫克)。依据内置的 12 个过敏原类别(如青霉素、磺胺类、NSAID)检查过敏交叉反应。
适用场景
适合研究、教学或原型开发场景,让助手快速参考药品名称、相互作用、成人剂量范围或过敏交叉反应。不能替代临床判断、药师审核或专业医疗建议。
运行要求
作为本地 Python 进程运行,通过 uv 从 PyPI 包安装;默认使用 stdio 传输,也可选用 8002 端口的 SSE 模式。药品查询与相互作用检查需要访问 RxNav REST API 的网络连接,无需 API 密钥。可选环境变量用于配置 RxNav 基础地址与超时、传输方式、主机、端口、日志级别以及 LangFuse 追踪密钥。
安装前请注意
剂量上限与交叉反应规则来自一般成人参考资料,须针对每位患者个体化调整;README 声明该服务器仅供研究与教学用途,不能替代临床判断或药师审核。药品查询与相互作用请求会发送至第三方 NLM RxNav API。若通过 LANGFUSE_PUBLIC_KEY 与 LANGFUSE_SECRET_KEY 启用 LangFuse 追踪,工具调用会被记录延迟与响应大小。README 声明不处理 PHI。

安装

在 SourceWeft 中

  1. 打开 控制台中的 Mcp Clinical Reasoner,将其添加到工作区。
  2. 为需要使用其工具的对话启用该服务。

Desktop only,通过 STDIO。 STDIO 服务会启动本地进程,因此需要 SourceWeft 桌面宿主。

其他 MCP 客户端

参照 仓库 中的启动说明。

README

mcp-clinical-reasoner

Part of fhir-mcp-suite — v1.0.0

An MCP server providing four clinical pharmacology tools backed by the free NLM RxNav REST API and a built-in rule-based reference table. No API key required. No PHI processed.

[License]


Tools

ToolTransportDescription
lookup_drugRxNav APIResolve drug name or RxNorm CUI → canonical name, RxCUI, drug-class membership, dose reference
check_drug_interactionsRxNav APIDetect drug-drug interactions (DDIs) for 2–10 RxNorm CUIs, sorted by severity
check_doseRule-basedValidate a proposed single dose (mg) against a built-in table of ~20 common drugs
check_allergy_conflictsRule-basedCross-reactivity check against 12 allergen classes using built-in table

Architecture

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)

All tool calls traced via LangFuse (session-scoped, latency + response bytes).


Built-in Dose Table

Covers 20 common drugs: acetaminophen, ibuprofen, aspirin, naproxen, metformin, lisinopril, atorvastatin, metoprolol, amlodipine, omeprazole, amoxicillin, azithromycin, warfarin, furosemide, sertraline, gabapentin, clopidogrel, hydrochlorothiazide, prednisone, albuterol.

Brand aliases are resolved automatically (e.g. "Tylenol" → acetaminophen, "Advil" → ibuprofen).

Built-in Allergen Classes

12 classes: penicillin, cephalosporin, sulfonamide, nsaid, macrolide, fluoroquinolone, statin, ace_inhibitor, angiotensin_receptor_blocker, beta_blocker, thiazide_diuretic, tetracycline.


Quick start

bash
# 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

Environment variables

VariableDefaultDescription
RXNAV_BASE_URLhttps://rxnav.nlm.nih.gov/RESTRxNav API base URL
RXNAV_TIMEOUT_S30.0HTTP timeout (seconds)
MCP_TRANSPORTstdiostdio or sse
MCP_HOST0.0.0.0SSE bind host
MCP_PORT8002SSE port
LANGFUSE_PUBLIC_KEY(optional)LangFuse tracing
LANGFUSE_SECRET_KEY(optional)LangFuse tracing
LANGFUSE_HOST(optional)LangFuse host
LOG_LEVELINFOLogging level

Claude Desktop configuration

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

Tests

bash
# 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

Eval results (offline, no network)

Tag setCasesPass rate
error6100%
dose + allergy12100%

Disclaimer

This server is for research and educational purposes only. It does not replace clinical judgement, pharmacist review, or professional medical advice. All dose limits and cross-reactivity rules are from general adult references and must be individualised for each patient.


License

Apache-2.0 — see LICENSE.

来源:packages/mcp-clinical-reasoner/README.md,提交 07fc507

工具

0
SourceWeft 尚未在沙箱中启动过该软件包,因此其工具未知。

版本历史

1
  1. v1.0.0最新Sep 16, 2026

评分

已满足适用检查项的 40%

该评分衡量此收录条目的完整程度,依据注册中心条目、端点与公开来源计算得出。它不是对服务器本身的评价,也不表示服务器安全或当前可用:可连通性是带日期的检查结果,评分也不包含安装量或用户评价。

  • 近 30 天内可连通25 分

    请保持端点能够响应 MCP 握手;SourceWeft 每 30 天探测一次。

  • 已声明认证方式10 分

    请在注册中心条目中声明凭据请求头,或保持端点能够响应探测,以便判定其认证方式。

  • 已列出工具15 分

    请让服务器在无凭据时响应 tools/list,或发布可在沙箱中无凭据启动的软件包。

  • 描述必需15 分
  • 图标10 分
  • 文档15 分
  • 许可证10 分

    请在仓库或注册中心条目中声明许可证。

其他 Clinical 集成