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 整合