mcpField
R
Rxnorm

Rxnorm

远程服务
pipeworx.io健康医疗05 周前更新

关于 Rxnorm

Rxnorm 将美国国家医学图书馆 RxNav API 的标准化药物概念提供给医疗数据使用者和 Agent。它支持药名解析及属性查询,并提供稳定的 RxCUI 以关联药物数据;不提供药物相互作用查询。

主要功能

  1. 01搜索药物并解析 RxCUI
  2. 02查询成分、规格和剂型
  3. 03关联品牌名与通用名
  4. 04通过 RxCUI 查询 NDC

适用场景

  1. 01将药物名称映射为标准概念
  2. 02跨药物数据源关联药品记录
  3. 03查询药物属性及 NDC 编号

MCP 相关

向 MCP 客户端提供 RxNorm 搜索和药物概念查询工具,可经 Pipeworx 网关连接或本地 stdio 运行;不提供药物相互作用工具。

配置

远程服务无需本地安装。选择你使用的客户端,复制配置或使用一键安装。

服务地址https://gateway.pipeworx.io/rxnorm/mcp
一键复制安装命令
Claude CodeTerminal
Cursor.cursor/mcp.json
VS Code.vscode/mcp.json
Claude Desktopclaude_desktop_config.json
Windsurf~/.codeium/windsurf/mcp_config.json

命令在终端中运行;JSON 粘贴到对应客户端的 MCP 配置后重启。需要授权的服务会在首次连接时提示登录。

工具

详细介绍

RxNorm — 标准化药物概念

美国国家医学图书馆制定的标准化药物命名体系。美国医疗系统中的每种处方药、非处方药和成分都有一个 RxCUI(稳定的概念 ID)。RxNorm 统一混乱的药物命名:Tylenol、acetaminophen 和 APAP 都会解析为同一个成分概念。免费,无需身份验证。

属于 Pipeworx — 一个将 AI Agent 连接到 1683+ 个实时数据源的 MCP 网关。

这对 AI Agent 为什么重要

药物数据出了名地杂乱。品牌名、通用名、盐型、剂量规格、剂型——同一种分子可能对应几十种字符串。RxNorm 提供规范 ID,可用于与 FDA 数据、药物相互作用数据库、EHR 系统和临床试验交叉引用。

三种核心流程:

1. 解析名称。“Ozempic 是什么?”→ rxnorm_search({name: "ozempic"}) → 按术语类型(SBD、BN、IN 等)分组的概念及其 RxCUI。

2. 获取药物属性。“这个 RxCUI 是什么?”→ rxnorm_get_properties({rxcui}) → 成分名称、规格、剂型、品牌状态。

**3. 药物相互作用——不可用。**NLM 于 2024 年 1 月停用了 RxNav 相互作用 API,且没有替代服务,因此此工具包没有 rxnorm_interactions 工具,Pipeworx 也没有药物间相互作用数据源。pharma_safety_report 会返回 FDA 标签中的“药物相互作用”部分,该部分记录的是单种药物,而非检查两种药物之间的相互作用;某种药物未出现在该文本中,并不表示它已通过安全性审查。

如需结合 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 批准后的一个月内收录;已弃用的产品会被标记,但仍保留在数据库中供历史查询。Pipeworx 使用 24 小时 TTL 进行缓存。

常见问题

  • **按品牌名搜索时只返回 SBD。**搜索“Ozempic”会返回语义品牌药物概念,而不是成分。要查到“semaglutide”,可以直接搜索通用名,或对品牌 RxCUI 调用 rxnorm_related({rxcui, tty: "IN"})。后者目前在某些配置中有缺陷——请参阅错误恢复。
  • 拼写的重要性超乎预期。“metformin hydrochloride”和“metformin HCl”返回的概念集合略有不同。搜索可以兼容常见缩写,但对不常见的缩写则要求精确匹配。
  • **NDC 不同于 RxCUI。**国家药品代码(NDC)是 FDA 签发的包装级标识符,不是 RxCUI。如果处方配药数据需要 NDC,请使用 rxnorm_ndc({rxcui}) 进行转换。
  • **复方药品。**像“Kombiglyze”这样的药物含有 metformin + saxagliptin。搜索“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 路由到整个目录——无需你再添加第二个 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

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。