mcpbeat Sign in

Openfda MCP Server

answering

Openfda MCP Server is answering right now. Last checked 10 min ago. 342 installs a week from npm. It exposes 14 tools. Last commit 26 Oct 2026.

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

Installs per day peak 416 · avg 72 · -70% w/w
a month agotoday
Uptime history 91 days of history · worst day 90%
91 days agonow
100.0%
Uptime 24h
91 of 91 checks
14
Tools
read from the server
520 ms
Response time
average over 24h
342
Installs / week
npm and PyPI

What changed 74

Every tool that appeared, vanished or quietly changed what it asks for. Recorded since 25 August 2026. No other catalogue keeps this.

26 Oct 11 tools changed the parameters they ask for openfda_count_values, openfda_drug_profile, openfda_get_drug_label and 8 more
26 Oct a tool changed version2 times that day
26 Oct a tool description was rewritten openfda_count_values
25 Oct a tool changed version
13 Oct 9 tools changed the parameters they ask for openfda_get_drug_label, openfda_lookup_ndc, openfda_search_adverse_events and 6 more
13 Oct a tool description was rewritten openfda_search_animal_events
13 Oct a tool changed version
4 Oct a tool changed version
22 Sep 12 tools changed the parameters they ask for20 times that day openfda_count_values, openfda_dataframe_describe, openfda_dataframe_query and 9 more
22 Sep 8 tool descriptions were rewritten openfda_lookup_ndc, openfda_search_adverse_events, openfda_search_animal_events and 5 more
and 28 more, back to 25 August 2026

Nothing serious here today

Today is the operative word: we check Openfda MCP Server every 15 minutes and re-read its code on every release. Watch it and you find out the day that stops being true.

Three servers free · no card

Connect this server

Endpoint below is the one we actually reach during checks — not the one copied from a README. Last verified 10 min ago.

run in your terminal
claude mcp add openfda-mcp-server --transport http https://openfda.caseyjhand.com/mcp
Settings → Connectors → Add custom connector, then paste this address
https://openfda.caseyjhand.com/mcp
~/.codex/config.toml
[mcp_servers.openfda-mcp-server]
url = "https://openfda.caseyjhand.com/mcp"
.cursor/mcp.json
{
  "mcpServers": {
    "openfda-mcp-server": {
      "url": "https://openfda.caseyjhand.com/mcp"
    }
  }
}
.vscode/mcp.json
{
  "servers": {
    "openfda-mcp-server": {
      "type": "http",
      "url": "https://openfda.caseyjhand.com/mcp"
    }
  }
}

Available tools 14

Read directly from the server with tools/list, grouped by what they act on. If a tool disappears, we record the date.

openfda
openfda_count_values
Aggregate and tally unique values for any field across any openFDA endpoint. Returns ranked term-count pairs sorted by count descending; a date field tallies one term per distinct YYYYMMDD date, ranked the same way. 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 (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_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. 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_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. With stage=true, call openfda_dataframe_describe for the staged columns, then openfda_dataframe_query for SQL.
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. With stage=true, call openfda_dataframe_describe for the staged columns, then openfda_dataframe_query for SQL.
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. Brand and manufacturer names are masked as "MSK" on every record (the FDA null flavor for withheld data), so find a product by active ingredient on drug.active_ingredients.name, unsuffixed. An ingredient search spans every product containing it and cannot attribute reports to one brand; drug.manufacturer.registration_number (the full value, e.g. "USA-USFDACVM-N141426") narrows it to one approval. With stage=true, call openfda_dataframe_describe for the staged columns, then openfda_dataframe_query for SQL.
openfda_search_device_clearances
Search FDA device premarket notifications — 510(k) clearances and PMA approvals. With stage=true, call openfda_dataframe_describe for the staged columns, then openfda_dataframe_query for SQL.
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. With stage=true, call openfda_dataframe_describe for the staged columns, then openfda_dataframe_query for SQL.
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. With stage=true, call openfda_dataframe_describe for the staged columns, then openfda_dataframe_query for SQL.
openfda_search_recalls
Search enforcement reports and recall actions across drugs, food, and devices. With stage=true, call openfda_dataframe_describe for the staged columns, then openfda_dataframe_query for SQL.
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. With stage=true, call openfda_dataframe_describe for the staged columns, then openfda_dataframe_query for SQL.

Endpoints

URLTransportStateLatencyChecked
https://openfda.caseyjhand.com/mcp streamable-http answering 267 ms 10 min ago

Alternatives to Openfda MCP Server

same job, measured the same way
Secedgar MCP Server
by cyanheads

Query SEC EDGAR filings, XBRL financials, and company data via MCP. STDIO or Streamable HTTP.

1 130 installs/wk 16 tools answering
OpenFDA Safety Data
by taru0208

Search FDA safety data: drug adverse events, recalls, and device events.

answering
FDA Recall Checker (openFDA)
by wyeming95-rgb

Check products against FDA food, drug and device recalls; drug labels, NDC, 510(k) via openFDA

answering
Openfda MCP
by mrfentmen

FDA open data: drug recalls, adverse events, and approved drugs.

42 installs/wk local only
US FDA Recalls (Food, Drug, Device) MCP
by donniertf-hub

FDA food, drug and medical-device recalls by keyword, class and state.

3 tools answering
Veterinary Fda
by pipeworx-io

Veterinary FDA MCP — openFDA Animal & Veterinary adverse events, pet/animal food & drug recalls…

121 installs/wk 51 tools answering
Npi Providers MCP Server
by cyanheads

Search NPPES providers and resolve NUCC specialty codes via MCP over STDIO or Streamable HTTP.

139 installs/wk 3 tools answering
Bluesky MCP Server
by cyanheads

Search Bluesky posts and feeds; read profiles, threads, and trends. STDIO or Streamable HTTP.

396 installs/wk 10 tools answering

Openfda MCP Server — questions

Answers built from our own checks of this server.

What can Openfda MCP Server do?
It exposes 14 tools, read directly from the server on our last check. Among them: openfda_count_values, openfda_dataframe_describe, openfda_dataframe_query, openfda_describe_fields, openfda_drug_profile, openfda_get_drug_label and 8 more. The full list with descriptions is on this page — we take it from the server itself via tools/list, not from a README. How MCP servers expose tools in the first place →
Is Openfda MCP Server working right now?
We send a real MCP handshake every 15 minutes. Over the last 24 hours 91 of 91 checks got a reply (100.0%), average response time 520 ms. The bar chart above shows every period we have measured.
How do I connect Openfda MCP Server?
Copy the ready config from this page. We generate it for Claude Code, Claude Desktop, Codex, Cursor and VS Code, each in the form that client actually reads. It is a remote server, so there is nothing to install — the client connects to the address.
Does Openfda MCP Server need an API key?
No. Openfda MCP Server completed a full MCP handshake with us as an anonymous client and listed its tools without asking for anything. All 14 of them are readable on this page. This is what we observed, not what the docs claim.
How fast is Openfda MCP Server?
It answers our handshake in 520 ms on average, which is faster than 22% of all working MCP servers we measure. That is on the slow side — worth knowing if the tool sits inside an interactive loop. The comparison comes from our own checks across the whole registry, every 15 minutes.
How many people use Openfda MCP Server?
The npm package @cyanheads/openfda-mcp-server was installed 342 times in the last week. Week over week that is -70%. We show installs rather than GitHub stars on purpose: a star is a bookmark, an install is someone actually running it.
Is Openfda MCP Server open source?
The code is open source: it is published under the Apache-2.0 licence, written in TypeScript, 4 stars on GitHub and 10 open issues. The licence covers the code in the repository, not the hosted service at openfda.caseyjhand.com, which runs on its operator's own terms.