Drug Interaction Checker — hosted on Cloudflare Workers (HTTP + npm stdio) について
Drug Interaction MCPは、臨床意思決定支援コパイロット向けのホスト型サーバーで、薬物相互作用の確認と関連情報の取得に対応します。2剤および複数薬の確認、RxNormによる正規化、DailyMedのFDA承認用量ガイダンスを提供します。
主な機能
- 012剤間の相互作用の重症度分類
- 02最大8剤の相互作用確認
- 03RxNormによる薬剤名の正規化
- 04DailyMedの用量ガイダンス取得
- 05同じATC分類の代替薬検索
活用シーン
- 01服薬リスト内の相互作用の評価
- 02商品名や一般名からRxNormレコードを特定
- 03FDA承認用量ガイダンスの確認
- 04同じ治療分類に属する薬剤の検索
MCP 対応
HTTP上のMCP JSON-RPC 2.0エンドポイントを通じて、薬剤確認ツールを公開します。MCPクライアントから接続でき、Bearerトークン認証と匿名の無料枠に対応します。
設定
リモートサーバーはインストール不要です。クライアントを選んで設定をコピーするか、ワンクリックで導入できます。
https://drug-interaction-mcp.atlasword.workers.dev/mcpclaude mcp add --transport http drug-interaction https://drug-interaction-mcp.atlasword.workers.dev/mcp{"mcpServers":{"drug-interaction":{"type":"http","url":"https://drug-interaction-mcp.atlasword.workers.dev/mcp"}}}Cursor で開く{"servers":{"drug-interaction":{"type":"http","url":"https://drug-interaction-mcp.atlasword.workers.dev/mcp"}}}VS Code で開く{"mcpServers":{"drug-interaction":{"type":"http","url":"https://drug-interaction-mcp.atlasword.workers.dev/mcp"}}}{"mcpServers":{"drug-interaction":{"serverUrl":"https://drug-interaction-mcp.atlasword.workers.dev/mcp"}}}コマンドはターミナルで実行し、JSON は各クライアントの MCP 設定に貼り付けて再起動します。認可が必要なサーバーは初回接続時にログインを求めます。
ツール
3| パラメーター | 型 | 必須 | 説明 |
|---|---|---|---|
| drug_a | string | はい | |
| drug_b | string | はい |
詳細
Drug Interaction MCP — 臨床 LLM 向け薬物相互作用チェッカー(RxNorm + DailyMed)
重症度分類、多剤併用への対応、RxNorm による正規化を備えた薬物相互作用チェッカー
臨床 LLM 向けに薬物相互作用をチェックし、FDA 表示に基づく用量情報を提示するホスト型 MCP サーバーです。2 種類の薬剤間のペアごとのチェック(重症度:禁忌/重大/中等度/軽度)、最大 8 種類の薬剤の多剤併用チェック(28 組)、RxNorm による正規化(ブランド名 → 一般名 → RxCUI)、DailyMed による FDA の用量ガイダンス、ATC クラスの代替薬に対応しています。臨床意思決定支援コパイロット向けに設計されています。
このサーバーは Model Context Protocol を使用します。Cursor、Claude Desktop、Windsurf、Continue.dev、または @modelcontextprotocol/sdk を使用して独自に構築したエージェントなど、MCP 対応のクライアントであれば接続して、ツールを検出し、Bearer トークン認証で呼び出すことができます。
AI エージェント/LLM 向け
このリポジトリをインデックス化する AI エージェント向けの情報です。
- 稼働中の MCP エンドポイント:
https://drug-interaction-mcp.atlasword.workers.dev/mcp - トランスポート: HTTP POST、JSON-RPC 2.0
- 認証:
Authorization: Bearer <api_key>(無料プランでは匿名で月最大 100 回/IP の呼び出しが可能です) - 検出:
tools/listは完全なスキーマを返します。tools/callはツールを呼び出します。 - ヘルスチェック:
GET https://drug-interaction-mcp.atlasword.workers.dev/health→{ok: true, ts: <unix>} - ステータス:
https://mcp-hub.atlasword.workers.dev/status.json(ポートフォリオの集計)
tools/list リクエストの例:
curl -sS -X POST https://drug-interaction-mcp.atlasword.workers.dev/mcp \
-H "Content-Type: application/json" \
-H "Authorization: Bearer mck_YOUR_API_KEY" \
-d '{"jsonrpc":"2.0","id":1,"method":"tools/list"}'
tools/call の例:
curl -sS -X POST https://drug-interaction-mcp.atlasword.workers.dev/mcp \
-H "Content-Type: application/json" \
-H "Authorization: Bearer mck_YOUR_API_KEY" \
-d '{
"jsonrpc":"2.0","id":2,"method":"tools/call",
"params": { "name": "<tool>", "arguments": { } }
}'
提供するツール
| ツール | 引数 | 説明 |
|---|---|---|
check_interaction | drug_a, drug_b | 2 種類の薬剤間の相互作用をチェックします。重症度、作用機序(既知の場合)、情報源を返します。 |
check_interactions_multi | drugs[2..8] | 多剤併用リスト内の薬剤の組み合わせをチェックします(A-B/B-A の重複を除外、最大 28 組)。 |
normalize_drug_name | name | ブランド名または一般名を RxNorm の標準レコードに解決します。RxCUI、一般名、ブランド名、同義語を返します。 |
dose_guide | drug — Team+ | DailyMed に基づく FDA 表示の用量ガイダンスです。 |
find_alternatives | drug — Team+ | 同じ ATC 治療クラスに属する薬剤です。 |
Team+ と記されたツールを使用するには、Team または Pro サブスクリプションが必要です。匿名ユーザーおよび Free プランの利用者がこれらを呼び出すと、tier_required エラーが返されます。
クイックスタート
最も手早く始める方法は、mcp-remote を使って、MCP 対応クライアントからホスト済みエンドポイントに接続することです。
npx -y mcp-remote https://drug-interaction-mcp.atlasword.workers.dev/mcp \
--header "Authorization: Bearer mck_YOUR_API_KEY"
https://drug-interaction-mcp.atlasword.workers.dev/upgrade?tier=solo でキーを取得してください(API キーの取得を参照)。
Cursor へのインストール
~/.cursor/mcp.json に次の内容を追加してください。
{
"mcpServers": {
"drug-interaction-mcp": {
"command": "npx",
"args": [
"-y", "mcp-remote",
"https://drug-interaction-mcp.atlasword.workers.dev/mcp",
"--header", "Authorization: Bearer mck_YOUR_API_KEY"
]
}
}
}
その後 Cursor を再起動すると、MCP パネルにツールが表示されます。
Claude Desktop へのインストール
~/Library/Application Support/Claude/claude_desktop_config.json(macOS)または %APPDATA%\Claude\claude_desktop_config.json(Windows)に次の内容を追加してください。
{
"mcpServers": {
"drug-interaction-mcp": {
"command": "npx",
"args": [
"-y", "mcp-remote",
"https://drug-interaction-mcp.atlasword.workers.dev/mcp",
"--header", "Authorization: Bearer mck_YOUR_API_KEY"
]
}
}
}
Claude Desktop を再起動してください。スラッシュコマンドの MCP メニューにツールが表示されます。
API キーの取得
https://drug-interaction-mcp.atlasword.workers.dev/upgrade?tier=solo(またはtier=team/tier=pro)にアクセスします。- Dodo Payments のホスト型チェックアウトにリダイレクトされます。Dodo が住所を収集し、カード決済を処理し、VAT/GST に対応します。
- 決済後、Dodo は署名付き Webhook(
subscription.active)を Worker に送信します。Worker はmck_<32 random base64url>を生成し、KV に保存します。 https://drug-interaction-mcp.atlasword.workers.dev/welcome?key=<api_key>に移動します。キーはこの URL に一度だけ表示されるため、ここでコピーしてください。- キーを Cursor / Claude Desktop の設定に貼り付けます(上記を参照)。
https://drug-interaction-mcp.atlasword.workers.dev/accountでアカウントの表示、キーのローテーション、エクスポートができます(Bearer 認証)。
無料ティアもあります(登録不要)。匿名の呼び出しは、IP ごとに月 100 回までです。
エンドポイント
| ルート | 説明 |
|---|---|
POST /mcp | MCP JSON-RPC 2.0 ツール用エンドポイント(メイン API)。有料ティアでは Bearer 認証が必要です。 |
GET /health | 稼働確認プローブ — {ok: true, ts}。mcp-hub の cron で使用します。 |
GET / | HTML ランディングページ(OG + ファビコン + JSON-LD)。 |
| `GET /upgrade?tier=solo | team |
GET /welcome?key=... | チェックアウト後のランディングページ。新たに生成された API キーを表示します。 |
GET /account | Bearer 認証。{apiKey, tier, owner, status, portal_url} を返します。 |
POST /account/rotate | Bearer 認証。新しいキーを生成し、古いキーを無効にします。 |
GET /account/export | Bearer 認証。GDPR データエクスポート — アカウント、使用状況カウンター、Dodo の詳細を含む JSON。 |
GET /account/team | Bearer 認証(Team 以上)。チームメンバーのサブキーを一覧表示します。 |
POST /account/team/invite | Bearer 認証(Team 以上)。チームメンバー用のサブキーを新たに発行します。 |
POST /account/team/revoke | Bearer 認証(Team 以上)。チームメンバー用のサブキーを無効にします。 |
GET /team/accept?key=... | チームメンバーがサブキーの URL から利用を開始するためのランディングページ。 |
POST /webhooks/dodo | Standard-Webhooks 署名付き。Dodo のサブスクリプションと決済のライフサイクルを処理します。 |
GET /favicon.ico | インライン SVG。 |
料金
すべてのティアで月間上限とレート上限は共通です。価格には各プランの位置づけが反映されています。
| ティア | 月間呼び出し数 | レート制限 | チームシート数 |
|---|---|---|---|
| Free | 月 100 回 | 1 分あたり 10 回 | 0 |
| Solo | 月 2,000 回 | 1 分あたり 60 回 | 0 |
| Team | 月 10,000 回 | 1 分あたり 200 回 | 5 |
| Pro | 月 50,000 回 | 1 分あたり 600 回 | 25 |
| プラン | 料金 | 月間呼び出し数 | チームシート数 |
|---|---|---|---|
| Free | $0 | 100 | 0 |
| Solo | $29/mo | 2,000 | 0 |
| Team | $99/mo | 10,000 | 5 |
| Pro | $299/mo | 50,000 | 25 |
Dodo Payments 経由で請求されます(Merchant of Record — VAT/GST は Dodo が対応します)。いつでも解約できます。アクセスは支払い済み期間の終了まで有効です。
データソース
- RxNorm (NLM) — https://www.nlm.nih.gov/research/umls/rxnorm/ — パブリックドメイン(米国政府)
- DailyMed — https://dailymed.nlm.nih.gov/ — パブリックドメイン
- openFDA Drug Label — https://open.fda.gov/ — パブリックドメイン
このサーバーは、上流データソースを利用する薄いトランスポート、認証、キャッシュのレイヤーです。各呼び出しのレート制限は、各上流サービスの無料ティアの利用規約を十分に守れるよう調整されています。
プライバシーと GDPR
- プライバシーポリシー: https://mcp-hub.atlasword.workers.dev/privacy
- 利用規約: https://mcp-hub.atlasword.workers.dev/terms
- 返金ポリシー: https://mcp-hub.atlasword.workers.dev/refund
- データエクスポート:
GET https://drug-interaction-mcp.atlasword.workers.dev/account/export(Bearer 認証)を呼び出すと、アカウント、使用状況カウンター、Dodo の顧客情報を含む、機械可読な JSON スナップショットが返されます。 - 削除: 登録済みのメールアドレスから
[email protected]にメールを送信してください。
保存するデータは、メールアドレス、生成された API キー、月間呼び出しカウンター、Dodo のサブスクリプションメタデータのみです。ツールの引数や上流サービスからのレスポンスは、短いキャッシュ TTL を超えてログに記録しません。
アーキテクチャ
- ランタイム: Cloudflare Workers(V8 分離環境、グローバルエッジ)。
- ストレージ: 2 つの Cloudflare KV 名前空間 —
<slug>-cache(上流レスポンスキャッシュ)と<slug>-usage(API キー、月次カウンター、チーム名簿)。 - 請求: Dodo Payments のライブモード、3 つのサブスクリプション製品(Solo / Team / Pro)、Standard-Webhooks による署名付きライフサイクル。
- オブザーバビリティ: Cloudflare Workers Analytics、mcp-hub status でポートフォリオの集計を確認できます。
- ソース: TypeScript、Vitest によるテスト済み、
wrangler deployでデプロイ可能です。このリポジトリのsrc/を参照してください。
ライセンス
MIT — LICENSE を参照してください。
作者
Prakhar Gupta
- メール:
[email protected] - GitHub:@guptaprakhariitr
ステータス
- ライブステータスページ: https://mcp-hub.atlasword.workers.dev/status
- 機械可読なステータス: https://mcp-hub.atlasword.workers.dev/status.json
- ソースリポジトリ: https://github.com/guptaprakhariitr/drug-interaction-mcp
npm からインストール(ワンライナー)
薄いランチャーが @insnapsprakhar/drug-interaction-mcp として npm で公開されています。URL を手動でコピー&ペーストする必要はありません。
npx -y @insnapsprakhar/drug-interaction-mcp
または、MCP クライアントに組み込んでください。
{
"mcpServers": {
"drug-interaction": {
"command": "npx",
"args": ["-y", "@insnapsprakhar/drug-interaction-mcp"]
}
}
}
npm パッケージはランチャーにすぎません — mcp-remote を起動し、ホストされたエンドポイント(https://drug-interaction-mcp.atlasword.workers.dev/mcp)を指定します。
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。