Skip to content

openFDA MCP by usefulapi

by usefulapi.io · remote · no sign-in to list tools · v1.16.3 · published by io.usefulapi

Search openFDA drug, device, food and adverse-event datasets.

Changes · 1

14 tools: 1 change things and 13 only read.

Scanned Oct 21, 2026

1 check matched something in the tool definitions. No finding is not a safety guarantee. How the checks work.

claude mcp add --transport http openfda https://openfda.usefulapi.io/mcp

Findings

Matches of fixed checks, with the text they matched.

1 warn
  • Warncount

    The server marks "count" read-only (readOnlyHint: true), and its own name, description or input give the class "write".

    Matched text

    annotations: {"readOnlyHint":true}; The name "count" says "count": a word for reading.

    What this check looks for

Tools

Open a tool for its reasons and full description. Descriptions are the publisher's own words, shown as they are.

14 tools

Changes things 1Claude Code: ask
  • countopenFDA's most valuable feature: aggregate over any dataset by a field to get a top-terms histogram (returns `results: [{term, count}]` instead of records).1 finding

    Why it is in this group

    • The name "count" says "count": a word for reading.
    • The description's first verb is "open": a word for a change.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.

    Findings

    • Warn

      The server marks "count" read-only (readOnlyHint: true), and its own name, description or input give the class "write".

      Matched text

      annotations: {"readOnlyHint":true}; The name "count" says "count": a word for reading.

      What this check looks for
    Description, as the server wrote it
    openFDA's most valuable feature: aggregate over any dataset by a field to get a top-terms histogram (returns `results: [{term, count}]` instead of records). Use the '.exact' field suffix to count whole phrases. Example: endpoint 'drug/event', field 'patient.reaction.reactionmeddrapt.exact', search 'patient.drug.medicinalproduct:"aspirin"' → the most common reactions reported for aspirin.

    Annotations the server declares

    • title: Count/aggregate over an openFDA dataset
    • readOnlyHint: true
Only reads 13Claude Code: allow
  • openfda_queryGeneric escape hatch to query ANY supported openFDA endpoint with the full parameter set — covers the less-common datasets (device/pma, device/registrationlisting, device/udi, devi…No findings

    Why it is in this group

    • The name "openfda_query" says "query": a word for reading.
    Description, as the server wrote it
    Generic escape hatch to query ANY supported openFDA endpoint with the full parameter set — covers the less-common datasets (device/pma, device/registrationlisting, device/udi, device/covid19serology, drug/orangebook, other/nsde, other/substance, tobacco/problem, etc.). Use the named search tools for the common datasets; use this for everything else or for advanced queries. openFDA REST API.

    Annotations the server declares

    • title: Query any openFDA endpoint (generic)
    • readOnlyHint: true
  • search_device_510kSearch 510(k) premarket notification clearances: devices cleared for market as substantially equivalent to a predicate, with applicant, decision, product code and dates.No findings

    Why it is in this group

    • The name "search_device_510k" says "search": a word for reading.
    Description, as the server wrote it
    Search 510(k) premarket notification clearances: devices cleared for market as substantially equivalent to a predicate, with applicant, decision, product code and dates. openFDA device/510k endpoint.

    Annotations the server declares

    • title: Search 510(k) premarket clearances
    • readOnlyHint: true
  • search_device_classificationSearch the FDA device classification database: a device type's product code, device class (I/II/III), regulation number, medical specialty and submission requirements.No findings

    Why it is in this group

    • The name "search_device_classification" says "search": a word for reading.
    Description, as the server wrote it
    Search the FDA device classification database: a device type's product code, device class (I/II/III), regulation number, medical specialty and submission requirements. openFDA device/classification endpoint.

    Annotations the server declares

    • title: Search device classification
    • readOnlyHint: true
  • search_device_eventsSearch the MAUDE database: medical device adverse events — reported injuries, deaths and malfunctions involving medical devices.No findings

    Why it is in this group

    • The name "search_device_events" says "search": a word for reading.
    Description, as the server wrote it
    Search the MAUDE database: medical device adverse events — reported injuries, deaths and malfunctions involving medical devices. openFDA device/event endpoint.

    Annotations the server declares

    • title: Search device adverse-event reports (MAUDE)
    • readOnlyHint: true
  • search_device_recallsSearch medical device recalls: recalled devices with the reason, recalling firm, classification, product code and status.No findings

    Why it is in this group

    • The name "search_device_recalls" says "search": a word for reading.
    Description, as the server wrote it
    Search medical device recalls: recalled devices with the reason, recalling firm, classification, product code and status. openFDA device/recall endpoint.

    Annotations the server declares

    • title: Search device recalls
    • readOnlyHint: true
  • search_drug_eventsSearch the FDA Adverse Event Reporting System (FAERS): reports of drug side effects, adverse reactions and medication errors submitted to the FDA.No findings

    Why it is in this group

    • The name "search_drug_events" says "search": a word for reading.
    Description, as the server wrote it
    Search the FDA Adverse Event Reporting System (FAERS): reports of drug side effects, adverse reactions and medication errors submitted to the FDA. Returns individual case reports. openFDA drug/event endpoint.

    Annotations the server declares

    • title: Search drug adverse-event reports (FAERS)
    • readOnlyHint: true
  • search_drug_labelsSearch Structured Product Labeling (SPL): the official prescribing information for drugs — indications, warnings, dosage, adverse reactions, drug interactions and more.No findings

    Why it is in this group

    • The name "search_drug_labels" says "search": a word for reading.
    Description, as the server wrote it
    Search Structured Product Labeling (SPL): the official prescribing information for drugs — indications, warnings, dosage, adverse reactions, drug interactions and more. openFDA drug/label endpoint.

    Annotations the server declares

    • title: Search drug product labels (SPL)
    • readOnlyHint: true
  • search_drug_ndcSearch the National Drug Code (NDC) directory: every drug product's code, name, dosage form, route, active ingredients, marketing status and labeler.No findings

    Why it is in this group

    • The name "search_drug_ndc" says "search": a word for reading.
    Description, as the server wrote it
    Search the National Drug Code (NDC) directory: every drug product's code, name, dosage form, route, active ingredients, marketing status and labeler. openFDA drug/ndc endpoint.

    Annotations the server declares

    • title: Search the National Drug Code directory
    • readOnlyHint: true
  • search_drug_recallsSearch drug recall enforcement reports: recalled drug products with the reason, classification (Class I/II/III), recalling firm, distribution and status.No findings

    Why it is in this group

    • The name "search_drug_recalls" says "search": a word for reading.
    Description, as the server wrote it
    Search drug recall enforcement reports: recalled drug products with the reason, classification (Class I/II/III), recalling firm, distribution and status. openFDA drug/enforcement endpoint.

    Annotations the server declares

    • title: Search drug recall enforcement reports
    • readOnlyHint: true
  • search_drug_shortagesSearch current and resolved drug shortages: the affected product, status, reason, availability and related dates.No findings

    Why it is in this group

    • The name "search_drug_shortages" says "search": a word for reading.
    Description, as the server wrote it
    Search current and resolved drug shortages: the affected product, status, reason, availability and related dates. openFDA drug/shortages endpoint.

    Annotations the server declares

    • title: Search drug shortages
    • readOnlyHint: true
  • search_drugsfdaSearch Drugs@FDA: FDA-approved drug products and their applications (NDA/ANDA/BLA), sponsors, approval dates, products and submissions.No findings

    Why it is in this group

    • The name "search_drugsfda" says "search": a word for reading.
    Description, as the server wrote it
    Search Drugs@FDA: FDA-approved drug products and their applications (NDA/ANDA/BLA), sponsors, approval dates, products and submissions. openFDA drug/drugsfda endpoint.

    Annotations the server declares

    • title: Search Drugs@FDA approved products
    • readOnlyHint: true
  • search_food_eventsSearch the CFSAN Adverse Event Reporting System (CAERS): adverse events and product complaints for foods, dietary supplements and cosmetics.No findings

    Why it is in this group

    • The name "search_food_events" says "search": a word for reading.
    Description, as the server wrote it
    Search the CFSAN Adverse Event Reporting System (CAERS): adverse events and product complaints for foods, dietary supplements and cosmetics. openFDA food/event endpoint.

    Annotations the server declares

    • title: Search food/supplement/cosmetic adverse events (CAERS)
    • readOnlyHint: true
  • search_food_recallsSearch food recall enforcement reports: recalled food products with the reason, classification (Class I/II/III), recalling firm, distribution state and status.No findings

    Why it is in this group

    • The name "search_food_recalls" says "search": a word for reading.
    Description, as the server wrote it
    Search food recall enforcement reports: recalled food products with the reason, classification (Class I/II/III), recalling firm, distribution state and status. openFDA food/enforcement endpoint.

    Annotations the server declares

    • title: Search food recall enforcement reports
    • readOnlyHint: true

This is not a safety rating, and no finding is not a safety guarantee. The groups and findings come from fixed checks of the tool definitions the server returned on the date shown, not from its code or what it does when called. How the checks work.

Install

Pinned to version 1.16.3. Values in angle brackets are yours to fill in.

claude mcp add --transport http openfda https://openfda.usefulapi.io/mcp

Run in a terminal.

Claude Code permissions

Allow the reads, ask before a change, deny the deletes. Paste into .claude/settings.json.

.claude/settings.json
{
  "permissions": {
    "allow": [
      "mcp__openfda__search_drug_events",
      "mcp__openfda__search_drug_labels",
      "mcp__openfda__search_drug_ndc",
      "mcp__openfda__search_drug_recalls",
      "mcp__openfda__search_drugsfda",
      "mcp__openfda__search_drug_shortages",
      "mcp__openfda__search_device_events",
      "mcp__openfda__search_device_510k",
      "mcp__openfda__search_device_recalls",
      "mcp__openfda__search_device_classification",
      "mcp__openfda__search_food_events",
      "mcp__openfda__search_food_recalls",
      "mcp__openfda__openfda_query"
    ],
    "ask": [
      "mcp__openfda__count"
    ],
    "deny": []
  }
}

Tools that only read are allowed, tools that change things ask first, tools that delete or cancel are denied. It assumes the server is installed as openfda. Review it before you use it.