Drug Interaction Checker

io.github.guptaprakhariitrv0.2.1更新於 Oct 7, 2026

Drug-drug interaction checker for clinical LLMs using RxNorm and DailyMed.

已驗證Streamable HTTP可網頁執行Location & LifestyleData & Analytics

概覽

AI 產生的概覽

讓助理透過託管臨床介面查詢藥物交互作用、正規化藥品名稱並取得 FDA 標示的劑量資訊。

功能
這是一個託管的 MCP 伺服器,用於檢查藥物交互作用並回傳嚴重程度(禁忌、嚴重、中等、輕微)、已知機轉和來源。工具包括兩藥配對檢查、最多 8 種藥物的多重用藥檢查(28 對)、將商品名正規化為通用名並回傳 RxCUI 的 RxNorm 名稱正規化、來自 DailyMed 的 FDA 標示劑量指引,以及同一 ATC 治療類別中的替代藥物。它面向臨床決策支援助理。
適用情境
當助理需要回答藥物交互作用或劑量問題時適用,例如審查病人用藥清單中的多重用藥風險,或將商品名解析為通用名。它面向臨床決策支援,而非一般聊天。
執行需求
透過 HTTP 和 JSON-RPC 2.0 存取的遠端 MCP 端點;不需要本機執行環境,但 README 展示了用 npx mcp-remote 或 npm 啟動器進行用戶端接入。付費層級使用 Authorization Bearer API 金鑰;匿名呼叫者每月每 IP 可免費呼叫 100 次。劑量和替代藥物工具需要 Team 或 Pro 訂閱。
安裝前請注意
付費層級透過 Dodo Payments 計費(Solo 每月 29 美元、Team 每月 99 美元、Pro 每月 299 美元),API 金鑰僅在結帳時顯示一次。服務儲存電子郵件、產生的 API 金鑰、每月呼叫計數和訂閱中繼資料,並聲明不記錄工具參數或上游回應。這是臨床參考資料而非醫療建議,採取行動前應核對權威來源。

安裝

在 SourceWeft 中

  1. 開啟 儀表板中的 Drug Interaction Checker,將其新增到工作區。
  2. 為需要使用其工具的對話啟用該服務。

Web executable,透過 Streamable HTTP。 遠端服務在工作區中設定後即可從網頁執行環境執行。

其他 MCP 客戶端

把它新增到你客戶端的 mcpServers 設定中。

{
  "mcpServers": {
    "drug-interaction-mcp": {
      "type": "http",
      "url": "https://drug-interaction-mcp.atlasword.workers.dev/mcp"
    }
  }
}

README

Drug Interaction MCP — Drug-drug interaction checker for clinical LLMs (RxNorm + DailyMed)

[MIT License] [MCP] [Cloudflare Workers] [Live]

Drug-drug interaction checker with severity classification, polypharmacy support, RxNorm normalization

Hosted MCP server that checks drug-drug interactions and surfaces FDA-labeled dosing for clinical LLMs. Pairwise check between two drugs with severity (contraindicated / major / moderate / minor), polypharmacy across up to 8 drugs (28 pairs), RxNorm normalization (brand → generic → RxCUI), FDA dosing guidance from DailyMed, and ATC-class alternatives. Designed for clinical-decision-support copilots.

This server speaks the Model Context Protocol. Any MCP-aware client — Cursor, Claude Desktop, Windsurf, Continue.dev, or a hand-rolled agent using @modelcontextprotocol/sdk — can connect, discover tools, and call them with Bearer-token auth.

For AI agents / LLMs

If you are an AI agent indexing this repository:

  • Live MCP endpoint: https://drug-interaction-mcp.atlasword.workers.dev/mcp
  • Transport: HTTP POST, JSON-RPC 2.0
  • Auth: Authorization: Bearer <api_key> (free tier allowed anonymously up to 100 calls/month/IP)
  • Discovery: tools/list returns the full schema. tools/call invokes a tool.
  • Health: GET https://drug-interaction-mcp.atlasword.workers.dev/health → {ok: true, ts: <unix>}
  • Status: https://mcp-hub.atlasword.workers.dev/status.json (portfolio rollup)

Sample tools/list request:

bash
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"}'

Sample tools/call:

bash
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": { } }  }'

Tools exposed

ToolArgumentsDescription
check_interactiondrug_a, drug_bCheck the interaction between two drugs. Severity, mechanism (when known), and source.
check_interactions_multidrugs[2..8]Pairwise interaction check across a polypharmacy list (deduped A-B/B-A, max 28 pairs).
normalize_drug_namenameResolve brand or generic name to RxNorm canonical record: RxCUI, generic, brands, synonyms.
dose_guidedrug — Team+FDA-labeled dosing guidance from DailyMed.
find_alternativesdrug — Team+Drugs in the same ATC therapeutic class.

Tools marked Team+ require a Team or Pro subscription. Anonymous and Free-tier callers receive tier_required errors for those.

Quick start

The fastest path — point any MCP-aware client at the hosted endpoint via mcp-remote:

bash
npx -y mcp-remote https://drug-interaction-mcp.atlasword.workers.dev/mcp \  --header "Authorization: Bearer mck_YOUR_API_KEY"

Get a key at https://drug-interaction-mcp.atlasword.workers.dev/upgrade?tier=solo (see Getting an API key).

Install in Cursor

Add this to ~/.cursor/mcp.json:

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"      ]    }  }}

Then restart Cursor and the tools appear in the MCP panel.

Install in Claude Desktop

Add this to ~/Library/Application Support/Claude/claude_desktop_config.json (macOS) or %APPDATA%\Claude\claude_desktop_config.json (Windows):

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"      ]    }  }}

Restart Claude Desktop. Tools appear under the slash-command MCP menu.

Getting an API key

  1. Visit https://drug-interaction-mcp.atlasword.workers.dev/upgrade?tier=solo (or tier=team / tier=pro).
  2. Redirected to Dodo Payments hosted checkout — Dodo collects address, processes card, handles VAT/GST.
  3. After payment, Dodo fires a signed webhook (subscription.active) to the Worker. The Worker mints mck_<32 random base64url> and stores it in KV.
  4. You land on https://drug-interaction-mcp.atlasword.workers.dev/welcome?key=<api_key> — copy the key now (it is only displayed once at this URL).
  5. Paste the key into Cursor / Claude Desktop config (see above).
  6. View / rotate / export the account at https://drug-interaction-mcp.atlasword.workers.dev/account (Bearer-auth).

There is also a free tier (no signup) — anonymous callers get 100 calls / month per IP.

Endpoints

RouteDescription
POST /mcpMCP JSON-RPC 2.0 tool surface (the main API). Bearer auth required for paid tiers.
GET /healthLiveness probe — {ok: true, ts}. Used by mcp-hub cron.
GET /HTML landing page (OG + favicon + JSON-LD).
`GET /upgrade?tier=soloteam
GET /welcome?key=...Post-checkout landing showing the freshly-minted API key.
GET /accountBearer-auth. Returns {apiKey, tier, owner, status, portal_url}.
POST /account/rotateBearer-auth. Mints a fresh key + retires the old one.
GET /account/exportBearer-auth. GDPR data export — JSON of account, usage counters, Dodo details.
GET /account/teamBearer-auth (Team+). List team-member sub-keys.
POST /account/team/inviteBearer-auth (Team+). Issue a new team-member sub-key.
POST /account/team/revokeBearer-auth (Team+). Revoke a team-member sub-key.
GET /team/accept?key=...Team-member onboarding landing for the sub-key URL.
POST /webhooks/dodoStandard-Webhooks signed. Dodo subscription + payment lifecycle.
GET /favicon.icoInline SVG.

Pricing

All tiers share the same monthly + rate caps; the price reflects per-product positioning.

TierMonthly callsRate limitTeam seats
Free100 / month10 / minute0
Solo2,000 / month60 / minute0
Team10,000 / month200 / minute5
Pro50,000 / month600 / minute25
PlanPriceMonthly callsTeam seats
Free$01000
Solo$29/mo2,0000
Team$99/mo10,0005
Pro$299/mo50,00025

Billed via Dodo Payments (merchant-of-record — VAT/GST handled by Dodo). Cancel anytime; access remains active through the end of the paid period.

Data sources

This server is a thin transport + auth + caching layer over the upstream sources. Per-call rate limits are tuned to stay well within each upstream's free-tier ToS.

Privacy + GDPR

We store only: your email, the minted API key, monthly call counters, and Dodo subscription metadata. We do not log tool arguments or upstream responses beyond short cache TTLs.

Architecture

  • Runtime: Cloudflare Workers (V8 isolates, global edge).
  • Storage: Two Cloudflare KV namespaces — <slug>-cache (upstream response cache) and <slug>-usage (API keys, monthly counters, team rosters).
  • Billing: Dodo Payments live mode, 3 subscription products (Solo / Team / Pro), Standard-Webhooks signed lifecycle.
  • Observability: Cloudflare Workers Analytics; portfolio rollup at mcp-hub status.
  • Source: TypeScript, Vitest-tested, wrangler deploy-able. See src/ in this repo.

License

MIT — see LICENSE.

Author

Prakhar Gupta

Status

Install via npm (one-liner)

A thin launcher is published as @insnapsprakhar/drug-interaction-mcp on npm. No manual URL to copy/paste:

bash
npx -y @insnapsprakhar/drug-interaction-mcp

Or wire it into your MCP client:

jsonc
{  "mcpServers": {    "drug-interaction": {      "command": "npx",      "args": ["-y", "@insnapsprakhar/drug-interaction-mcp"]    }  }}

The npm package is just a launcher — it shells out to mcp-remote and points it at the hosted endpoint (https://drug-interaction-mcp.atlasword.workers.dev/mcp).

來源:README.md,提交 ad8340a

工具

0
工具後設資料尚未被收錄。

版本歷史

1
  1. v0.2.1最新Sep 16, 2026