OpenFDA Intelligence MCP Server
Pricing
Pay per usage
OpenFDA Intelligence MCP Server
The FDA's openFDA program contains over 20 million records across drug adverse events, recalls, product labels, medical device malfunction reports, and food enforcement actions. This data drives billion-dollar regulatory decisions — but the raw API is complex, inconsistently...
Pricing
Pay per usage
Rating
0.0
(0)
Developer
Andrew Avina
Maintained by CommunityActor stats
0
Bookmarked
1
Total users
0
Monthly active users
7 days ago
Last modified
Categories
Share
openfda-intelligence-mcp
Every FDA drug recall, adverse event, and safety action — structured for AI.
What Is This?
The FDA's openFDA program contains over 20 million records across drug adverse events, recalls, product labels, medical device malfunction reports, and food enforcement actions. This data drives billion-dollar regulatory decisions — but the raw API is complex, inconsistently structured, and completely inaccessible to AI workflows.
openfda-intelligence-mcp wraps all five major openFDA endpoints into a single, consistent, MCP-compatible actor. One tool call gives your AI assistant access to the same underlying data that powers FDA safety surveillance, pharmacovigilance teams, and medtech regulatory filings.
Whether you're a pharma compliance officer running weekly signal detection, a medtech startup doing pre-submission due diligence, or a healthcare journalist investigating a drug's safety record — this actor gives you a structured, AI-queryable interface to the FDA's entire public safety database.
The Five Endpoints
| Endpoint | FDA Source | Records Available | What It Contains |
|---|---|---|---|
| Adverse Events (FAERS) | FDA Adverse Event Reporting System | 18M+ reports | Patient-reported drug side effects, outcomes, seriousness |
| Drug Recalls (Enforcement) | FDA Enforcement Reports | 50,000+ actions | Recall class, reason, product description, firm name |
| Drug Labels | DailyMed / SPL | 140,000+ labels | Full prescribing information, contraindications, warnings |
| Device Events (MDR) | Medical Device Reporting | 9M+ reports | Device malfunctions, injuries, deaths linked to medical devices |
| Food Enforcement | FDA Enforcement Reports | 15,000+ actions | Food recalls, market withdrawals, safety alerts |
Who Uses This?
| User Type | Specific Use Case | Value Delivered |
|---|---|---|
| Pharma Compliance Teams | Weekly FAERS signal detection for marketed drugs | Catch safety signals 2–3 weeks before formal FDA safety communications |
| Medtech Startups | Pre-submission 510(k) competitive device safety analysis | Pull MDR reports for predicate devices to anticipate FDA questions |
| Healthcare AI Builders | Training data for clinical decision support | Structured adverse event data with MedDRA coding |
| Investigative Health Journalists | Drug safety investigative reporting | Cross-reference FAERS reports with enforcement actions |
| Biotech Due Diligence Analysts | Safety profile of acquired drug candidates | Historical adverse event burden vs. comparator drugs |
| Hospital Pharmacy Teams | Drug recall monitoring | Real-time recall alerts for formulary drugs |
| Regulatory Affairs Consultants | Label comparison and gap analysis | Pull competitor labels side-by-side |
| Medical Malpractice Attorneys | Adverse event history for litigation | Document FDA-received adverse event frequency |
Feature Overview
| Feature | Detail |
|---|---|
| Adverse Event Search | Filter by drug name, reaction, seriousness, report date, outcome |
| Recall Search | Filter by product name, recall class (I/II/III), firm, date |
| Label Search | Full-text search across 140K+ SPL drug labels |
| Device Event Search | Filter by device name, manufacturer, event type, date |
| Food Enforcement Search | Filter by product type, recalling firm, reason for recall |
| MedDRA Code Filtering | Filter adverse events by standardized MedDRA reaction codes |
| Seriousness Flags | Filter by serious/non-serious, death, hospitalization, life-threatening |
| Date Range Queries | All endpoints support receive date and action date filtering |
| Aggregate Statistics | Count queries: top reactions for a drug, top recalled products by firm |
| Batch Mode | Run bulk queries across multiple drugs/devices |
| MCP Real-Time | Live tool calls from Claude Desktop and compatible AI clients |
Quick Start
MCP Mode
{"mcpServers": {"openfda-intelligence": {"command": "npx","args": ["-y","@apify/mcp-client","--actor-id","your-username/openfda-intelligence-mcp","--token","YOUR_APIFY_TOKEN"]}}}
Ask Claude:
"Search FDA adverse events for metformin. Focus on serious events involving lactic acidosis reported in the last 3 years. Show me the count trend year-over-year."
Batch Mode — Drug Safety Monitor
{"mode": "batch","formularyDrugs": ["metformin", "semaglutide", "apixaban", "rosuvastatin"],"checkEndpoints": ["adverseEvents", "recalls"],"dateFrom": "2024-01-01","seriousOnly": true}
API Mode
curl -X POST https://api.apify.com/v2/acts/your-username~openfda-intelligence-mcp/run-sync \-H "Authorization: Bearer YOUR_APIFY_TOKEN" \-H "Content-Type: application/json" \-d '{"endpoint": "adverseEvents","drugName": "ozempic","reactionTerm": "pancreatitis","seriousOnly": true,"dateFrom": "2021-01-01","maxResults": 100}'
MCP Tools Reference
search_adverse_events
Search the FDA Adverse Event Reporting System (FAERS).
Parameters:
| Parameter | Type | Required | Description |
|---|---|---|---|
drugName | string | No | Generic or brand drug name |
reactionTerm | string | No | Adverse reaction term (MedDRA preferred term) |
seriousOnly | boolean | No | Filter to serious events only (default: false) |
outcomes | array | No | Filter by outcome: death, hospitalization, life_threatening, disability, congenital_anomaly |
reportDateFrom | string | No | Report receive date start (YYYYMMDD) |
reportDateTo | string | No | Report receive date end (YYYYMMDD) |
ageGroup | string | No | pediatric, adult, elderly |
sex | string | No | male, female |
maxResults | integer | No | Max results (default: 50, max: 1000) |
countBy | string | No | Return aggregate count by: reaction, drug, year, outcome |
Example response:
{"adverseEvents": [{"safetyReportId": "US-PFIZER-2023-1234567","receiveDate": "20230615","serious": true,"seriousnessHospitalization": true,"primaryDrug": {"name": "OZEMPIC","genericName": "semaglutide","indication": "TYPE 2 DIABETES","dosage": "0.5 MG/DOSE","route": "SUBCUTANEOUS"},"reactions": [{ "term": "Pancreatitis acute", "outcome": "Recovered/resolved" }],"patientAge": 58,"patientSex": "Female","country": "US","reporterQualification": "Physician"}],"totalCount": 2847,"queryMetadata": { "dataSource": "openFDA FAERS", "coverage": "1990-present" }}
search_drug_recalls
Search FDA drug enforcement and recall actions.
Parameters:
| Parameter | Type | Required | Description |
|---|---|---|---|
productDescription | string | No | Product name or description search |
recallingFirm | string | No | Company issuing the recall |
recallClass | string | No | I (dangerous), II (may harm), III (unlikely to harm) |
reasonForRecall | string | No | Text search in reason field |
initiationDateFrom | string | No | Recall initiation date start |
initiationDateTo | string | No | Recall initiation date end |
voluntaryMandated | string | No | Voluntary or FDA Mandated |
maxResults | integer | No | Max results |
search_drug_labels
Search FDA-approved drug prescribing information.
Parameters:
| Parameter | Type | Required | Description |
|---|---|---|---|
brandName | string | No | Drug brand name |
genericName | string | No | Generic drug name |
activeIngredient | string | No | Active ingredient search |
manufacturer | string | No | Manufacturer name |
labelSection | string | No | Specific section: warnings, contraindications, adverse_reactions, dosage, indications |
searchText | string | No | Full-text search across entire label |
search_device_events
Search FDA Medical Device Reports (MDRs).
Parameters:
| Parameter | Type | Required | Description |
|---|---|---|---|
deviceName | string | No | Device brand or generic name |
manufacturer | string | No | Device manufacturer name |
eventType | string | No | malfunction, injury, death, other |
deviceClass | string | No | FDA device class: I, II, III |
productCode | string | No | FDA product code |
dateFrom | string | No | Event date start |
dateTo | string | No | Event date end |
maxResults | integer | No | Max results |
search_food_enforcement
Search FDA food recall and enforcement actions.
Parameters:
| Parameter | Type | Required | Description |
|---|---|---|---|
productDescription | string | No | Food product name or description |
recallingFirm | string | No | Company issuing the recall |
reasonForRecall | string | No | Reason text search (e.g., "Listeria", "undeclared allergen") |
recallClass | string | No | I, II, or III |
dateFrom | string | No | Recall initiation date start |
dateTo | string | No | Recall initiation date end |
Use Case Recipes
Recipe 1: Pharma Compliance — Weekly Signal Detection
Scenario: Your drug Luxivatrex was approved 18 months ago. You need to monitor FAERS weekly for new serious adverse event signals, especially hepatic events.
Prompt:
"Search FDA adverse events for the drug 'luxivatrex' from the past 7 days. Focus on serious events. Categorize by reaction term, show me counts, and flag any liver-related terms (hepatic failure, elevated transaminases, jaundice) immediately."
Batch config for weekly monitoring:
{"mode": "batch","monitorDrugs": ["luxivatrex", "competitor-drug-a"],"endpoints": ["adverseEvents"],"seriousOnly": true,"lookbackDays": 7,"alertKeywords": ["hepatic failure", "liver", "jaundice", "transaminase"]}
Recipe 2: Medtech 510(k) Pre-Submission Due Diligence
Scenario: You're submitting a 510(k) for a new insulin infusion pump. Your predicate device is the MedTech Pro 3000. You need to characterize its MDR history.
Prompt:
"Pull all FDA Medical Device Reports for the 'MedTech Pro 3000' insulin infusion pump from the past 5 years. Categorize by event type (malfunction vs injury vs death). What are the most common malfunction modes? What percentage resulted in patient injury?"
Recipe 3: Investigative Journalism — Drug Safety Pattern
Prompt:
"I'm investigating safety issues with GLP-1 drugs. Search adverse events for semaglutide AND tirzepatide AND liraglutide from 2021 to present. For each: total serious events, top 5 reactions, death count. Then check if any of these drugs have active FDA recalls. Give me a comparison table."
Recipe 4: Hospital Pharmacy — Formulary Recall Monitor
Prompt:
"Check for any FDA Class I or Class II drug recalls initiated in the last 30 days for these formulary drugs: metoprolol, lisinopril, atorvastatin, metformin, amlodipine, omeprazole, levothyroxine. If any recalls found, give me the lot numbers and recall reason."
Recipe 5: Biotech M&A Due Diligence
Prompt:
"We're acquiring a company that markets the drug 'Xorambix'. Pull everything: full adverse event history, any recalls, the current approved label, and flag any FDA warning letters visible in the enforcement database. Summarize the safety burden I'm inheriting."
Claude Desktop Configuration
{"mcpServers": {"openfda-intelligence": {"command": "npx","args": ["-y","@apify/mcp-client","--actor-id","your-username/openfda-intelligence-mcp","--token","apify_api_XXXXXXXXXXXXXXXXXXXX"]}}}
Test query after setup: "Search FDA adverse events for aspirin, top 10 reactions by count."
Pricing & Usage
| Tier | Price | Includes |
|---|---|---|
| Free | $0 | 200 API calls/month across all endpoints |
| Starter | $19/month | 5,000 calls/month |
| Professional | $79/month | 30,000 calls/month + batch mode |
| Compliance | $299/month | Unlimited + weekly monitoring + email alerts |
Data Source & Freshness
- FAERS: Updated quarterly; latest quarter typically available within 90 days of close
- Enforcement (Recalls): Near real-time; updated weekly
- Drug Labels: Updated as SPL submissions are processed; typically within days of FDA approval
- MDR (Device Events): Approximately 2–3 week lag from event submission
- Food Enforcement: Updated weekly
- Total dataset coverage: Adverse events from 1990; enforcement from 2004; labels from 2009
Technical Notes
- All data sourced directly from api.fda.gov — no third-party intermediaries
- openFDA enforces 1,000 results per query limit; this actor handles pagination automatically
- FAERS data represents reported events, not confirmed causal relationships — appropriate disclaimers are embedded in all responses
- Drug name matching includes both brand and generic name normalization
- MedDRA coding (where present in FAERS) is preserved in structured output
- Device event "event type" field is normalized across FDA's inconsistent historical coding
Support & Issues
- GitHub: github.com/your-username/openfda-intelligence-mcp
- Documentation: Inline with MCP tool schemas
- Email: support@your-domain.com
Data sourced from openFDA (api.fda.gov). Not affiliated with the US Food and Drug Administration. Adverse event data does not constitute evidence of causality.