usefulapi

DailyMed MCP server. Search DailyMed drug labels, SPLs, NDCs and packaging.

Claude

  1. Open Settings → Connectors → Add custom connector
  2. Paste this URL:
    https://dailymed.usefulapi.io/mcp
  3. Authenticate with DailyMed when prompted

Cursor · VS Code · Windsurf · Cline

Add to your MCP config, then reload & authorize:

{
  "mcpServers": {
    "dailymed": {
      "url": "https://dailymed.usefulapi.io/mcp"
    }
  }
}
live12 toolsFree 100 tool calls / monthPro $9/mo · $90/yr

Tools 12

ToolTypeWhat it does
dailymed_search_labelsread
Search FDA drug labels (SPLs)
Search Structured Product Labels (SPLs) — one label per marketed drug product. Filter by drug name, NDC, RxCUI, UNII, application (NDA/ANDA) number, marketing category, or publish date. Returns setid, title, spl_version and published_date for each match (use the setid with dailymed_get_label and the label_* tools). DailyMed v2: GET /spls.
dailymed_get_labelread
Get full SPL label document (XML)
Fetch the complete Structured Product Label for a SETID as HL7 v3 SPL XML — the full FDA-approved labeling: indications, dosage, warnings, boxed warning, adverse reactions, active/inactive ingredients, etc. NOTE: DailyMed serves the full document only as XML (there is no JSON form), so this returns raw XML text. Use dailymed_search_labels first to find the setid. DailyMed v2: GET /spls/{setid}.xml.
dailymed_label_historyread
Get label version history
List every published version (spl_version + published_date) of a label for a SETID — useful to see how a drug's labeling has changed over time. DailyMed v2: GET /spls/{setid}/history.
dailymed_label_ndcsread
Get NDC codes for a label
List the National Drug Codes (package-level NDCs) associated with a label's current version, for a SETID. DailyMed v2: GET /spls/{setid}/ndcs.
dailymed_label_mediaread
Get label media (images)
List media assets (product/packaging images, with mime_type and URL) for a label's current version, for a SETID. DailyMed v2: GET /spls/{setid}/media.
dailymed_label_packagingread
Get label packaging & ingredients
Get packaging descriptions plus product names and active ingredients (name + strength) for each product in a label, by SETID. DailyMed v2: GET /spls/{setid}/packaging.
dailymed_list_drug_namesread
List / search drug names
List drug names in DailyMed (name + name_type B=brand/G=generic). Pass drug_name to filter by a substring — a fast way to discover exact spellings before searching labels. DailyMed v2: GET /drugnames.
dailymed_list_ndcsread
List all NDC codes
List National Drug Codes across all labels in DailyMed (paginated; the full set is large). DailyMed v2: GET /ndcs.
dailymed_list_rxcuisread
List product-level RxCUIs
List product-level RxNorm concept identifiers (rxcui + rxstring + rxtty term type) known to DailyMed (paginated). DailyMed v2: GET /rxcuis.
dailymed_list_uniisread
List UNII active moieties
List FDA UNII codes and their active-moiety names (paginated). Use a unii_code to filter labels in dailymed_search_labels. DailyMed v2: GET /uniis.
dailymed_list_drug_classesread
List drug classes
List pharmacologic drug classes linked to labels (code, coding system, type — e.g. EPC Established Pharmacologic Class — and name). DailyMed v2: GET /drugclasses.
dailymed_list_application_numbersread
List FDA application numbers
List FDA application numbers (NDA/ANDA/BLA) with their marketing category code, across all labels (paginated). DailyMed v2: GET /applicationnumbers.

Pricing

PlanPriceLimit
Free$0100 tool calls / month
Pro$9/mo · $90/yrUnlimited

This is a Model Context Protocol endpoint — meant to be connected from an AI client, not opened in a browser. An invalid_token response at the URL is the auth gate working as designed; clients authenticate automatically.