Openfda is an MCP server with 14 tools an agent can call, among them openfda_count_values, openfda_dataframe_describe, openfda_dataframe_query. It answers at https://openfda.caseyjhand.com/mcp over streamable HTTP, and it listed its tools to an anonymous client, so no sign-in was needed for that. Our probes reached it 6 of 6 times since 11 September 2026; the last check, on 21 October 2026, succeeded.
Query FDA data on drugs, food, devices, and recalls via openFDA. STDIO or Streamable HTTP.
Description as the publisher wrote it.
| Tool | What it does |
|---|---|
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_clearance Inputs: endpoint, count, search, limit |
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 res Inputs: canvas_id |
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 resu Inputs: canvas_id, query |
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 discoverabl Inputs: endpoint |
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 shortag Inputs: drug |
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 th Inputs: search, sort, limit, skip, sections |
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 Inputs: search, sort, limit, skip, stage, canvas_id |
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. Inputs: category, search, sort, limit, skip, stage |
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 ou Inputs: search, sort, limit, skip, stage, canvas_id |
openfda_search_device_clearances | Search FDA device premarket notifications — 510(k) clearances and PMA approvals. Inputs: pathway, search, sort, limit, skip, stage |
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 a Inputs: search, sort, limit, skip, stage, canvas_id |
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 issue Inputs: search, sort, limit, skip, stage, canvas_id |
openfda_search_recalls | Search enforcement reports and recall actions across drugs, food, and devices. Inputs: category, endpoint, search, sort, limit, skip |
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 problem Inputs: search, sort, limit, skip, stage, canvas_id |
Every block below points at https://openfda.caseyjhand.com/mcp. Pick your client and copy.
claude mcp add --transport http openfda https://openfda.caseyjhand.com/mcp
{
"mcpServers": {
"openfda": {
"command": "npx",
"args": ["-y", "mcp-remote", "https://openfda.caseyjhand.com/mcp"]
}
}
}{
"mcpServers": {
"openfda": {
"url": "https://openfda.caseyjhand.com/mcp"
}
}
}{
"servers": {
"openfda": {
"type": "http",
"url": "https://openfda.caseyjhand.com/mcp"
}
}
}{
"context_servers": {
"openfda": {
"url": "https://openfda.caseyjhand.com/mcp"
}
}
}{
"mcpServers": {
"openfda": {
"serverUrl": "https://openfda.caseyjhand.com/mcp"
}
}
}{
"mcpServers": {
"openfda": {
"url": "https://openfda.caseyjhand.com/mcp"
}
}
}name: Openfda
version: 0.0.1
schema: v1
mcpServers:
- name: Openfda
type: streamable-http
url: https://openfda.caseyjhand.com/mcp{
"mcpServers": {
"openfda": {
"httpUrl": "https://openfda.caseyjhand.com/mcp"
}
}
}{
"mcpServers": {
"openfda": {
"type": "http",
"url": "https://openfda.caseyjhand.com/mcp"
}
}
}{
"mcpServers": {
"openfda": {
"url": "https://openfda.caseyjhand.com/mcp"
}
}
}goose://extension?url=https%3A%2F%2Fopenfda.caseyjhand.com%2Fmcp&type=streamable_http&id=openfda&name=Openfda
It answered our last check on 21 October 2026 in 614 ms. Over 6 checks since 11 September 2026 it answered 6. Status here comes from Neuronto's own probes, not from the publisher.
14, as returned by the server's own tools/list on 13 September 2026: openfda_count_values, openfda_dataframe_describe, openfda_dataframe_query, openfda_describe_fields, openfda_drug_profile, openfda_get_drug_label, openfda_lookup_ndc, openfda_search_adverse_events, and 6 more.
It answered our last check on 21 October 2026 in 614 ms. Over 6 checks since 11 September 2026 it answered 6.
Put the server under mcpServers in ~/.cursor/mcp.json with the URL https://openfda.caseyjhand.com/mcp. The exact JSON is above, with the same setup for Claude Code, Claude Desktop, VS Code, Windsurf, Zed, Gemini CLI and the rest.
It listed its tools to an anonymous client, so reading the tool list needs no key. Individual tools can still ask for credentials in their own inputs.
Publisher: io.github.cyanheads. Endpoint host: openfda.caseyjhand.com. ARD identifier: urn:air:io.github.cyanheads:mcp:openfda-mcp-server.
First indexed 10 September 2026. The tools are exactly what the server returned; nothing on this page
is inferred from its name. Ranking in Neuronto search is never for sale.