fhirfly について
fhirflyはClaude DesktopをFHIRflyの医療リファレンスデータAPIに接続するMCPサーバーです。医療業務向けに、医薬品、医療提供者、臨床コード、請求、接続情報を検索できます。
主な機能
- 01医薬品と医療提供者情報の検索・取得
- 02診断、検査、ワクチンコードの照会
- 03FDAラベルと薬物相互作用情報の取得
- 04請求編集、適用範囲、支払データの確認
- 05FHIRエンドポイントとMedicaidディレクトリの検索
活用シーン
- 01医薬品ラベルや相互作用の確認
- 02NPIによる医療提供者情報の検索
- 03請求に使う診断・処置コードの確認
- 04州のMedicaid FHIRエンドポイントの特定
MCP 対応
ローカルで動作するMCPサーバーがHTTPS経由でClaude DesktopをFHIRfly APIに接続し、医療リファレンスデータ検索ツールを公開します。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
@fhirfly-io/mcp-server
Claude Desktop を FHIRfly の医療リファレンスデータ API に接続するための MCP(Model Context Protocol)サーバーです。
これは何ですか?
このパッケージを使用すると、Claude Desktop で次のような実際の医療リファレンスデータを検索できます。
- NDC - 医薬品と包装単位(FDA)
- NPI - 医療提供者識別子(CMS)
- RxNorm - 医薬品用語(NLM)
- LOINC - 検査コード(Regenstrief Institute)
- ICD-10 - 診断および処置コード(CMS)
- CVX/MVX - ワクチンコード(CDC)
- FDA Drug Labels - 処方情報
- SNOMED CT - 臨床概念(IPS 無料セット)
- HCC - CMS の階層的状態カテゴリによるリスク調整マッピング
- OPCS-4 - 英国 NHS の処置分類コード
- dm+d - 英国の医薬品・医療機器辞書(NHS)
- UCUM - 統一測定単位コード(NLM)
- RxClass - 医薬品分類階層(NLM)
- HCPCS - レベル II の処置および医療用品コード(CMS)
- MS-DRG - 入院医療費支払い用の診断関連グループ(CMS)
- POS - 請求申請用のサービス提供場所コード(CMS)
- J-Code/NDC Crosswalk - HCPCS J コードと NDC の双方向マッピング(CMS)
- DDI Reference — FDA ラベルの薬物間相互作用テキストと RxNorm による補足情報
- Connectivity - 医療提供者の FHIR エンドポイントと Direct アドレス
- SMA - 州 Medicaid 機関の FHIR エンドポイントディレクトリ(CMS)
- Claims Intelligence - NCCI 編集、MUE 上限、PFS/RVU データ、適用範囲の判定
Claude に医薬品、医療提供者、臨床コードについて尋ねると、トレーニングデータに頼るのではなく、正確で最新の情報を検索できます。
前提条件
- Claude Desktop - claude.ai/download からダウンロードしてください
- Node.js 18+ - nodejs.org からダウンロードしてください
- FHIRfly API Key - fhirfly.io で取得してください(無料プランを利用できます)
クイックセットアップ
ステップ 1:FHIRfly API Key を取得する
- fhirfly.io にアクセスして登録します
- Dashboard > Credentials に移動します
- Create Credential をクリックし、MCP (Claude Desktop) を選択します
- API キー(
ffly_で始まります)をコピーします
ステップ 2:Claude Desktop を設定する
Claude Desktop の設定ファイルを探します。
- macOS:
~/Library/Application Support/Claude/claude_desktop_config.json - Windows:
%APPDATA%\Claude\claude_desktop_config.json
FHIRfly サーバーの設定を追加します。
{
"mcpServers": {
"fhirfly": {
"command": "npx",
"args": ["-y", "@fhirfly-io/mcp-server"],
"env": {
"FHIRFLY_API_KEY": "ffly_live_your_key_here"
}
}
}
}
ffly_live_your_key_here を実際の API キーに置き換えてください。
ステップ 3:Claude Desktop を再起動する
Claude Desktop を完全に終了してから、再度開きます。これで FHIRfly ツールが利用可能になります。
動作確認
Claude に次のように尋ねてみてください。
- 「NDC 0069-0151-01 とは何ですか?」
- 「NPI 1234567893 を調べて」
- 「CVX データベースで COVID ワクチンを検索して」
- 「Lipitor の薬物相互作用を教えて」
- 「Medicaid の FHIR エンドポイントを導入している州はどこですか?」
- 「カリフォルニア州の Medicaid プログラムの FHIR エンドポイントの詳細を表示して」
- 「ミリグラム毎デシリットルの UCUM コードは何ですか?」
- 「100 mg をグラムに変換して」
- 「HMG-CoA 還元酵素阻害薬クラスにはどのような医薬品がありますか?」
- 「アスピリンとワルファリンの相互作用を確認して」
Claude は FHIRfly ツールを使用して実際のデータを検索します。
利用可能なツール
| ツール | 説明 |
|---|---|
ndc_get | NDC コードで医薬品を検索します |
ndc_search | 名称、有効成分などで医薬品を検索します |
npi_get | NPI 番号で医療提供者を検索します |
npi_search | 名称、専門分野、所在地で医療提供者を検索します |
rxnorm_get | RxCUI で医薬品を検索します |
rxnorm_search | 医薬品の用語を検索します |
loinc_get | LOINC コードで検査項目を検索します |
loinc_search | 検査コードを検索します |
icd10_get | 診断/処置コードを検索します |
icd10_search | ICD-10 コードを検索します |
cvx_get | CVX コードでワクチンを検索します |
cvx_search | ワクチンコードを検索します |
mvx_get | ワクチン製造元を検索します |
mvx_search | 製造元を検索します |
fda_label_lookup | FDA 医薬品ラベルを検索します |
fda_label_search | 医薬品ラベルを検索します |
fda_label_safety | 安全性情報(枠付き警告、禁忌)を取得します |
fda_label_interactions | 医薬品の相互作用情報を取得します |
fda_label_dosing | 用量情報を取得します |
fda_label_sections | ラベルの特定のセクションを取得します |
snomed_get | SNOMED CT ID で臨床概念を検索します |
snomed_search | SNOMED CT IPS の概念を検索します |
snomed_mappings | SNOMED の概念に対応する他の用語体系のマッピングを検索します |
npi_connectivity | 医療提供者の接続情報(FHIR エンドポイント)を検索します |
sma_list_states | Medicaid FHIR エンドポイントのステータスが設定されている州を一覧表示します |
sma_get_state | 州の SMA FHIR エンドポイントの詳細を取得します |
sma_stats | SMA 実装の集計統計を取得します |
ncci_validate | 2 つのコードを同時に請求できるかどうかを確認します(NCCI) |
mue_lookup | サービスの最大単位数(MUE 制限)を検索します |
pfs_lookup | Medicare の診療報酬スケジュール/RVU データを検索します |
coverage_check | LCD/NCD の給付適用判定を確認します |
| HCPCS / MS-DRG / POS / Jコードのツール | |
hcpcs_get | HCPCS Level II の処置/物品コードを検索します |
hcpcs_modifier_get | HCPCS 修飾子コードを検索します |
hcpcs_search | HCPCS Level II コードを検索します |
msdrg_get | MS-DRG コードを検索します |
msdrg_search | MS-DRG コードを検索します |
pos_get | Place of Service コードを検索します |
jcode_by_hcpcs | Jコード/HCPCS コードに対応する NDC を検索します |
jcode_by_ndc | NDC に対応する HCPCS コードを検索します |
| HCC / OPCS-4 のツール | |
hcc_get | ICD-10 コードに対応する HCC リスク調整マッピングを検索します |
hcc_reverse | 指定した HCC カテゴリーに対応するすべての ICD-10 コードを検索します |
hcc_search | コード、モデル、カテゴリーで HCC クロスウォークを検索します |
opcs4_get | 英国 NHS の OPCS-4 処置コードを検索します |
opcs4_search | OPCS-4 処置コードを検索します |
| dm+d のツール | |
dmd_get | SNOMED コードで英国の dm+d 医薬品/医療機器を検索します |
dmd_search | 英国の dm+d 医薬品および医療機器を検索します |
| UCUM のツール | |
ucum_get | UCUM 単位コード(例:mg、mL、kg/m2)を検索します |
ucum_search | 名称または説明で測定単位を検索します |
ucum_validate | UCUM 式が正しいか検証します |
ucum_convert | 互換性のある UCUM 単位間で値を変換します |
| RxClass のツール | |
rxclass_get | クラス ID で医薬品クラスを検索します |
rxclass_search | 名称または種類で医薬品分類を検索します |
rxclass_members | 医薬品クラスに属する医薬品を一覧表示します |
| DDI のツール | |
check_drug_interactions | 複数の医薬品の薬物間相互作用を確認します(FDA ラベルのテキスト+RxNorm) |
| 一括処理ツール | |
ndc_batch | 複数の NDC コードを検索します(最大 500 件) |
npi_batch | 複数の NPI 番号を検索します(最大 100 件) |
icd10_batch | 複数の ICD-10 コードを検索します(最大 100 件) |
rxnorm_batch | 複数の RxCUI を検索します(最大 100 件) |
loinc_batch | 複数の LOINC コードを検索します(最大 100 件) |
cvx_batch | 複数の CVX コードを検索します(最大 100 件) |
mvx_batch | 複数の MVX コードを検索します(最大 100 件) |
fda_label_batch | 複数の FDA ラベルを検索します(最大 50 件) |
設定オプション
| 環境変数 | 説明 | デフォルト |
|---|---|---|
FHIRFLY_API_KEY | FHIRfly API キー(必須) | - |
FHIRFLY_API_URL | API ベース URL | https://api.fhirfly.io |
FHIRFLY_DEBUG | デバッグログを有効にします(1 または true) | false |
FHIRFLY_TIMEOUT | フェッチのタイムアウト(ミリ秒) | 30000 |
トラブルシューティング
「FHIRFLY_API_KEY environment variable is required」
API キーが設定されていません。次を確認してください:
- fhirfly.io で有効な API キーを取得している
- Claude Desktop の設定の
envセクションに設定されている - キーが
ffly_で始まっている
「Invalid API key format」
FHIRfly の API キーは ffly_ で始まります。キー全体をコピーしたことを確認してください。
「Authentication failed」
API キーが無効か、期限切れになっている可能性があります。fhirfly.io/dashboard/credentials で新しいキーを生成してください。
Claude に FHIRfly ツールが表示されない
- Claude Desktop を完全に終了してから再起動してください
- 設定ファイルの構文を確認してください(有効な JSON である必要があります)
- デバッグモードを有効にして、何が起きているか確認してください:
{
"mcpServers": {
"fhirfly": {
"command": "npx",
"args": ["-y", "@fhirfly-io/mcp-server"],
"env": {
"FHIRFLY_API_KEY": "your_key",
"FHIRFLY_DEBUG": "1"
}
}
}
}
「Rate limit exceeded」
プランのレート制限に達しました。しばらく待ってからもう一度お試しいただくか、fhirfly.io でプランをアップグレードしてください。
仕組み
┌─────────────────┐ ┌─────────────────┐ ┌─────────────────┐
│ Claude Desktop │────▶│ This Package │────▶│ FHIRfly API │
│ │ │ (runs locally) │ │ (cloud) │
│ "What is │◀────│ │◀────│ │
│ NDC 123..." │ │ Translates MCP │ │ Returns drug │
│ │ │ ↔ HTTPS │ │ data │
└─────────────────┘ └─────────────────┘ └─────────────────┘
このパッケージは、お使いのコンピューター上で Claude Desktop と FHIRfly API をつなぐブリッジとして動作します。次の処理を行います:
- stdin 経由で Claude Desktop からのリクエストを受信します
- FHIRfly への HTTPS リクエストに変換します
- stdout 経由で結果を Claude に返します
API キーは HTTPS 経由で FHIRfly に送信されます。医療データがローカルに保存されることはありません。
リンク
データソースとライセンス
| データソース | プロバイダー | ライセンス |
|---|---|---|
| NDC Directory | FDA | パブリックドメイン |
| NPPES (NPI) | CMS | パブリックドメイン |
| RxNorm | NLM (NIH) | UMLS ライセンス(無料) |
| LOINC | Regenstrief Institute | 帰属表示付きで無料 |
| ICD-10-CM/PCS | CMS | パブリックドメイン |
| CVX/MVX | CDC | パブリックドメイン |
| FDA Drug Labels | FDA/openFDA | パブリックドメイン |
| SNOMED CT IPS | SNOMED International | CC BY 4.0 |
| HCC Crosswalk | CMS | パブリックドメイン |
| OPCS-4 | NHS England | OGL v3.0(王室著作権) |
| dm+d | NHS England / NHSBSA | OGL v3.0(王室著作権) |
| UCUM | NLM (NIH) / Regenstrief Institute | 帰属表示付きで無料 |
| RxClass | NLM (NIH) | UMLS ライセンス(無料) |
| SMA Endpoint Directory | CMS | パブリックドメイン |
| HCPCS Level II | CMS | パブリックドメイン |
| MS-DRG | CMS | パブリックドメイン |
| Place of Service | CMS | パブリックドメイン |
| J-Code/NDC Crosswalk | CMS | パブリックドメイン |
| NCCI/MUE/PFS | CMS | パブリックドメイン |
| DDI Reference | FDA + NLM | パブリックドメイン |
FHIRfly はこれらのデータソースを集約し、インデックス化しています。詳細は fhirfly.io/docs をご覧ください。
変更履歴
リリース履歴は CHANGELOG.md をご覧ください。
ライセンス
MIT - LICENSE をご覧ください。
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。