Openfda MCP server
Query FDA data on drugs, food, devices, and recalls via openFDA. STDIO or Streamable HTTP.
4 stars708 downloads/wk
Reviews
Write oneNobody has reviewed Openfda yet.
If you have run it, two minutes of your experience saves the next person an afternoon.
Openfda tools (14, 1 write)
write = sends, deletes, buys or postsopenfda_count_valuesFreeAggregate 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_describeFreeList 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_querywrite actionFreeRun a read-only SQL SELECT against a DataCanvas table staged by an openFDA search tool (call one with stage=true; its response carries canvas_id + canvas_table). Enables GROUP BY, COUNT/SUM/AVG, time-series, and joins across the staged result set without re-paging the API. Call openfda_dataframe_describe first to get the exact table and column names. Results are capped at the canvas row limit — when truncated is true, page the rest with ORDER BY plus LIMIT/OFFSET. 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_fieldsFreeReturn 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_profileFreeResolve 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_labelFreeLook up FDA drug labeling (package inserts / SPL documents). Check indications, warnings, dosage, contraindications, active ingredients, or any structured label section. A label runs to tens of thousands of tokens, so a page that exceeds the inline budget returns the list of available sections instead; re-call with sections to pull the ones you need.
openfda_lookup_ndcFreeLook 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_eventsFreeSearch 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_eventsFreeSearch 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_clearancesFreeSearch FDA device premarket notifications — 510(k) clearances and PMA approvals.
openfda_search_drug_approvalsFreeSearch 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_shortagesFreeSearch 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_recallsFreeSearch enforcement reports and recall actions across drugs, food, and devices.
openfda_search_tobacco_reportsFreeSearch 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.
Public scan report
scanner v0.1.5 · 2026-09-19 · same rubric, same numbers if you re-run it
- Code scan67 source files scanned; 67 source files scanned25/25
- Live reliabilityremote reachable in 857ms20/20
- Tool poisoning14 tool descriptions checked15/15
- Auth qualityopen endpoint exposes 1 write-action tools with no auth3/15
- Maintenancelast push 3 days ago15/15
- Maintainer identityregistry namespace matches repository owner; GitHub account older than a year8/10
Findings (1)
- highWrite-action tools reachable without authentication
auth.open-write
Install directly
claude mcp add --transport http openfda-mcp-server https://openfda.caseyjhand.com/mcp
Openfda: common questions
- Is Openfda MCP server safe?
- Yes, by our scan: it is graded A (86/100). Read the Openfda safety report
- How do I install Openfda?
- It runs remotely at openfda.caseyjhand.com. Add it to Claude Code, Claude Desktop or Cursor with the snippets above, or call it through the mcp.market gateway without installing anything.
- Does Openfda need an API key?
- No secret keys are declared. It reads 21 settings from the environment.
- Is Openfda maintained?
- The last commit was 3 days ago (2026-09-16). The latest release is v0.7.5.
- Is Openfda up?
- 100% of our last 1 checks got an answer. We check remote servers about four times a day.
- What can I use instead of Openfda?
- Servers from other publishers that do the same job: Prism Coder MCP server.
Alternatives to Openfda
Same job from other publishers: the closest match first, then the best rated.
- Prism CoderSession memory for coding agents: local-first recall, drift detection, on-device inference.not reviewedEstablishedC