Index / MCP servers / Openfda

Openfda MCP server

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.

Status
Answering
Tools
14
Reliability
6 of 6 checks
Response time
614 ms
Transport
streamable HTTP
Last checked
21 October 2026

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

Description as the publisher wrote it.

The 14 tools Openfda offers

ToolWhat it does
openfda_count_valuesAggregate 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_describeList 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_queryRun 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_fieldsReturn 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_profileResolve 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_labelLook 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_ndcLook 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_eventsSearch 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_eventsSearch 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_clearancesSearch FDA device premarket notifications — 510(k) clearances and PMA approvals.
Inputs: pathway, search, sort, limit, skip, stage
openfda_search_drug_approvalsSearch 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_shortagesSearch 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_recallsSearch enforcement reports and recall actions across drugs, food, and devices.
Inputs: category, endpoint, search, sort, limit, skip
openfda_search_tobacco_reportsSearch 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

Add Openfda to your AI client

Every block below points at https://openfda.caseyjhand.com/mcp. Pick your client and copy.

Claude Code: one command in your terminal
claude mcp add --transport http openfda https://openfda.caseyjhand.com/mcp
Claude Desktop: claude_desktop_config.json
{
  "mcpServers": {
    "openfda": {
      "command": "npx",
      "args": ["-y", "mcp-remote", "https://openfda.caseyjhand.com/mcp"]
    }
  }
}
Cursor: ~/.cursor/mcp.json, or .cursor/mcp.json in a project
{
  "mcpServers": {
    "openfda": {
      "url": "https://openfda.caseyjhand.com/mcp"
    }
  }
}
VS Code and GitHub Copilot: .vscode/mcp.json
{
  "servers": {
    "openfda": {
      "type": "http",
      "url": "https://openfda.caseyjhand.com/mcp"
    }
  }
}
Zed: Zed settings.json
{
  "context_servers": {
    "openfda": {
      "url": "https://openfda.caseyjhand.com/mcp"
    }
  }
}
Windsurf: ~/.codeium/mcp_config.json
{
  "mcpServers": {
    "openfda": {
      "serverUrl": "https://openfda.caseyjhand.com/mcp"
    }
  }
}
JetBrains AI Assistant: Settings, Tools, AI Assistant, MCP, New MCP Server, as JSON
{
  "mcpServers": {
    "openfda": {
      "url": "https://openfda.caseyjhand.com/mcp"
    }
  }
}
Continue: .continue/mcpServers/neuronto.yaml
name: Openfda
version: 0.0.1
schema: v1
mcpServers:
  - name: Openfda
    type: streamable-http
    url: https://openfda.caseyjhand.com/mcp
Gemini CLI: ~/.gemini/settings.json
{
  "mcpServers": {
    "openfda": {
      "httpUrl": "https://openfda.caseyjhand.com/mcp"
    }
  }
}
Codex CLI: MCP server config
{
  "mcpServers": {
    "openfda": {
      "type": "http",
      "url": "https://openfda.caseyjhand.com/mcp"
    }
  }
}
Warp: MCP servers, + Add, paste JSON
{
  "mcpServers": {
    "openfda": {
      "url": "https://openfda.caseyjhand.com/mcp"
    }
  }
}
Goose: a one-click extension link
goose://extension?url=https%3A%2F%2Fopenfda.caseyjhand.com%2Fmcp&type=streamable_http&id=openfda&name=Openfda

Is Openfda up right now?

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.

MCP servers similar to Openfda

Questions about Openfda

How many tools does Openfda have?

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.

Is Openfda down?

It answered our last check on 21 October 2026 in 614 ms. Over 6 checks since 11 September 2026 it answered 6.

How do I add Openfda to Cursor?

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.

Does Openfda need an API key?

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.

Where this comes from

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.

Is this your server? Get a message the day it stops answering or its tools change: monitoring, 14 days free. Or claim the domain to manage how it is listed.