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. 022~10剤の相互作用チェック
  3. 03一般的な20薬剤の用量確認
  4. 0412アレルゲンクラスの交差反応チェック
  5. 05LangFuseによるツール呼び出しの記録

活用シーン

  1. 01薬剤間相互作用の確認
  2. 02基準範囲に照らした用量案の確認
  3. 03薬剤選択におけるアレルギー懸念のスクリーニング

MCP 対応

stdioまたはSSEで、4つの臨床薬理ツールをMCPクライアントに公開します。2つのツールは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

無料の NLM RxNav REST API と組み込みのルールベース参照テーブルを利用する、 4 つの臨床薬理学ツールを提供する MCP サーバーです。API キーは不要です。PHI は処理されません。

ライセンス


ツール

ツールトランスポート説明
lookup_drugRxNav API薬剤名または RxNorm CUI を解決 → 正式名称、RxCUI、薬剤クラスへの該当情報、用量参照
check_drug_interactionsRxNav API2~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、 lisinopril、atorvastatin、metoprolol、amlodipine、omeprazole、amoxicillin、 azithromycin、warfarin、furosemide、sertraline、gabapentin、clopidogrel、 hydrochlorothiazide、prednisone、albuterol、metformin。

ブランド名の別名は自動的に解決されます(例:"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 を参照してください。

コメント

MCP は初めてですか?

プロトコルの概要から最初のサーバーの導入まで、よくある疑問にまとめて答えます。

AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。