前端进阶之旅前端进阶之旅
基础篇
进阶篇
高频篇
精选篇
手写篇
面经篇
AI 篇
原理篇
每日一题
小程序题库
知识卡片NEW
  • 历年面经按年份追踪真实考点
  • 算法题库NEW在线编码即时判题
  • 专项自测100 题快速查漏
  • 业务场景题真实业务问题与追问
  • 查漏补缺常见问题解析
  • AI 模拟面试NEW模拟真实面试 + 报告
  • 前端基础
    • HTTP从报文一路讲到 HTTPS
    • 浏览器渲染、事件循环、进程
    • 计算机基础Linux、网络、操作系统
  • 进阶专项
    • 设计模式23 种模式怎么用
    • 前端系统进阶学习大型项目工程化
    • 前端综合文章长期沉淀的实践文
  • 工程与工具
    • Node学习指南从环境搭建到服务端
    • NPM工作流script、依赖与发布
    • Docker容器化部署上手
    • Canvas图形与动画实战
  • 路线与导图
    • 思维导图知识点全景图
    • 学习路线按图索骥不跑偏
    • AI 定制路线NEW按你的简历现排
    • AI 知识地图NEW串起全站知识点
  • 动态
    • AI 热点NEWAI 每日动态
    • 公众号动态公众号历史文章
    • 博客动态站长的技术博客
    • 开发者导航常用工具与文档站
AI 助手NEW
旧版
基础篇
进阶篇
高频篇
精选篇
手写篇
面经篇
AI 篇
原理篇
每日一题
小程序题库
知识卡片NEW
  • 历年面经按年份追踪真实考点
  • 算法题库NEW在线编码即时判题
  • 专项自测100 题快速查漏
  • 业务场景题真实业务问题与追问
  • 查漏补缺常见问题解析
  • AI 模拟面试NEW模拟真实面试 + 报告
  • 前端基础
    • HTTP从报文一路讲到 HTTPS
    • 浏览器渲染、事件循环、进程
    • 计算机基础Linux、网络、操作系统
  • 进阶专项
    • 设计模式23 种模式怎么用
    • 前端系统进阶学习大型项目工程化
    • 前端综合文章长期沉淀的实践文
  • 工程与工具
    • Node学习指南从环境搭建到服务端
    • NPM工作流script、依赖与发布
    • Docker容器化部署上手
    • Canvas图形与动画实战
  • 路线与导图
    • 思维导图知识点全景图
    • 学习路线按图索骥不跑偏
    • AI 定制路线NEW按你的简历现排
    • AI 知识地图NEW串起全站知识点
  • 动态
    • AI 热点NEWAI 每日动态
    • 公众号动态公众号历史文章
    • 博客动态站长的技术博客
    • 开发者导航常用工具与文档站
AI 助手NEW
旧版
返回 AI 情报前线
All News · 全部资讯8606
  • LLM时代重估开源开发工具的价值
  • 车经销商用 Agent 自动化 VIN 解码和安全召回检查
  • 用 Agent 自动化验证跨境供应商合规信息
  • 从 SEC 官方资料用 Agent 快速提取权威财报数据
  • Google 开源 PaliGemma:视觉任务微调的轻量基础模型
  • 多 Agent 并行工程:从审查瓶颈到可扩展工作流架构
  • 医疗网络用 Agent 批量验证医生提供者注册信息
  • pytest 测试套件静默失败:模块级 sys.exit() 打破收集器
  • MCP集成:让Claude访问实时食品检查数据
  • DBOS:数据库操作系统化解复杂时序任务容错难题
  • 构建高效AI辅助调试工作流:上下文优先于粘贴错误
  • 国际刑警报告:AI已成非洲网络犯罪核心驱动力
  • 谷歌AI编程课35万人参与:vibe coding大规模实践
  • Strands 框架实现多智能体游戏设计编排
  • AI 项目生产维护:如何应对「第二天」问题
  • 用 Apify MCP 为 Claude 添加食品召回实时查询
  • 用 Apify MCP 为 Claude 添加 FDA 药物不良事件查询
  • Google Agent Skills:规模化构建和维护 AI Agent 指令库
  • Claude Code vs Codex CLI:终端编码 Agent 2026 对比
  • 别再凭直觉选参数:系统扫描找到最优点
  • FDA 药物标签工具:MCP 实战集成指南
  • 用 MCP 为 Claude 接入欧盟制裁名单实时查询
  • 基准测试陷阱:重复测试前的准确性检查
  • 用 MCP 为 Claude 接入欧盟 VAT 验证服务
  • 用 AI 评分前必测评判者本身的离散度
  • Agent 系统设计:模型负责智能,Harness 负责可靠性
  • 优化 OCR 功耗不靠加速,靠减少调用
  • 开源视频模型首次登顶排行
  • 生产 AI 助手的周度日志审计工程实践
  • 新模型发布后应先做验收测试再切换
  • DeepSeek 小模型性能反超旗舰版
  • 在被迫迁移前准备LLM供应商退出方案
  • OpenAI悄悄降价80%、价格追踪工具如何失效
  • JFrog 曝光:54 个虚假 CVE 建议通过审批流程
  • 用 Apify MCP 为 Claude 接入实时 OFAC 制裁查询
  • 生产 Agent 的决胜因素:系统架构而非模型选择
  • Cloudflare Workers RPC 跨语言对象交互
  • 大模型推理优化:量化、压缩与安全验证
  • 突破容器限制:为 Agent 设计专用运行时
  • JetBrains 分享 AI 工具成本管理经验
  • Karpathy实测Claude Opus:一段文本变5500行3D代码
  • 商汤开源 4K 图像生成模型 SenseNova U1.5 Lite
  • SQLite"漏洞"还是AI幻觉?JFrog安全剖析
  • Nightcrawler:离线运行在手机的AI安全测试Agent
  • 企业 AI 7 大误区:RAG 优于 fine-tuning 的成本优化
  • 阿里 Qwen3.8-Max 对标 Fable 5 和 OpenAI 前沿模型
  • 阿里开源 Qwen3.8-Max:2.4 万亿参数长链条模型
  • GPT-5.6独立破解量子密码:两队竞速仅差3小时
  • DeepSeek-V4-Flash 开源:304B 模型成本降 65%
  • Markdown 规范如何指导 AI Agent 改代码
  • 无人值守 AI Agent 的异步审批模式
  • 已加载 51 / 8606
8.0
热点
AI SCORE
编程提效2026-08-03 22:29

FDA 药物标签工具:MCP 实战集成指南

dev.to · AI#MCP#Claude#工具集成
Editor brief · 编辑速览

展示如何通过 Apify MCP server 将 Claude 与 FDA 官方数据库集成,解决医疗 AI 的事实准确性问题,包含完整的实现代码和输出验证。

文章思维导图
Knowledge map
拖拽缩放
Full translation

完整中文译文

AI Agent 擅长推理,却很不擅长处理事实。询问 Claude:处方布洛芬是否带有黑框警告、有哪些禁忌证,以及某个特定版本由哪家公司生产,它会根据训练数据给出一个信心十足的答案——但这个答案可能已经过时,可能混合了不同产品的信息,也可能完全错误。在健康科技、制药和临床场景中,药品标签信息“可能正确”远远不够。

本指南将解决这个问题。我们会把 Claude 连接到官方 Apify MCP server,开放一个从 openFDA 读取美国结构化药品标签的 Actor,让“标签上怎么说?”从模型猜测变成对 FDA 实际批准标签的实时查询。完成后,你将拥有一个可用的药品标签工具,Claude、Cursor 或任何 MCP client 都能在对话过程中调用它;你也会清楚了解这个工具在运行流程的哪个环节触发,以及它会返回什么。

下面展示的全部都是真实配置和真实输出,没有模拟响应。

什么是 Apify MCP server?

Model Context Protocol(MCP)是一项开放标准,允许 AI client 调用外部工具。Apify MCP server(https://mcp.apify.com)在 Apify 平台之上实现了这项标准。这意味着 Apify Store 中数以千计的 Actor,都可以成为 Agent 能够调用的工具。

为什么要通过 MCP 调用 Actor,而不是直接硬编码 API 请求?

Agent 自己决定何时获取数据。Claude 会阅读对话内容,发现自己需要一个并不掌握的事实,然后自主调用工具。你不必为每一种问题编写胶水代码。

输入和输出都是结构化的。MCP server 会把 Actor 的输入 schema 提供给 Claude,因此模型能够正确填写参数,并获得一份便于推理的干净 dataset。

一个连接,多种工具。同一个 MCP endpoint 可以开放 search-actors、fetch-actor-details 和 call-actor,因此 Agent 无需添加新配置,就能发现并运行任意 Actor。

无需维护基础设施。server 已经托管完成,你只需在配置文件中添加几行内容即可。

我们将使用的 Actor

我们将开放 openFDA Drug Labels & Ingredients Scraper。输入药品名称后,它会返回匹配产品的结构化 FDA 标签,包括品牌名和通用名、生产商、产品类型(OTC 或处方药)、给药途径、活性和非活性成分、NDC 和申请编号、药理类别,以及临床医生会阅读的完整标签章节,其中包括适应证、用法用量、黑框警告、禁忌证、警告、不良反应和药物相互作用。

这些字段正是用药安全检查、药品目录工具或临床决策支持原型所需要的。FDA 标签很适合作为第一个数据源,因为它公开、权威,也是某种药物在美国获准用于哪些用途的唯一事实来源。

The openFDA Drug Labels & Ingredients Scraper on the Apify Store

第 1 步:获取 Apify API token

登录 Apify Console,打开 Settings → Integrations,然后复制你的个人 API token。MCP server 会使用它完成身份验证,并将 Actor 的运行费用计入你的账户。

📌 注意:token 属于机密信息。只应将它保存在 client 配置中,绝不要放进 prompt,也不要提交到版本控制仓库。

第 2 步:让 Claude Desktop 连接 Apify MCP server

打开 Claude Desktop 的配置文件(Settings → Developer → Edit Config;在 macOS 上也可以打开 ~/Library/Application Support/Claude/claude_desktop_config.json),然后添加 Apify server。这里最重要的是 tools 查询参数:它会告诉 server 应该开放哪个 Actor,让 Claude 获得一个目标明确的工具,而不是整个 Apify Store。

{
  "mcpServers": {
    "apify": {
      "url": "https://mcp.apify.com?tools=scrapers_lat/openfda-drug-labels-scraper",
      "headers": {
        "Authorization": "Bearer YOUR_APIFY_TOKEN"
      }
    }
  }
}

Cursor 在 .cursor/mcp.json 中使用相同的 JSON。如果你更愿意通过 stdio 在本地运行,而不是使用托管 endpoint,可以使用以下配置:

{
  "mcpServers": {
    "apify": {
      "command": "npx",
      "args": ["-y", "@apify/actors-mcp-server", "--tools", "scrapers_lat/openfda-drug-labels-scraper"],
      "env": { "APIFY_TOKEN": "YOUR_APIFY_TOKEN" }
    }
  }
}

重启 Claude Desktop,让它加载新的 server。

第 3 步:确认工具已经加载

重启后,这个 Actor 会显示为一个可调用工具。如果列出 Apify server 开放的工具,你会看到存储辅助工具,以及以 Store handle 命名的 Actor 本身:

get-actor-run, get-dataset-items, get-key-value-store-record,
abort-actor-run, scrapers_lat--openfda-drug-labels-scraper

最后一项 scrapers_lat--openfda-drug-labels-scraper 就是我们的药品标签工具。现在,Claude 已经知道它的存在、它能做什么(来自 Actor 的 README),以及它接受哪些输入(来自 server 一并传递的 input schema)。

第 4 步:向 Claude 询问药品标签

现在到了见证效果的时候。在普通聊天中,提出一个需要权威事实才能回答的问题:

“对于处方布洛芬,FDA 标签如何描述它的黑框警告和禁忌证?它由谁生产?”

Claude 会意识到自己无法仅凭记忆可靠地回答这个问题,于是选择药品标签工具,并根据你的问题填写输入参数。在底层,client 会使用 Actor 参数发送一次 tools/call:

{
  "name": "scrapers_lat--openfda-drug-labels-scraper",
  "arguments": {
    "query": "ibuprofen",
    "maxLabels": 5
  }
}

Apify MCP server 会启动 Actor,等待运行完成,然后返回 dataset。以下是这次真实运行产生的 metadata:

{
  "runId": "H0JcoVdo3IP456L6o",
  "actorName": "scrapers_lat/openfda-drug-labels-scraper",
  "status": "SUCCEEDED",
  "startedAt": "2026-07-30T17:43:51.221Z",
  "finishedAt": "2026-07-30T17:43:55.217Z",
  "stats": { "runTimeSecs": 3.9 }
}

不到 4 秒,就完成了对 FDA 标签数据集的实时查询。

第 5 步:读取真实输出

这个工具返回的 dataset 是结构化标签数据,每种产品对应一条记录。查询“ibuprofen”会返回多种产品,从 OTC 商店自有品牌片剂到处方制剂都有。对于安全检查来说,其中最值得关注的是处方药记录。以下是这次运行产生的一条真实记录,为便于展示,只保留了相关字段:

{
  "brandName": ["Ibuprofen"],
  "genericName": ["IBUPROFEN"],
  "manufacturerName": ["Aurobindo Pharma Limited"],
  "productType": "HUMAN PRESCRIPTION DRUG",
  "route": ["ORAL"],
  "productNdc": ["59651-360", "59651-361", "59651-362"],
  "applicationNumber": ["ANDA213794"],
  "pharmClass": [
    "Nonsteroidal Anti-inflammatory Drug [EPC]",
    "Cyclooxygenase Inhibitors [MoA]"
  ],
  "unii": ["WK2XYI10QM"],
  "boxedWarning": "Cardiovascular Thrombotic Events ... NSAIDs cause an increased risk of serious cardiovascular thrombotic events, including myocardial infarction and stroke, which can be fatal. ... contraindicated in the setting of coronary artery bypass graft (CABG) surgery ...",
  "indicationsAndUsage": "Ibuprofen tablets are indicated for relief of the signs and symptoms of rheumatoid arthritis and osteoarthritis ...",
  "effectiveTime": "2025-02-14"
}

Claude calling the openFDA drug-label tool and answering with live labeling data

Claude 会读取这些数据,并用自然语言回答:这款处方布洛芬(Aurobindo Pharma,ANDA213794)带有黑框警告,提示存在严重心血管血栓事件和胃肠道出血风险;它禁用于冠状动脉旁路移植术(CABG)场景,以及使用阿司匹林或 NSAID 后会诱发哮喘或荨麻疹的患者;其适应证包括类风湿关节炎和骨关节炎。所有这些事实都能追溯到一份生效日期为 2025-02-14 的标签,而不是来自模型的记忆。

区分不同产品同样重要。相同查询还会返回 OTC 记录,例如某全国性连锁药房销售的自有品牌 200 mg 片剂。它没有黑框警告,适应证只是简单的“暂时缓解轻微疼痛”。安全工具必须能够区分 OTC 片剂和处方强度制剂,因为二者的警告、剂量和获批用途并不相同。Actor 会同时提供这两类产品,并附带 productType、applicationNumber 和相应标签章节,让 Agent 能够选出正确的产品。

一个真实用例:用药安全 Agent

把它放到实际场景中来看。一家健康科技团队正在构建一个接诊助手,用来检查患者当前服用的药物是否与新处方存在冲突。在标记任何问题之前,它需要依据权威标签,而不是记忆中模糊的近似信息,确认以下几点:

  • 涉及的药物确实带有被引用的警告;

  • 患者的病情没有被列入禁忌证;

  • 产品类型和规格与实际处方一致。

如果没有工具,分析人员就必须打开 FDA 标签查询页面,搜索药物,阅读黑框警告和禁忌证章节,再把相关内容复制到记录中——每种药物都要重复一次。把工具接入 Claude 后,分析人员只需将药物清单粘贴到聊天中,让 Agent 拉取每种药物的标签。Claude 会针对每种药物调用 Actor,提取 boxedWarning、contraindications 和 drugInteractions 章节,与患者背景进行对比,再生成一份简短的结构化说明,并以 NDC 和申请编号作为证据。机械性的查询工作消失了,临床判断仍然由人类负责。

这正是每个优秀 Agent 工具应有的形态:它替你获取信息,而不是替你做决定。

更进一步:串联第二个工具

药品标签会告诉你一种药物获准用于什么用途,以及它对哪些风险发出警告。但它不会告诉你,人们服药后实际报告了哪些情况。只需扩展 tools 参数,同一个 MCP 连接就能开放更多 Actor:

https://mcp.apify.com?tools=scrapers_lat/openfda-drug-labels-scraper,scrapers_lat/openfda-drug-events-scraper

现在,Agent 可以在一次对话中读取官方标签,同时从 FDA 报告系统中拉取同一种药物的真实世界不良事件报告,然后将二者合并成一份安全摘要:标签警告了什么,以及患者和临床医生实际报告了什么。由于每个 Actor 都是独立工具,Agent 会自行在每一步选择正确的工具。

🏹 故障排查:如果工具没有出现在 Claude 中,最常见的两个原因是:tools 参数中的 Actor handle 缺失或拼写错误——它必须与 Store URL 中的 username/actor-name 完全一致;或者你在 Claude 仍处于运行状态时修改了配置。修正 handle,保存配置,然后彻底重启 client。

📌 注意:每次工具调用都会实际运行一次 Actor,费用将计入你的 Apify 账户(这个 Actor 按结果收费)。对于零散查询,单次成本不到一美分;如果你计划定时拉取数千条标签,应该直接通过 Apify API 或 scheduled task 运行 Actor,而不是每条聊天消息调用一次。像“ibuprofen”这样的药品名称可能匹配数十种产品,因此应严格限制 maxLabels,并在需要特定标签时使用 productType、route 或 manufacturer 缩小结果范围。

现在,你已经拥有一个 AI Agent。它可以在对话进行过程中,根据需要实时读取美国药品的实际 FDA 标签,并获得临床或制药检查真正需要的黑框警告、禁忌证、成分和标识符详情。这个模式可以重复使用:选择一个能够返回权威结构化数据的 Actor,通过 Apify MCP server 的 tools 参数开放它,再由 Agent 自行决定何时调用。

使用 productType、route 和 manufacturer 输入缩小查询范围,以锁定某一份具体标签,而不是返回整个药物类别。

添加 adverse-events Actor,把分析范围从“标签警告了什么”扩展到“实际报告了什么”。

阅读 Apify MCP server 文档,了解 OAuth 设置、resource 读取,以及允许 Agent 发现未预先配置 Actor 的 search-actors / call-actor 工具。

本指南使用的 Actor:openFDA Drug Labels & Ingredients Scraper。

如需采取进一步措施,你可以考虑屏蔽此人和/或举报滥用行为。

Original source

本文由 AI 翻译整理自 dev.to · AI,原文版权归原作者所有。

阅读英文原文
上一篇
别再凭直觉选参数:系统扫描找到最优点
下一篇
用 MCP 为 Claude 接入欧盟制裁名单实时查询