← All MCP servers
MCP server directory

openfda-mcp-server

Query FDA data on drugs, food, devices, and recalls via openFDA. STDIO or Streamable HTTP.

Version:
hosted
Publisher:
cyanheads

Install

Generated from the server’s transport data — never hand-written. Placeholders in angle brackets are yours to fill.

Run it with its own identity, a budget you set, and every call audited — no local config to keep in sync.

Add to a connect0 project

You will sign in first, then land back on this page.

What it can do

As declared by the publisher

Tools · 14

  • openfda_count_values

    Aggregate and tally unique values for any field across any openFDA endpoint. Returns ranked term-count pairs sorted by count descending. Pair with openfda\_search\_adverse\_events, openfda\_search\_drug\_approvals, openfda\_search\_device\_clearances, openfda\_search\_recalls, openfda\_get\_drug\_label, or openfda\_lookup\_ndc when sample records help interpret the aggregates.

  • openfda_dataframe_describe

    List the tables and column schemas on a DataCanvas staged by an openFDA search tool. Call before openfda\_dataframe\_query to discover the exact table name, column names, and DuckDB types needed for valid SQL. row\_count is the full staged result set, not the inline preview count. Columns typed JSON hold nested openFDA objects/arrays — query them with DuckDB json functions.

  • openfda_dataframe_query

    Run a read-only SQL SELECT against a DataCanvas table staged by an openFDA search tool (canvas\_id + canvas\_table in its response when spilled=true). Enables GROUP BY, COUNT/SUM/AVG, time-series, and joins across the full result set without re-paging the API. Call openfda\_dataframe\_describe first to get the exact table and column names. Scalar fields are stored as text (CAST for numeric math); nested objects/arrays are JSON columns — read them with DuckDB json functions, e.g. json\_extract\_string(openfda, '$.brand\_name\[0]'). Only SELECT is allowed — DDL, DML, COPY, and file-reading functions are blocked.

  • openfda_describe_fields

    Return the searchable field paths for an openFDA endpoint, grouped by category with type and description. Use before constructing a search query to find the correct dotted field path — field names differ per endpoint and are not discoverable from the tool schema alone.

  • openfda_drug_profile

    Resolve one drug name to its FDA identity, then fan out in parallel across the bounded per-drug openFDA endpoints and merge into one profile: identity, label highlights, adverse-event summary, recall history, Drugs\@FDA approval, and shortage status. Replaces chaining openfda\_get\_drug\_label, openfda\_search\_adverse\_events, openfda\_search\_recalls, openfda\_search\_drug\_approvals, and openfda\_search\_drug\_shortages — and reconciles the identifier drift between endpoints that makes that chaining error-prone. Each section is best-effort: a miss returns null rather than failing the call. For deep dives into any one area, use the dedicated tool.

  • openfda_get_drug_label

    Look up FDA drug labeling (package inserts / SPL documents). Check indications, warnings, dosage, contraindications, active ingredients, or any structured label section.

  • openfda_lookup_ndc

    Look up drugs in the NDC (National Drug Code) Directory. Identify drug products by NDC code, find active ingredients, packaging details, or manufacturer info. Pair with openfda\_get\_drug\_label using the returned brand\_name or set\_id to read the package insert.

  • openfda_search_adverse_events

    Search adverse event reports across drugs, food, and devices. Use to investigate safety signals, find reports for a specific product, or explore reactions by demographics.

  • openfda_search_animal_events

    Search adverse event reports for veterinary drugs and devices submitted to the FDA Center for Veterinary Medicine. Records include animal species, breed, age, weight, drug name and route, adverse reactions (using VeDDRA terminology), and outcome. Use to investigate safety signals for veterinary products, find reports by animal species or drug, or explore reaction patterns.

  • openfda_search_device_clearances

    Search FDA device premarket notifications — 510(k) clearances and PMA approvals.

  • openfda_search_drug_approvals

    Search the Drugs\@FDA database for drug application approvals (NDAs and ANDAs). Returns application details, sponsor info, and full submission history. Pair with openfda\_get\_drug\_label to read the approved label, or openfda\_count\_values to aggregate by sponsor\_name, product\_type, or route.

  • openfda_search_drug_shortages

    Search FDA drug shortage records. Returns per-product shortage status, availability, therapeutic category, dosage form, manufacturer, and dates. Use to check whether a drug is currently in shortage, find all oncology drugs with supply issues, or retrieve the openfda block (brand\_name, product\_ndc, rxcui) to chain into openfda\_get\_drug\_label or openfda\_lookup\_ndc.

  • openfda_search_recalls

    Search enforcement reports and recall actions across drugs, food, and devices.

  • openfda_search_tobacco_reports

    Search problem reports submitted to the FDA for tobacco products, including e-cigarettes, vaping products, cigarettes, and smokeless tobacco. Reports capture product type, reported health problems (e.g. seizure, chest pain), product problems (e.g. exploding battery), whether a non-user was affected, and submission date. Use to investigate safety signals, find reports by product type, or analyze health effects.