# openFDA MCP Server Muse connector

From musedirectory.ai, the independent directory of Meta Muse connectors. Not affiliated with Meta.

## openFDA MCP Server

Search FDA data on drug safety, adverse events, recalls, shortages, and device clearances.

- Record: https://musedirectory.ai/connector/openfda-mcp-server
- Category: Health
- Developer: cyanheads
- Muse status: Extra setup. Not in Muse's Connectors list yet. Muse can still use it: its page gives you a request to paste into Muse.
- Health: Working, 746ms, checked 2026-09-28T07:15:49Z
- Endpoint: https://openfda.caseyjhand.com/mcp
- Auth: No account needed; Pricing: unknown
- Screening: Screened, no issues found (2026-09-25T06:31:18Z)
- Source: Found in the official MCP Registry (io.github.cyanheads/openfda-mcp-server) https://registry.modelcontextprotocol.io/v0/servers?search=io.github.cyanheads%2Fopenfda-mcp-server

Query the FDA's openFDA database for adverse event reports, drug approvals, recalls, shortages, and device clearances. Look up drug labels, check safety signals, find product recalls, and verify drug availability.

Example request: "Check if my blood pressure medication is currently in short supply or has any recent safety recalls."

How to connect: Not in Muse's Connectors list yet, but Muse can still use it. Paste this into Muse: "Use openFDA MCP Server to help me. It is a free service with an MCP server at https://openfda.caseyjhand.com/mcp. It does not need an API key. Ask me before you share anything with it." Muse asks before it shares anything with the app's site. Meta does not review apps used this way, so only use ones you trust. We tested this in the Muse app on September 24, 2026: Muse used an app's link directly this way and returned a live answer.

Tools:
- 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 SQ
- 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
- 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_
- 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 no
- 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_d
- 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_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 avai
- 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, 
- 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_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, cal
- 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_
- 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. C
- 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 o

Screening checks:
- MCP handshake: pass (Answered in 343ms)
- Domain against threat feeds (Cloudflare security DNS): pass (openfda.caseyjhand.com not flagged)
- Published packages against the OSV malicious-package database: pass (No malicious-package advisories)
- Hidden instructions or invisible characters in tool text: pass (14 tools read, nothing found)
- Inputs asking for passwords, card numbers or seed phrases: pass (None found)
- Domain and redirects: pass (Domain registered 2659 days ago)
- AI review of purpose and tool behavior: pass (No concerns)
