{"openapi":"3.0.3","info":{"title":"Gnist Context — OpenFDA","description":"FDA data — drug adverse events, product recalls, and medical device reports.\n\n- **MCP endpoint:** `https://context.gnist.ai/mcp/openfda/`\n- **Toolkit page:** `/toolkits/openfda`\n- **Full API spec:** `/api/openapi.json`\n- **Get an API key:** `/signup`","version":"1.0.0","contact":{"name":"GnistAI","url":"https://gnist.ai"}},"servers":[{"url":"https://context.gnist.ai","description":"Production"}],"paths":{"/rest/openfda/search_adverse_events":{"post":{"tags":["Science"],"summary":"search_adverse_events","description":"Search FDA adverse event reports (FAERS) for a drug or active ingredient.\n\nArgs:\n    drug_name: Drug name — brand (e.g. \"Tylenol\") or generic (e.g. \"acetaminophen\").\n    reaction: Optional MedDRA reaction term to filter by (e.g. \"headache\", \"nausea\").\n    date_from: Start date filter in YYYYMMDD format (e.g. \"20200101\").\n    date_to: End date filter in YYYYMMDD format (e.g. \"20221231\").\n    limit: Number of reports to return (1–100, default 10).\n\nReturns:\n    Dictionary with count and adverse event reports (drug name, reactions, seriousness,\n    outcome codes). Data sourced from FDA FAERS, updated quarterly.","operationId":"openfda_search_adverse_events","responses":{"200":{"description":"Successful tool call","content":{"application/json":{"schema":{"type":"object"}}}},"404":{"description":"Server or tool not found"},"500":{"description":"Tool execution error"}},"security":[{"ApiKeyHeader":[]},{"ApiKeyQuery":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"additionalProperties":false,"properties":{"drug_name":{"description":"Drug name — brand (e.g. \"Tylenol\") or generic (e.g. \"acetaminophen\").","type":"string"},"reaction":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null,"description":"Optional MedDRA reaction term to filter by (e.g. \"headache\", \"nausea\")."},"date_from":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null,"description":"Start date filter in YYYYMMDD format (e.g. \"20200101\")."},"date_to":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null,"description":"End date filter in YYYYMMDD format (e.g. \"20221231\")."},"limit":{"default":10,"description":"Number of reports to return (1–100, default 10).","type":"integer"}},"required":["drug_name"],"type":"object"}}}}}},"/rest/openfda/get_drug_label":{"post":{"tags":["Science"],"summary":"get_drug_label","description":"Fetch FDA-approved drug label for a medication.\n\nReturns the full label content including indications, contraindications,\nwarnings, dosage instructions, and known adverse reactions.\n\nArgs:\n    drug_name: Brand name (e.g. \"Advil\") or generic name (e.g. \"ibuprofen\").\n\nReturns:\n    Drug label sections from the FDA SPL database. Text fields truncated at 2,000 chars.\n    Returns found=false if no label found.","operationId":"openfda_get_drug_label","responses":{"200":{"description":"Successful tool call","content":{"application/json":{"schema":{"type":"object"}}}},"404":{"description":"Server or tool not found"},"500":{"description":"Tool execution error"}},"security":[{"ApiKeyHeader":[]},{"ApiKeyQuery":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"additionalProperties":false,"properties":{"drug_name":{"description":"Brand name (e.g. \"Advil\") or generic name (e.g. \"ibuprofen\").","type":"string"}},"required":["drug_name"],"type":"object"}}}}}},"/rest/openfda/search_enforcement":{"post":{"tags":["Science"],"summary":"search_enforcement","description":"Search FDA enforcement actions — recalls, market withdrawals, and safety alerts.\n\nArgs:\n    product_type: Product category — \"drug\", \"food\", or \"device\" (default \"drug\").\n    date_from: Start date of recall initiation in YYYYMMDD format.\n    date_to: End date of recall initiation in YYYYMMDD format.\n    classification: Recall classification — \"Class I\" (most serious), \"Class II\", or \"Class III\".\n    limit: Number of actions to return (1–100, default 10).\n\nReturns:\n    Dictionary with count and enforcement actions (recall number, reason, classification,\n    recalling firm). Class I = most serious (risk of serious adverse health consequences).","operationId":"openfda_search_enforcement","responses":{"200":{"description":"Successful tool call","content":{"application/json":{"schema":{"type":"object"}}}},"404":{"description":"Server or tool not found"},"500":{"description":"Tool execution error"}},"security":[{"ApiKeyHeader":[]},{"ApiKeyQuery":[]}],"requestBody":{"required":false,"content":{"application/json":{"schema":{"additionalProperties":false,"properties":{"product_type":{"default":"drug","description":"Product category — \"drug\", \"food\", or \"device\" (default \"drug\").","type":"string"},"date_from":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null,"description":"Start date of recall initiation in YYYYMMDD format."},"date_to":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null,"description":"End date of recall initiation in YYYYMMDD format."},"classification":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null,"description":"Recall classification — \"Class I\" (most serious), \"Class II\", or \"Class III\"."},"limit":{"default":10,"description":"Number of actions to return (1–100, default 10).","type":"integer"}},"type":"object"}}}}}},"/rest/openfda/device_adverse_events":{"post":{"tags":["Science"],"summary":"device_adverse_events","description":"Search FDA medical device adverse event reports (MAUDE database).\n\nArgs:\n    device_name: Device brand name (e.g. \"pacemaker\", \"insulin pump\", \"hip implant\").\n    event_type: Filter by event type — \"Malfunction\", \"Injury\", \"Death\",\n                or \"No apparent adverse event\".\n    date_from: Start date filter in YYYYMMDD format.\n    date_to: End date filter in YYYYMMDD format.\n    limit: Number of reports to return (1–100, default 10).\n\nReturns:\n    Dictionary with count and device adverse event reports (device name, manufacturer,\n    event type, narrative description). Sourced from MAUDE database.","operationId":"openfda_device_adverse_events","responses":{"200":{"description":"Successful tool call","content":{"application/json":{"schema":{"type":"object"}}}},"404":{"description":"Server or tool not found"},"500":{"description":"Tool execution error"}},"security":[{"ApiKeyHeader":[]},{"ApiKeyQuery":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"additionalProperties":false,"properties":{"device_name":{"description":"Device brand name (e.g. \"pacemaker\", \"insulin pump\", \"hip implant\").","type":"string"},"event_type":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null,"description":"Filter by event type — \"Malfunction\", \"Injury\", \"Death\", or \"No apparent adverse event\"."},"date_from":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null,"description":"Start date filter in YYYYMMDD format."},"date_to":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null,"description":"End date filter in YYYYMMDD format."},"limit":{"default":10,"description":"Number of reports to return (1–100, default 10).","type":"integer"}},"required":["device_name"],"type":"object"}}}}}},"/rest/openfda/report_feedback":{"post":{"tags":["Science"],"summary":"report_feedback","description":"Report a bug, feature request, or general feedback for this data source.\n\nUse this when something doesn't work as expected, when you'd like\na new feature, or when you have suggestions for improvement.\n\nArgs:\n    feedback: Describe the issue or suggestion.\n    feedback_type: One of 'bug', 'feature_request', or 'general'.","operationId":"openfda_report_feedback","responses":{"200":{"description":"Successful tool call","content":{"application/json":{"schema":{"type":"object"}}}},"404":{"description":"Server or tool not found"},"500":{"description":"Tool execution error"}},"security":[{"ApiKeyHeader":[]},{"ApiKeyQuery":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"additionalProperties":false,"properties":{"feedback":{"type":"string"},"feedback_type":{"default":"general","type":"string"}},"required":["feedback"],"type":"object"}}}}}}},"tags":[{"name":"Science","description":"Data sources: Science"}],"components":{"securitySchemes":{"ApiKeyHeader":{"type":"apiKey","in":"header","name":"gnist-api-key","description":"API key passed via request header."},"ApiKeyQuery":{"type":"apiKey","in":"query","name":"gnist_api_key","description":"API key passed via query parameter."}}}}