openFDA SPL
LiveopenFDA Structured Product Labeling (drug labels)
openFDA converts Structured Product Labeling (SPL) submissions into JSON with harmonized identifiers (NDC, RxCUI, UNII, pharmacologic class). This MCP searches the entire /drug/label bulk collection — prescription and OTC — refreshed from openFDA's weekly dump. Prefer DailyMed for native SPL XML; this source matches the public openFDA drug-labeling API.
Connect
https://mcp.polarisray.com/spl
Transport: http · Auth:
none · See the
connection guide for client-specific steps.
Tools
-
search_labelsSearch openFDA drug labels by free text and filters — ingredient, brand/generic, pharmacologic class, route, NDC, RxCUI, boxed warning, or effective-date range. -
semantic_search_labelsSearch labels by meaning across indications, warnings, and adverse reactions. -
get_labelRetrieve the current label for one SPL set id (or openFDA document id). -
aggregate_labelsCount and group labels by pharmacologic class, ingredient, route, category, or as a time trend. -
resolveNormalize lay terms to standard medical terms for precise filtering.
Example questions
- "Which labels carry a boxed warning about bleeding?"
- "Find oral warfarin products and who manufactures them."
- "What OTC labels mention silicon dioxide as an active ingredient?"
- "How many labels are there per pharmacologic class?"
About this dataset
openFDA Structured Product Labeling is FDA’s JSON export of drug product labeling (prescription and OTC). Prefer DailyMed unless you need openFDA’s harmonized identifiers (NDC, RxCUI, UNII) or the same JSON the public API returns — DailyMed is the NLM native SPL XML corpus (daily updates, images, animal/remainder labels).
PolarisRay downloads every partition listed
under /drug/label in the official downloads catalog
(~14 zip files, ~262k records) and re-fetches the full set when openFDA’s
export_date changes (weekly). There is no incremental JSON patch — that is an
openFDA limitation; the catalog poll keeps off-weeks cheap.
What you can ask
Filter by active ingredient, brand or generic name, pharmacologic class, route,
product type, NDC, RxCUI, boxed warning, or effective date; retrieve a full
label by SPL set id; or aggregate across the dump. Hits include a DailyMed
url so you can verify the official human-readable label.