Augmented-Nature/OpenFDA-MCP-Server
If you are the rightful owner of OpenFDA-MCP-Server and would like to certify it and/or have it hosted online, please leave a comment on the right or send an email to henry@mcphub.com.
The Unofficial FDA API MCP Server provides access to the U.S. Food and Drug Administration's public datasets through the openFDA API, enabling comprehensive querying of drug and device data.
Unofficial FDA API MCP Server
A comprehensive Model Context Protocol (MCP) server that provides access to the U.S. Food and Drug Administration's public datasets through the openFDA API. This server enables querying of drug adverse events, product labeling, recalls, approvals, shortages, NDC directory information, and medical device regulatory data including 510(k) clearances, classifications, and adverse events.
Developed by Augmented Nature
Features
Drug Tools (6 tools implemented)
- search_drug_adverse_events: Search FDA Adverse Event Reporting System (FAERS) data
- search_drug_labels: Search drug product labeling information
- search_drug_ndc: Query the National Drug Code (NDC) directory
- search_drug_recalls: Find drug recall enforcement reports
- search_drugs_fda: Search the Drugs@FDA database for approved products
- search_drug_shortages: Query current drug shortages
Device Tools (4 tools implemented)
- search_device_510k: Search FDA 510(k) device clearances
- search_device_classifications: Search FDA device classifications
- search_device_adverse_events: Search FDA device adverse events (MDR)
- search_device_recalls: Search FDA device recall enforcement reports
Key Features
- Comprehensive Search: Advanced filtering by drug name, manufacturer, indication, dates, and more
- Rate Limiting: Built-in awareness of FDA API rate limits (1,000 requests/hour without API key)
- Error Handling: Robust error handling with meaningful error messages
- Formatted Results: Clean, structured JSON responses with relevant metadata
- Optional API Key: Supports FDA API key for higher rate limits (120,000 requests/hour)
Installation
- The server is already built and configured in your MCP settings
- Optionally set an FDA API key for higher rate limits:
# Set FDA_API_KEY environment variable for higher rate limits
export FDA_API_KEY="your_api_key_here"
To get an FDA API key:
- Visit https://open.fda.gov/apis/authentication/
- Sign up for an API key
- Add it to your MCP settings or environment
Usage Examples
Search Drug Adverse Events
Search for adverse events related to aspirin that occurred in the United States in 2023
Search Drug Labels
Find labeling information for diabetes medications manufactured by Novo Nordisk
Search NDC Directory
Look up NDC information for ibuprofen tablets
Search Drug Recalls
Find all Class I drug recalls from 2023 involving contamination
Search FDA Approved Drugs
Find all FDA-approved drugs sponsored by Pfizer with injection dosage form
Search Drug Shortages
Find current drug shortages for antibiotics
API Response Format
All tools return structured JSON with:
search_criteria
: The parameters used for the searchtotal_results
: Total number of matching records in FDA databaseresults_shown
: Number of results returned in this response[data_type]
: Array of formatted results (e.g.,adverse_events
,drug_labels
)api_usage
: Information about API key status and rate limits
Rate Limiting
- Without API Key: 1,000 requests per hour
- With API Key: 120,000 requests per hour
- The server automatically handles rate limit errors and provides helpful messages
Architecture
The server is built with a modular architecture:
/src/index.ts
: Main server setup and tool registration/src/handlers/drug-handlers.ts
: All drug-related tool implementations/src/handlers/device-handlers.ts
: All device-related tool implementations/src/utils/api-client.ts
: HTTP client with error handling and rate limiting/src/types/fda.ts
: TypeScript interfaces for all FDA data structures
Supported Search Parameters
Drug Adverse Events
drug_name
: Name of the drug or medicationbrand_name
: Brand/trade namegeneric_name
: Generic namemanufacturer
: Manufacturer namereaction
: Adverse reaction or side effectserious_only
: Only return serious adverse eventspatient_sex
: Patient sex (1=Male, 2=Female)country
: Country where event occurreddate_from
/date_to
: Date range filterscount
: Group results for countinglimit
: Maximum results (1-100)skip
: Pagination offset
Drug Labels
brand_name
: Brand/trade name of the druggeneric_name
: Generic namemanufacturer
: Manufacturer nameactive_ingredient
: Active ingredient nameindication
: Medical indication or conditionroute
: Route of administrationproduct_type
: Product type- Plus standard pagination and counting parameters
NDC Directory
product_ndc
: Product NDC numberpackage_ndc
: Package NDC numberproprietary_name
: Brand namenonproprietary_name
: Generic namelabeler_name
: Manufacturer/labeler namedosage_form
: Dosage form (tablet, capsule, etc.)route
: Route of administrationsubstance_name
: Active substance name- Plus standard pagination and counting parameters
Drug Recalls
product_description
: Product descriptionrecalling_firm
: Name of recalling firmclassification
: Recall classification (Class I, II, III)status
: Recall statusstate
/country
: Geographic filtersreason_for_recall
: Reason for recalldate_from
/date_to
: Date range filters- Plus standard pagination and counting parameters
Drugs@FDA
sponsor_name
: Sponsor/applicant nameapplication_number
: FDA application numberbrand_name
: Brand/trade namegeneric_name
: Generic nameactive_ingredient
: Active ingredientdosage_form
: Dosage formmarketing_status
: Marketing status- Plus standard pagination and counting parameters
Drug Shortages
product_name
: Product namegeneric_name
: Generic namebrand_name
: Brand nameactive_ingredient
: Active ingredientshortage_status
: Current shortage statusshortage_designation
: Shortage designation (Yes/No)dosage_form
: Dosage form- Plus standard pagination and counting parameters
Device 510(k) Clearances
device_name
: Name of the medical deviceapplicant
: Applicant company namecontact
: Contact informationproduct_code
: FDA product codeclearance_type
: Type of 510(k) clearancedecision_date_from
/decision_date_to
: Decision date range filters- Plus standard pagination parameters
Device Classifications
device_name
: Name of the medical devicedevice_class
: Device class (1, 2, 3)medical_specialty
: Medical specialtyproduct_code
: FDA product coderegulation_number
: FDA regulation number- Plus standard pagination parameters
Device Adverse Events
device_name
: Name of the medical devicebrand_name
: Brand name of the devicemanufacturer
: Device manufacturer nameproduct_code
: FDA product codeevent_type
: Type of adverse eventpatient_sex
: Patient sex (F=Female, M=Male)date_from
/date_to
: Event date range filters- Plus standard pagination parameters
Device Recalls
product_description
: Product description or namerecalling_firm
: Name of the recalling firmclassification
: Recall classification (Class I, II, III)status
: Recall statusproduct_code
: FDA product codedate_from
/date_to
: Recall initiation date range filters- Plus standard pagination parameters
Future Enhancements
The server architecture supports easy extension with additional FDA endpoints:
- Device Tools: 510(k) clearances, classifications, adverse events, recalls
- Food Tools: Adverse events, recall enforcement reports
- Other Tools: Substance data, UNII, tobacco reports, historical documents
Error Handling
The server provides comprehensive error handling for:
- Invalid search parameters
- API rate limiting
- Network connectivity issues
- FDA API service unavailability
- Malformed responses
Development
Built with:
- TypeScript: Type-safe development
- MCP SDK: Model Context Protocol implementation
- Axios: HTTP client with interceptors
- Node.js: Runtime environment
License
This project is open source and available under standard licensing terms.
Support
For issues or questions about the FDA API MCP Server:
- Check the FDA API documentation: https://open.fda.gov/apis/
- Review rate limiting and authentication requirements
- Ensure proper JSON formatting in search parameters
This MCP server provides access to public FDA datasets. Always consult healthcare professionals for medical decisions and drug information.