FDA数据检索器MCP服务器
一个全面的模型上下文协议(MCP)服务器,提供对各种FDA(食品和药物管理局)设备相关API的访问。该服务器使用户能够获取和分析FDA设备数据,包括510(k)许可、设备分类、上市前批准、召回、不良事件等。
🚀 特性
美国食品药品监督管理局数据检索器提供访问 8个主要的FDA设备数据库 随着 16种专用工具:
可用的FDA终点
- 510(k)许可 -医疗器械许可
- 设备分类 -美国食品药品监督管理局设备分类和监管要求
- 上市前批准(PMA) -高风险设备批准
- 唯一设备标识符(UDI) -设备标识数据库
- 注册与上市 -制造商/机构注册
- 设备召回 -安全相关设备召回
- 新冠肺炎血清学检测 -新冠肺炎检测评估
- 器械不良事件 -安全事件报告
工具类型
每个端点提供两种类型的工具:
- 提取工具:检索具有完整详细信息的实际记录
- 计数工具:按特定字段聚合和计数数据
📋 需求
- python: >=3.10
- 依赖项:
- httpx>=0.28.1 (用于异步HTTP请求) - mcp[cli]>=1.13.1 (MCP框架)
🛠️ 安装
1.克隆或下载项目
git clone
cd fda_data_retriever2.安装依赖项
使用紫外线(推荐):
uv sync或者使用pip:
pip install -r requirements.txt🎯 用法
运行服务器
单独模式
uv run main.pyMCP配置
添加到MCP配置文件(mcp.json):
{
"servers": {
"fda-data-retriever": {
"command": "/opt/homebrew/bin/uv",
"args": ["--directory", "/path/to/fda_data_retriever", "run", "main.py"]
}
}
}可用工具
510(k)许可
fetch_510k_device_data()-获取510(k)的通关记录count_510k_device_data()-按字段统计510(k)个数据
设备分类
fetch_device_classification_data()-获取设备分类记录count_device_classification_data()-统计分类数据
上市前批准(PMA)
fetch_pma_device_data()-获取PMA批准记录count_pma_device_data()-统计PMA数据
唯一设备标识符(UDI)
fetch_udi_device_data()-获取UDI设备记录count_udi_device_data()-计算UDI数据
注册与上市
fetch_registrationlisting_data()-获取注册/上市记录count_registrationlisting_data()-统计注册数据
设备召回
fetch_device_recall_data()-获取设备召回记录count_device_recall_data()-统计召回数据
新冠肺炎血清学检测
fetch_covid19serology_data()-获取新冠肺炎检测评估记录count_covid19serology_data()-统计新冠肺炎检测数据
器械不良事件
fetch_device_event_data()-获取不良事件记录count_device_event_data()-统计不良事件数据
📖 查询示例
基本抓取
# Get recent 510(k) approvals
fetch_510k_device_data(limit=10, sort="decision_date:desc")
# Get Class II devices
fetch_device_classification_data(search="device_class:2", limit=20)
# Get recent recalls
fetch_device_recall_data(sort="recall_initiation_date:desc", limit=15)高级搜索
# Search by company
fetch_510k_device_data(search="applicant:medtronic", limit=25)
# Search by date range
fetch_pma_device_data(
search="decision_date:[2020-01-01+TO+2023-12-31]",
limit=50
)
# Search for specific device types
fetch_device_event_data(search="device.generic_name:pacemaker", limit=30)计数和分析
# Count 510(k) approvals by company
count_510k_device_data(count_field="applicant")
# Count devices by medical specialty
count_device_classification_data(count_field="medical_specialty_description")
# Count recalls by classification
count_device_recall_data(count_field="classification")复杂过滤
# Count cardiovascular PMA devices
count_pma_device_data(
count_field="device_name",
search="advisory_committee:cardiovascular"
)
# Get adverse events for a specific manufacturer
fetch_device_event_data(
search="manufacturer_name:abbott",
limit=100,
sort="date_received:desc"
)🏗️ 项目结构
fda_data_retriever/
├── main.py # Main MCP server entry point
├── fda_device_apis/ # FDA API modules package
│ ├── __init__.py # Package initialization
│ ├── fda_510k.py # 510(k) clearance tools
│ ├── fda_classification.py # Device classification tools
│ ├── fda_pma.py # Pre-market approval tools
│ ├── fda_udi.py # UDI tools
│ ├── fda_registrationlisting.py # Registration & listing tools
│ ├── fda_recall.py # Device recall tools
│ ├── fda_covid19serology.py # COVID-19 testing tools
│ └── fda_event.py # Adverse event tools
├── pyproject.toml # Project configuration
├── uv.lock # Dependencies lock file
└── README.md # This file🔍 搜索语法
FDA API使用Lucene-style搜索语法:
日期范围
decision_date:[2020-01-01+TO+2023-12-31]
recall_initiation_date:[2022-01-01+TO+*]精确匹配
applicant:"Medtronic Inc"
device_class:2通配符
device_name:*catheter*
manufacturer:abbott*布尔运算
applicant:medtronic+AND+device_class:2
device_name:stent+OR+device_name:catheter🚦 速率限制和分页
- 每次请求的最大限制:1000条记录
- 默认限制:5条记录
- 分页:使用
skip分页参数 - 不要求进行验证:美国食品药品监督管理局API是公开的
🐛 故障排除
常见问题
- 导入错误:确保你使用的Python>=3.10
- 网络超时:美国食品药品监督管理局的原料药可能很慢;考虑较小的批量
- 搜索语法:有关复杂的查询,请参阅FDA API文档
调试模式
# Run with verbose output
uv run main.py --verbose📚 FDA API参考文献
🤝 贡献
- 分叉存储库
- 创建要素分支(
git checkout -b feature/amazing-feature) - 提交您的更改(
git commit -m 'Add amazing feature') - 推到分支(
git push origin feature/amazing-feature) - 打开拉取请求
📄 许可证
此项目根据MIT许可证获得许可-请参阅 许可证 文件以获取详细信息。
🔗 相关项目
📧 支持
如有疑问或问题:
- 检查 FDA API文件
- 在此存储库中打开问题
- 联系维护人员
______________________________________________________________________
备注:此工具可访问公共FDA数据。出于监管或合规目的,始终通过美国食品药品监督管理局官方渠道核实关键信息。
