非官方FDA API MCP服务器
一个全面的模型上下文协议(MCP)服务器,通过openFDA API访问美国食品药品监督管理局的公共数据集。该服务器允许查询药品不良事件、产品标签、召回、批准、短缺、NDC目录信息和医疗器械监管数据,包括510(k)许可、分类和不良事件。
特性
药物工具(已实施6个工具)
- 搜索_药物_广告_事件:搜索美国食品药品监督管理局不良事件报告系统(FAERS)数据
- 搜索_标签:搜索药品标签信息
- search_drug_ndc:查询国家药品代码(NDC)目录
- search_drug_calls:查找药品召回执法报告
- search_drugs_fda:搜索Drugs@FDA批准产品数据库
- 搜索_药物_短缺:查询当前药品短缺情况
设备工具(已实施4个工具)
- 搜索设备_510k:搜索FDA 510(k)设备许可
- 搜索设备分类:搜索FDA设备分类
- search_device_adverse_events:搜索FDA器械不良事件(MDR)
- search_device_recalls:搜索FDA设备召回执行报告
主要特点
- 综合搜索:按药物名称、制造商、适应症、日期等进行高级过滤
- 速率限制:对FDA API速率限制的内置意识(无API密钥,每小时1000次请求)
- 错误处理:强大的错误处理,带有有意义的错误消息
- 格式化结果:带有相关元数据的干净、结构化的JSON响应
- 可选API密钥:支持FDA API密钥以获得更高的速率限制(120000次请求/小时)
安装
- 服务器已在MCP设置中构建和配置
- 可选择为更高的速率限制设置FDA API密钥:
# Set FDA_API_KEY environment variable for higher rate limits
export FDA_API_KEY="your_api_key_here"获取FDA API密钥:
- 访问 https://open.fda.gov/apis/authentication/
- 注册API密钥
- 将其添加到MCP设置或环境中
用法示例
搜索药物不良事件
Search for adverse events related to aspirin that occurred in the United States in 2023搜索药品标签
Find labeling information for diabetes medications manufactured by Novo Nordisk搜索NDC目录
Look up NDC information for ibuprofen tablets搜索药品召回
Find all Class I drug recalls from 2023 involving contamination搜索FDA批准的药物
Find all FDA-approved drugs sponsored by Pfizer with injection dosage form搜索药品短缺
Find current drug shortages for antibioticsAPI响应格式
所有工具都返回结构化JSON,其中包含:
search_criteria:用于搜索的参数total_results:FDA数据库中匹配记录的总数results_shown:此响应中返回的结果数[data_type]:格式化结果数组(例如。,adverse_events,drug_labels)api_usage:有关API关键状态和费率限制的信息
速率限制
- 没有API密钥:每小时1000个请求
- 使用API密钥:每小时120000个请求
- 服务器会自动处理速率限制错误并提供有用的消息
建筑
服务器采用模块化架构构建:
/src/index.ts:主服务器设置和工具注册/src/handlers/drug-handlers.ts:所有与毒品有关的工具的实施/src/handlers/device-handlers.ts:所有与设备相关的工具实现/src/utils/api-client.ts:具有错误处理和速率限制的HTTP客户端/src/types/fda.ts:所有FDA数据结构的TypeScript接口
支持的搜索参数
药物不良事件
drug_name:药物或药物名称brand_name:品牌/商号generic_name:通用名称manufacturer:制造商名称reaction:不良反应或副作用serious_only:仅返回严重不良事件patient_sex:患者性别(1=男性,2=女性)country:事件发生的国家date_from/date_to:日期范围筛选器count:用于计数的分组结果limit:最大结果(1-100)skip:分页偏移
药品标签
brand_name:药物的品牌/商品名generic_name:通用名称manufacturer:制造商名称active_ingredient:活性成分名称indication:医疗指征或状况route:管理途径product_type:产品类型- 加上标准分页和计数参数
NDC目录
product_ndc:产品NDC编号package_ndc:包装NDC编号proprietary_name:品牌名称nonproprietary_name:通用名称labeler_name:制造商/贴标商名称dosage_form:剂型(片剂、胶囊等)route:管理途径substance_name:活性物质名称- 加上标准分页和计数参数
药品召回
product_description:产品描述recalling_firm:召回公司名称classification:召回分类(I、II、III类)status:召回状态state/country:地理过滤器reason_for_recall:召回原因date_from/date_to:日期范围筛选器- 加上标准分页和计数参数
Drugs@FDA
sponsor_name:赞助商/申请人姓名application_number:美国食品药品监督管理局申请号brand_name:品牌/商号generic_name:通用名称active_ingredient:活性成分dosage_form:剂型marketing_status:营销状态- 加上标准分页和计数参数
药品短缺
product_name:产品名称generic_name:通用名称brand_name:品牌名称active_ingredient:活性成分shortage_status:当前短缺状态shortage_designation:短缺指定(是/否)dosage_form:剂型- 加上标准分页和计数参数
设备510(k)间隙
device_name:医疗器械名称applicant:申请人公司名称contact:联系方式product_code:美国食品药品监督管理局产品代码clearance_type:510(k)间隙类型decision_date_from/decision_date_to:决策日期范围筛选器- 加上标准分页参数
设备分类
device_name:医疗器械名称device_class:设备类别(1、2、3)medical_specialty:医学专业product_code:美国食品药品监督管理局产品代码regulation_number:美国食品药品监督管理局法规编号- 加上标准分页参数
器械不良事件
device_name:医疗器械名称brand_name:设备的品牌名称manufacturer:设备制造商名称product_code:美国食品药品监督管理局产品代码event_type:不良事件类型patient_sex:患者性别(F=女性,M=男性)date_from/date_to:事件日期范围筛选器- 加上标准分页参数
设备召回
product_description:产品描述或名称recalling_firm:召回公司的名称classification:召回分类(I、II、III类)status:召回状态product_code:美国食品药品监督管理局产品代码date_from/date_to:召回启动日期范围过滤器- 加上标准分页参数
未来改进
服务器架构支持通过额外的FDA端点轻松扩展:
- 设备工具:510(k)批准、分类、不良事件、召回
- 食品工具:不良事件、召回执行报告
- 其他工具:物质数据、UNII、烟草报告、历史文件
错误处理
服务器为以下内容提供全面的错误处理:
- 搜索参数无效
- API速率限制
- 网络连接问题
- FDA API服务不可用
- 响应格式错误
发展
内置:
- TypeScript:类型安全开发
- MCP-SDK:模型上下文协议实现
- 阿西奥斯:带有拦截器的HTTP客户端
- Node.js:运行时环境
许可证
该项目是开源的,可以在标准许可条款下使用。
支持
有关FDA API MCP服务器的问题或疑问:
- 查看FDA API文件: https://open.fda.gov/apis/
- 审查速率限制和身份验证要求
- 确保搜索参数中的JSON格式正确
______________________________________________________________________
*此MCP服务器提供对公共FDA数据集的访问。始终咨询医疗保健专业人员以获取医疗决策和药物信息。*
