Model Context Protocol · 開源專案 · u9401066/medical-calc-mcp

Medical Calc MCP

醫療評分工具,是人類用數十年研究換來的標準化答案。
問題從來不是工具不存在,而是 AI 不會主動去查。

152驗證計算器
·
31醫學專科
·
287篇 PMID 引用
·
16/16指引臨床領域全覆蓋

即時示範 · 動手算一次

CHA2DS2-VASc 中風風險評分

房顫病人的年中風風險評估——152 個計算器之一,以下是實際跑在這個 MCP 上的計分邏輯。

危險因子(複選)
年齡(單選)
0 / 9 分
低風險

通常不需常規抗凝血治療 · 示意年中風風險 0%

僅供示範,非臨床決策依據。

年風險估計參考 Friberg L, et al. Eur Heart J. 2012;33(12):1500–1510.

為什麼要做這個

三個事實,湊出一個 MCP

事實一 · 工具早就存在

SOFA、CHA₂DS₂-VASc、Wells score……這些量表都是同儕審查、經過數萬筆病例驗證的標準化工具。AI agent 在推理時,理論上「應該」主動比對這些工具,而不是憑語言模型的直覺算數字。

事實二 · 但 AI 不會主動去查

大型語言模型做臨床算術與邊界判斷的準確率,實測遠低於直接呼叫驗證過的公式。問題不是模型不夠聰明,而是它沒有被提醒要用對的工具,也沒有機制檢查參數是否落在合理的臨床範圍內。

事實三 · 那就把工具做成 AI 找得到的形狀

用 Model Context Protocol 把整套評分工具包成一個 server,讓任何 AI agent 都能呼叫;靠工具發現機制與參數邊界驗證把輸入卡住;每個計算結果都附文獻出處。長期目標是搭配 FHIR,讓全台灣的醫療 AI 系統共用同一套工具箱。

架構

三層驗證,卡住每一個參數

領域驅動設計(DDD),每個計算器都是獨立實體,附完整參數規範與文獻引用。

MCP 層

Pydantic + JSON Schema 類型驗證;工具發現(依專科/臨床情境/關鍵詞搜尋)。

應用層

ParamMatcher 處理別名與模糊比對;BoundaryValidator 做文獻支持的臨床範圍檢查。

領域層

22 項參數規範與核心計分邏輯;152 個計算器共用同一套驗證規則。

指引覆蓋

2020–2025 臨床指引覆蓋總表

資料來源:PubMed 系統性搜尋 + ESC/SCCM/AHA/ACC 官方指引,已用 PubMed MCP 二次驗證(最後更新 2026-01-08)。

16 / 16 臨床領域 · 65 / 65 建議工具 全數已實作
臨床領域指引推薦工具覆蓋

專科分布

152 個計算器橫跨 31 個專科

另有 26 個專科合計 84 個計算器,平均每科約 3.2 個,涵蓋消化系、感染科、婦產科、皮膚科等領域。

安裝

三行指令跑起來

前置需求:Python 3.11+、uv 套件管理器。

# 複製並進入目錄
git clone https://github.com/u9401066/medical-calc-mcp.git
cd medical-calc-mcp

# 同步依賴、啟動 MCP server
uv sync
uv run python -m src.main

部署模式

模式指令用途
stdiopython -m src.mainClaude Desktop / VS Code
SSE--mode sse8000遠端 MCP 客戶端
HTTP/REST--mode api8080自訂代理/Web 應用

Claude Desktop 設定

{
  "mcpServers": {
    "medical-calc": {
      "command": "uv",
      "args": ["run", "python", "-m", "src.main"],
      "cwd": "/path/to/medical-calc-mcp"
    }
  }
}