Rxnorm について
Rxnormは、米国国立医学図書館のRxNav APIに基づく標準薬剤概念を、医療データ利用者やエージェントに提供します。薬剤名の解決や属性照会、安定したRxCUIによるデータ連携に対応し、薬物相互作用の検索は提供しません。
主な機能
- 01薬剤検索とRxCUIの解決
- 02成分、規格、剤形の取得
- 03ブランド名と一般名の関連付け
- 04RxCUIによるNDC検索
活用シーン
- 01薬剤名を標準概念に対応付け
- 02データソース間で薬剤レコードを連携
- 03薬剤属性とNDC識別子の確認
MCP 対応
MCPクライアントにRxNormの検索・薬剤概念照会ツールを提供し、Pipeworxゲートウェイ経由またはローカルstdioで利用できます。薬物相互作用ツールはありません。
設定
リモートサーバーはインストール不要です。クライアントを選んで設定をコピーするか、ワンクリックで導入できます。
https://gateway.pipeworx.io/rxnorm/mcpclaude mcp add --transport http pipeworx-io-rxnorm https://gateway.pipeworx.io/rxnorm/mcp{"mcpServers":{"pipeworx-io-rxnorm":{"type":"http","url":"https://gateway.pipeworx.io/rxnorm/mcp"}}}Cursor で開く{"servers":{"pipeworx-io-rxnorm":{"type":"http","url":"https://gateway.pipeworx.io/rxnorm/mcp"}}}VS Code で開く{"mcpServers":{"pipeworx-io-rxnorm":{"type":"http","url":"https://gateway.pipeworx.io/rxnorm/mcp"}}}{"mcpServers":{"pipeworx-io-rxnorm":{"serverUrl":"https://gateway.pipeworx.io/rxnorm/mcp"}}}コマンドはターミナルで実行し、JSON は各クライアントの MCP 設定に貼り付けて再起動します。認可が必要なサーバーは初回接続時にログインを求めます。
ツール
詳細
RxNorm — 標準化された医薬品概念
米国国立医学図書館による標準化された医薬品命名体系です。米国の医療制度で処方される医薬品、市販薬、成分にはすべて RxCUI(安定した概念 ID)が付与されています。RxNorm は混乱しがちな医薬品の名称を標準化します。「Tylenol」「acetaminophen」「APAP」は、いずれも同じ成分概念に解決されます。無料で、認証は不要です。
Pipeworx の一部です。AI エージェントを 1683 以上の稼働中のデータソースに接続する MCP ゲートウェイです。
AI エージェントにとって重要な理由
医薬品データは非常に複雑です。ブランド名、ジェネリック名、塩形、含量、剤形など、同じ分子でも多数の表記があります。RxNorm は、FDA データ、薬物相互作用データベース、EHR システム、臨床試験との相互参照に使える標準 ID を提供します。
主なフローは 3 つです。
1. 名称を解決する。 「Ozempic とは何ですか?」→ rxnorm_search({name: "ozempic"}) → RxCUI を含む、用語タイプ(SBD、BN、IN など)別の概念グループ。
2. 医薬品の特性を取得する。 「この RxCUI は何ですか?」→ rxnorm_get_properties({rxcui}) → 成分名、含量、剤形、ブランドかどうか。
3. 薬物相互作用 — 利用できません。 NLM は 2024 年 1 月に RxNav の相互作用 API を廃止し、代替 API は提供されていません。そのため、このパックには rxnorm_interactions ツールがなく、Pipeworx にも医薬品間相互作用のデータソースはありません。pharma_safety_report は FDA ラベルに記載された「Drug Interactions」セクションを返しますが、これは 1 つの医薬品について記述するもので、2 つの医薬品の組み合わせを確認するものではありません。そのテキストに記載のない医薬品について、安全性が確認されたわけではありません。
RxNorm、FDA、ClinicalTrials を組み合わせた医薬品安全性の総合分析には、[compare_entities({type: "drug", values})] または pharma_drug_profile 複合機能を使用してください。
用語タイプ(TTY)— 理解しておくべき重要事項
RxNorm では、医薬品ごとに異なる抽象度の概念が複数あります。
| TTY | 意味 | 例 |
|---|---|---|
| IN | 成分(標準ジェネリック名) | "semaglutide" |
| PIN | 精密成分 | "semaglutide sodium" |
| BN | ブランド名 | "Ozempic" |
| SBD | 意味的ブランド医薬品(市販製品) | "Ozempic 0.5 mg/0.75 mL pen injector" |
| SCD | 意味的臨床医薬品(SBD のジェネリック相当品) | "semaglutide 0.5 mg/0.75 mL pen injector" |
複数のデータソースを連携する場合は、該当するものがあれば、必ず IN(成分)の RxCUI を優先してください。国が異なると、ブランド医薬品の SBD も異なります。IN は世界共通です。resolve_entity({type: "drug"}) は、IN > PIN > BN > SBD > 最初に利用可能なものの優先順位で標準 RxCUI を選択します。
引用可能な URI
pipeworx://rxnorm/concept/{rxcui}
pipeworx://rxnorm/concept/{rxcui}/interactions
RxCUI は安定しており、共有できます。
更新頻度
RxNorm は毎月更新されます。新薬は FDA 承認から 1 か月以内に掲載されます。販売中止となった製品にはフラグが付けられますが、過去の情報を検索できるようデータベースに保持されます。Pipeworx は 24 時間の TTL でキャッシュします。
よくある落とし穴
- ブランド名で検索すると SBD のみが返ることがあります。 「Ozempic」を検索すると、成分ではなく意味的ブランド医薬品の概念が返されます。「semaglutide」を取得するには、ジェネリック名を直接検索するか、ブランドの RxCUI に対して
rxnorm_related({rxcui, tty: "IN"})を呼び出してください。後者には一部の設定で現在不具合があります。詳しくはエラーからの復旧をご覧ください。 - スペルは想像以上に重要です。 「metformin hydrochloride」と「metformin HCl」では、返される概念セットが若干異なります。よく使われる略語には柔軟に対応しますが、あまり一般的でない略語では正確な表記が必要です。
- NDC は別の ID です。 National Drug Code(NDC)は FDA が発行する包装単位の識別子であり、RxCUI ではありません。処方箋の調剤データに NDC が必要な場合は、
rxnorm_ndc({rxcui})を使って対応付けてください。 - 配合剤に注意してください。 「Kombiglyze」のような医薬品には、メトホルミンとサキサグリプチンが含まれています。「metformin」を検索すると、配合剤が上位に表示される場合がありますが、成分レベルの分析には適していません。最初の結果をそのまま使うのではなく、SCD または IN に絞り込んでください。
- 販売中止後も医薬品は残ります。 医薬品が販売中止になった後も、概念は保持されます。完全なレコードの
obsoleteフラグで、現在その医薬品が入手可能かどうかを確認できます。
クイックスタート
MCP クライアント(Claude Desktop、Cursor、Windsurf など)に追加します:
{
"mcpServers": {
"rxnorm": {
"url": "https://gateway.pipeworx.io/rxnorm/mcp"
}
}
}
このエンドポイントが実際に提供するもの
https://gateway.pipeworx.io/rxnorm/mcp の tools/list は、上の表に記載されたツールに加えて、共有の Pipeworx メタツール(ask_pipeworx、discover_tools、search_within、remember/recall など、ゲートウェイ全体で使えるツール一式)を返します。そのため、表示されるツール数はこの表より多くなります。現在、単一パックのエンドポイントには、そのパック専用のツールとともに、共有ツールが約 30 個表示されます。接続の initialize レスポンスには正確な範囲が記載されており、その日の状況を確認する際の正式な情報となります。
これは意図的な設計であり、偶然の多重化ではありません。メタツールを使うことで、このパックの対象外の質問にも、カタログ全体を横断してルーティングする ask_pipeworx を通じて回答できるため、2 つ目の MCP サーバーを追加する必要はありません。現時点では、メタツールなしでパックのエンドポイントを接続する方法はありません。追加のスキーマによるコンテキストのコストがルーティングの利点を上回る場合は、複数のパックエンドポイントではなく、フルゲートウェイに一度だけ接続してください。
このパックのツールだけでなく、すべてのパックのツールを直接一覧表示するには、Pipeworx のフルゲートウェイに接続してください:
{
"mcpServers": {
"pipeworx": {
"url": "https://gateway.pipeworx.io/mcp"
}
}
}
どちらの URL も同じゲートウェイと同じ 1683 以上のデータソースに接続します。唯一の違いは、どのパックのツールが直接一覧表示されるかです。どちらからでも、ask_pipeworx を使ってすべてのツールにアクセスできます。
MCP クライアントをお持ちでない場合:HTTP で呼び出す
curl -X POST https://gateway.pipeworx.io/v1/tools/rxnorm_search \
-H 'Content-Type: application/json' \
-d '{"name":"Ozempic"}'
最初の呼び出しにはアカウントは必要ありません。ツールを確認するには、GET https://gateway.pipeworx.io/v1/tools/rxnorm_search を実行します。ツールを探すには、{"query":"..."} を指定して POST https://gateway.pipeworx.io/v1/tools/search_packs を実行します。
スタンドアロン(ゲートウェイアカウント不要)
このパッケージはローカルの stdio MCP サーバーとしても実行できます。Pipeworx アカウントも、ゲートウェイへの往復通信も必要ありません:
{
"mcpServers": {
"rxnorm": {
"command": "npx",
"args": ["-y", "@pipeworx/mcp-rxnorm"]
}
}
}
または、直接実行して起動を確認できます:
npx -y @pipeworx/mcp-rxnorm
stdin/stdout を介して MCP で通信し、このパックのツールのみを対象に initialize/tools/list/tools/call に応答します。上記のゲートウェイ接続で追加される共有メタツールは含まれません。同じソース、同じツールを使えますが、ask_pipeworx によるルーティングはありません。
ask_pipeworx の使用
ツールを直接呼び出す代わりに、平易な英語で質問できます。この方法は、上記のパックエンドポイントでもフルゲートウェイでも使えます:
ask_pipeworx({ question: "your question about Rxnorm data" })
ゲートウェイが適切なツールを選択し、引数を自動的に設定します。
詳細
ライセンス
MIT
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。