mcpField
M
Mhra Uk

Mhra Uk

远程服务
pipeworx.io健康医疗01 天前更新

关于 Mhra Uk

Mhra Uk 是查询英国 MHRA 药品登记文件的 MCP 服务,索引 SmPC、患者说明书和公开评估报告及其元数据。它提供文件信息和权威 PDF 链接,不将文件目录作为结构化药品记录。

主要功能

  1. 01按产品、品牌或活性成分搜索
  2. 02按许可证号查看相关文件
  3. 03查询新增或修订文件
  4. 04查看文件总量与类型统计

适用场景

  1. 01查找药品的 SmPC 或患者说明书
  2. 02按许可证号整理产品文件
  3. 03检查某日期后的文件变更

MCP 相关

向 MCP 客户端提供 MHRA 文件搜索、许可证文件查询、变更查询和登记快照工具,可通过 Pipeworx 网关或本地 stdio MCP 服务访问。

配置

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

服务地址https://gateway.pipeworx.io/mhra-uk/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 配置后重启。需要授权的服务会在首次连接时提示登录。

工具

详细介绍

@pipeworx/mhra-uk

英国药品注册库——products.mhra.gov.uk 背后的 MHRA 产品数据库。 英国脱欧后,EMA 注册库不再涵盖英国,因此这是英国的 授权信息来源。

属于 Pipeworx——一个将 AI Agent 连接到 1882+ 个实时数据源的 MCP 网关。这是一个独立、非官方的集成,与上游提供方无关联,未获其认可,也不是由其发布。

这个注册库的实际内容

它是一个文档索引——产品特性概要、患者 信息说明书和公开评估报告,均以 PDF 形式提供,并附有各自的元数据。它不是结构化产品记录注册库。其中没有适应症字段、途径字段或授权状态字段。

这决定了这里每个工具的设计。mhra_product 返回文档元数据和 权威 PDF URL,而不是文档摘要,因为获批适应症文本写在 SmPC 的 4.1 节中,其他地方都没有。authorisation_status 始终为 unknown,并附有说明原因的注释:唯一类似状态的字段是 release_state,所有 79,112 份已发布文档中的值都是 Y,意为“已发布”,而非“当前已获授权”。将其报告为授权状态,只是用一个字段名包装起来的猜测。

工具

  • mhra_search(query, doc_type?, territory?, limit?, offset?) — 按产品、 品牌或活性成分搜索。每份文档对应一行。
  • mhra_product(pl_number) — 返回单个许可证的所有文档,按类型分组。 接受 PL 29831/0798、PL29831/0798、PL298310798 以及 PLGB / PLNI 格式。
  • mhra_recent_changes(since, doc_type?, limit?) — 返回自指定日期以来新增或修订的 文档,按时间倒序排列。重复执行结果幂等。
  • mhra_snapshot() — 总数、各文档类型的数量、最新文档日期以及分页方法。只返回数量,不返回文档。

许可证前缀不能互换使用

PL 适用于整个英国,PLGB 仅适用于大不列颠,PLNI 仅适用于北爱尔兰。 截至 2026-09-07 的统计:英国 64,126 份文档,大不列颠 8,428 份,北爱尔兰 48 份。将它们视为可互换项,会用一个可能只覆盖其中一小部分地区的许可证来回答“这款药在英国是否获批?”

枚举

没有批量下载。使用 mhra_search({query: "*", limit: 50, offset: N}) 遍历注册库,每次将 offset 增加 50。 mhra_snapshot() 会返回当前总数,方便你判断何时停止。

recent_changes 报告新增和变更,不报告撤销

注册库记录的是文档,撤销不会作为事件发布。 每个响应中的 covers 字段都会说明这一点。不要将缺少记录视为撤销。

需要了解的脆弱之处

搜索通过 Azure Cognitive Search 运行,使用的是 MHRA 自己的客户端密钥——每个加载 products.mhra.gov.uk 的浏览器都会获取该密钥。任何人都无需账户、付费或协议即可访问这些数据。但如果 MHRA 轮换该密钥,此工具包就会停止工作,修复方法是再次从他们公开的 bundle 中读取当前密钥。medicines.api.mhra.gov.uk/graphql 也出现在他们的 bundle 中,但每次请求都会返回 503;不要基于它构建功能。

此索引中的 created 字段可排序,但不可筛选,因此 recent_changes 会按时间倒序排列,并在达到截止时间时停止,而不是将日期筛选条件传给上游。

快速开始

添加到你的 MCP 客户端(Claude Desktop、Cursor、Windsurf 等):

{
  "mcpServers": {
    "mhra-uk": {
      "url": "https://gateway.pipeworx.io/mhra-uk/mcp"
    }
  }
}
此端点实际提供的内容

tools/list 在 https://gateway.pipeworx.io/mhra-uk/mcp 返回上表中的工具,以及 Pipeworx 的共享元工具——ask_pipeworx、 discover_tools、search_within、remember/recall 和网关全局工具集中的其他工具。因此,你看到的工具数量会多于此表:单个工具包端点目前会列出大约 30 个共享工具,以及该工具包自身的工具。连接的 initialize 响应会说明确切的范围,也是当天情况的权威依据。

这是有意为之,并非意外多路复用。这些元工具能让受限范围的连接回答此工具包未覆盖的问题——通过 ask_pipeworx 跨整个目录进行路由——无需你再添加第二个 MCP 服务。目前无法挂载不包含这些元工具的工具包端点;如果额外的架构占用的上下文比路由带来的价值更大,请连接一次完整网关,而不是连接多个工具包端点。

也可以连接完整的 Pipeworx 网关,直接列出所有工具包的工具,而不只是此工具包的工具:

{
  "mcpServers": {
    "pipeworx": {
      "url": "https://gateway.pipeworx.io/mcp"
    }
  }
}

这两个 URL 都连接到同一个网关和相同的 1882+ 个数据源。唯一的区别在于直接列出的是哪个工具包的工具;无论连接哪一个,ask_pipeworx 都能访问所有工具。

没有 MCP 客户端?通过 HTTP 调用

curl -X POST https://gateway.pipeworx.io/v1/tools/mhra_search \
  -H 'Content-Type: application/json' \
  -d '{"query":"atorvastatin"}'

首次调用无需账户。检查任意工具:GET https://gateway.pipeworx.io/v1/tools/mhra_search。查找工具包:使用 {"query":"..."} 调用 POST https://gateway.pipeworx.io/v1/tools/search_packs。

独立运行(无需网关账户)

此软件包也可以作为本地 stdio MCP 服务运行,无需 Pipeworx 账户,也无需与网关往返通信:

{
  "mcpServers": {
    "mhra-uk": {
      "command": "npx",
      "args": ["-y", "@pipeworx/mcp-mhra-uk"]
    }
  }
}

或者直接运行,以确认它可以启动:

npx -y @pipeworx/mcp-mhra-uk

它通过 stdin/stdout 使用 MCP 通信,并针对仅此工具包的工具响应 initialize/tools/list/tools/call——不包含上述网关连接额外提供的任何共享元工具。相同的源代码,相同的工具,但没有 ask_pipeworx 路由。

使用 ask_pipeworx

你也可以用通俗英语提问,而不是直接调用工具——这既适用于上述工具包端点,也适用于完整网关:

ask_pipeworx({ question: "your question about Mhra Uk data" })

网关会自动选择合适的工具并填入参数。

更多信息

许可证

MIT

评论

支持 Markdown

第一次接触 MCP?

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

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