MCP server providing tools to safely and semantically navigate the openFDA datasets across multiple domains including drugs, devices, food, cosmetics, animal/veterinary, tobacco, and transparency data.
Server has 12 tools with consistent naming (verb_noun pattern: search_*, evaluate_*, analyze_*) and reasonable descriptions (100-250 chars). All tools are READ_ONLY, reducing risk. However, input schemas are present but lack depth: parameters have types and basic descriptions, but many lack constraints (enums, min/max). Output schemas are partially documented (meta, results, next_cursor pattern) but field-level documentation is sparse. Error handling is minimal, no recovery guidance or actionable error messages. Tool descriptions are functional but generic; they don't explain WHEN to use one search tool vs another (e.g., search_drug_power_query vs search_drug_labels). Parameter descriptions are terse (10-30 chars) and omit format/constraint details.
High-level intent tool. Analyzes a drug profile by concurrently fetching adverse events and recall enforcements. Returns aggregated JSON summaries specifically designed for LLMs.
Evaluate Medical Device Profile. Analyzes a medical device using its 3-letter FDA Product Code. Aggregates data from 510(k) clearances and Device Enforcement Recalls natively.
Search Animal and Veterinary Adverse Event Reports. Investigates adverse event reports related to animal drugs and veterinary devices. Ideal for querying safety profiles, suspected reactions across species (e.g., dog, cat), and product use errors in veterinary medicine.
Search Cosmetic Adverse Event Reports (CAERS). Researches adverse events, safety complaints, or hospitalizations related to cosmetic products, makeup, baby powder, and personal care items. Provides comprehensive access to patient outcomes and product profiles.
Advanced Medical Device Power Query. Natively queries any of the 9 medical device endpoints (510k, classification, enforcement, event, pma, recall, registrationlisting, covid19serology, udi). Allows LLMs to traverse millions of device clearance records and malfunction events.
Parameter descriptions are terse and lack constraint details. 'Query terms' and 'Maximum results to return' omit format, range, and valid value guidance. LLMs cannot infer that search_terms expects OpenFDA query syntax (e.g., 'drug:Aspirin', 'animal.species:Dog') without explicit examples or format specs.
No enum constraints on 'endpoint' parameters in power_query tools. search_device_power_query accepts endpoint as free-form string; should declare enum: ['510k', 'classification', 'enforcement', 'event', 'pma', 'recall', 'registrationlisting', 'covid19serology', 'udi']. LLMs will hallucinate invalid endpoints.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | D | 53 | 2026-07-28+ | v2 |
Power query specifically for drug labels. Can search ingredients, warnings, indications. Supports stateful cursors.
Advanced query tool providing direct access to ALL drug API endpoints: Adverse Events (event), Product Labeling (label), NDC Directory (ndc), Recall Enforcement Reports (enforcement), Drugs@FDA (drugsfda), and Drug Shortages (shortage).
Search Food Adverse Event Reports. Fetches reports of adverse health effects, hospitalizations, or illnesses associated with food items, dietary supplements, and food additives.
Advanced query interface for all FDA Food datasets. Flexibly queries either the `event` (Adverse Events) or `enforcement` (Recalls) endpoints for food and dietary supplements. Capable of pinpointing specific manufacturer recalls or multi-state foodborne illness outbreaks.
Search FDA Auxiliary Datasets (NSDE, UNII, Substance, Historical). Accesses non-clinical data sets including the National Drug Code Directory (NSDE), Unique Ingredient Identifiers (UNII), and historical documents.
Search Tobacco Problem Reports and Research Data. Queries FDA databases for tobacco product problems, health outcomes, and audience research studies regarding prevention and digital ads.
Search FDA Transparency Data. Accesses public transparency disclosures, such as Complete Response Letters (CRLs).
No error handling or recovery guidance. Tools return raw API responses without actionable error messages. If a search returns zero results or an invalid endpoint is passed, the LLM receives no guidance on what to try next (e.g., 'Try a broader search term' or 'Available endpoints: ...').
Tool descriptions do not explain WHEN to use one variant over another. 'search_drug_power_query' vs 'search_drug_labels' vs 'analyze_drug_profile' all operate on drugs but serve different intents. Descriptions lack guidance on which to call for a given user request (e.g., 'Use analyze_drug_profile for a high-level safety summary; use search_drug_power_query for detailed endpoint access').
Output schema documentation is incomplete. Tools return {meta, results, next_cursor} but field-level types and constraints are not documented. What is the structure of a result item? What fields does 'meta' contain? LLMs must infer structure from examples, increasing hallucination risk.