关于 Drug Interaction Checker — hosted on Cloudflare Workers (HTTP + npm stdio)
Drug Interaction MCP 是面向临床决策支持 Copilot 的托管服务,可检查药物相互作用并提供相关药品信息。它支持两药及多药检查、RxNorm 标准化,以及来自 DailyMed 的 FDA 标注剂量指导。
主要功能
- 01分类显示两药相互作用严重程度
- 02检查最多八种药物间的相互作用
- 03使用 RxNorm 标准化药名
- 04获取 DailyMed 剂量指导
- 05查找同一 ATC 类别的替代药物
适用场景
- 01评估用药清单中的药物相互作用
- 02将商品名或通用名解析为 RxNorm 记录
- 03查看 FDA 标注的剂量指导
- 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 | 是 |
详细介绍
药物相互作用 MCP — 面向临床大模型的药物间相互作用检查器(RxNorm + DailyMed)
药物间相互作用检查器,支持严重程度分类、多重用药检查和 RxNorm 标准化
托管的 MCP 服务,可检查药物间相互作用,并为临床大模型提供 FDA 标签中的剂量信息。支持两种药物之间的配对检查,并标注严重程度(禁忌 / 严重 / 中度 / 轻微);支持最多 8 种药物的多重用药检查(28 组配对);支持 RxNorm 标准化(商品名 → 通用名 → RxCUI)、DailyMed 中的 FDA 剂量指南,以及 ATC 类别替代药物。专为临床决策支持 Copilot 设计。
此服务遵循 Model Context Protocol。任何支持 MCP 的客户端——Cursor、Claude Desktop、Windsurf、Continue.dev,或使用 @modelcontextprotocol/sdk 手动构建的 Agent——都可以通过 Bearer 令牌身份验证连接、发现工具并调用工具。
面向 AI Agent / 大模型
如果你是正在索引此代码库的 AI Agent:
- 在线 MCP 端点:
https://drug-interaction-mcp.atlasword.workers.dev/mcp - 传输方式: HTTP POST,JSON-RPC 2.0
- 身份验证:
Authorization: Bearer <api_key>(免费方案允许匿名调用,每个 IP 每月最多 100 次) - 发现:
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 | 检查两种药物之间的相互作用。提供严重程度、作用机制(若已知)和来源。 |
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 会向 Worker 发送经过签名的 webhook(
subscription.active)。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 + favicon + 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 次 | 每分钟 10 次 | 0 |
| Solo | 每月 2,000 次 | 每分钟 60 次 | 0 |
| Team | 每月 10,000 次 | 每分钟 200 次 | 5 |
| Pro | 每月 50,000 次 | 每分钟 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 结算(登记商家——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/ — 公有领域
此服务是在上游数据源之上构建的轻量传输、身份验证和缓存层。每次调用的速率限制经过调整,以确保远低于各上游服务免费套餐的 ToS 限制。
隐私与 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 身份验证)会返回机器可读的 JSON 快照,其中包含你的账户、使用量计数器和 Dodo 客户详情。 - 删除: 使用存档邮箱发送邮件至
[email protected]。
我们仅存储:你的电子邮件、生成的 API 密钥、每月调用计数器和 Dodo 订阅元数据。除短暂缓存 TTL 外,我们不会记录工具参数或上游响应。
架构
- 运行时: Cloudflare Workers(V8 隔离区、全球边缘网络)。
- 存储: 两个 Cloudflare KV 命名空间——
<slug>-cache(上游响应缓存)和<slug>-usage(API 密钥、月度计数器、团队成员列表)。 - 计费: Dodo Payments 实时模式,3 种订阅产品(Solo / Team / Pro),通过 Standard-Webhooks 签名的生命周期事件。
- 可观测性: Cloudflare Workers Analytics;项目组合汇总见 mcp-hub 状态。
- 源码: 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 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。