Skip to main content
Glama

Fda Device 510k Search

fda_device_510k_search
Read-onlyIdempotent

Search FDA 510(k) premarket notifications by device, applicant, product code, K number, review panel, clearance type, decision, applicant location, third-party review status, or device-category text (via indication). Covers IN VITRO DIAGNOSTIC (IVD) tests and diagnostic devices, not just implants/hardware -- includes cleared molecular, genomic and companion diagnostic tests. Clearance means FDA found substantial equivalence; it is not an FDA approval or endorsement. ALSO covers De Novo classification requests (K numbers beginning "DEN", e.g. DEN250057) -- these are not 510(k) clearances but a separate pathway that creates a brand-new device classification when no predicate exists; pass clearance_type:"De Novo" to find only these, or k_number for one by its DEN number. A granted De Novo shows decision "Granted" and carries the new regulation_number it created. indication is a BEST-EFFORT bridge, not a clinical-claim search: 510(k) records carry no indication/intended-use text at all, so it matches FDA's device CLASSIFICATION category name/definition instead (a product TYPE like "Insulin Pump", not a specific claim) and finds clearances under the matching product code(s) -- for a true clinical-indication text search (e.g. molecular/companion-diagnostic claims), use fda_device_pma_search's indication argument, which searches FDA's real approval-order narrative. Unknown arguments are rejected, not ignored. The most recent decision available lags roughly 2 weeks behind FDA's own site (openFDA's publishing cadence, not ours) -- do not treat this as same-day. total can exceed the 100-row limit cap; page further rows with skip.

Input Schema

NameRequiredDescriptionDefault
skipNoRow offset for paging past the 100-row limit cap (openFDA `skip`, max 25000), e.g. skip=100 with limit=100 returns rows 101-200.
limitNoResults (1-100, default 20).
deviceNoDevice/trade name substring.
to_dateNoLatest decision date, YYYY-MM-DD.
decisionNoExact decision text, e.g. "Substantially Equivalent", or "Granted" for a De Novo grant.
k_numberNoExact K number, e.g. K241234, or De Novo number, e.g. DEN250057.
applicantNoApplicant/company substring.
from_dateNoEarliest decision date, YYYY-MM-DD.
indicationNoOne or more device-category phrases, OR'd together, matched against FDA's device classification name/definition (device/classification.json) to find matching product code(s), then 510(k)s under those codes -- a category match (e.g. "Insulin Pump"), NOT a search of clinical-claim text, because 510(k) has no such field. Pass several phrasings since matching is exact-phrase against the category wording. For an actual clinical-indication/intended-use text search, use fda_device_pma_search's indication argument instead.
product_codeNoExact three-letter FDA product code.
clearance_typeNoExact pathway: Traditional, Special, Abbreviated, or Dual Track for ordinary 510(k)s; "De Novo" for a De Novo classification request/grant (DEN numbers) regardless of whether FDA processed it as "Direct" or "Post-NSE" -- both come back labelled De Novo, with the FDA pathway variant in de_novo_pathway.
applicant_stateNoApplicant US state/territory code, e.g. "CA". Only populated for US applicants.
applicant_countryNoApplicant country, ISO 3166-1 alpha-2 code, e.g. "US" or "JP".
advisory_committeeNoFDA review panel name (exact), e.g. "Orthopedic" or "Microbiology".
third_party_reviewNotrue to keep only 510(k)s reviewed under FDA's third-party review program; false to exclude them.

Output Schema

NameRequiredDescriptionDefault
totalYes
sourceYes
returnedYes
clearancesYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed4 schema fields changed
    • changedInput schema / examples
      Previous value: -[
      -  {
      -    "device": "glucose monitor",
      -    "from_date": "2025-01-01",
      -    "limit": 10
      -  },
      -  {
      -    "advisory_committee": "Orthopedic",
      -    "clearance_type": "Special",
      -    "limit": 5
      -  },
      -  {
      -    "indication": [
      -      "insulin pump"
      -    ],
      -    "limit": 5
      -  }
      -]New value: +[
      +  {
      +    "device": "glucose monitor",
      +    "from_date": "2025-01-01",
      +    "limit": 10
      +  },
      +  {
      +    "advisory_committee": "Orthopedic",
      +    "clearance_type": "Special",
      +    "limit": 5
      +  },
      +  {
      +    "indication": [
      +      "insulin pump"
      +    ],
      +    "limit": 5
      +  },
      +  {
      +    "k_number": "DEN250057"
      +  }
      +]
    • changedInput schema / properties / clearance_type / description
      Previous value: -"Exact clearance type: Traditional, Special, or Abbreviated."New value: +"Exact pathway: Traditional, Special, Abbreviated, or Dual Track for ordinary 510(k)s; \"De Novo\" for a De Novo classification request/grant (DEN numbers) regardless of whether FDA processed it as \"Direct\" or \"Post-NSE\" -- both come back labelled De Novo, with the FDA pathway variant in de_novo_pathway."
    • changedInput schema / properties / decision / description
      Previous value: -"Exact decision text, e.g. \"Substantially Equivalent\"."New value: +"Exact decision text, e.g. \"Substantially Equivalent\", or \"Granted\" for a De Novo grant."
    • changedInput schema / properties / k_number / description
      Previous value: -"Exact K number, e.g. K241234."New value: +"Exact K number, e.g. K241234, or De Novo number, e.g. DEN250057."
  2. Changed2 schema fields changed
    • changedInput schema / examples
      Previous value: -[
      -  {
      -    "device": "glucose monitor",
      -    "from_date": "2025-01-01",
      -    "limit": 10
      -  },
      -  {
      -    "advisory_committee": "Orthopedic",
      -    "clearance_type": "Special",
      -    "limit": 5
      -  }
      -]New value: +[
      +  {
      +    "device": "glucose monitor",
      +    "from_date": "2025-01-01",
      +    "limit": 10
      +  },
      +  {
      +    "advisory_committee": "Orthopedic",
      +    "clearance_type": "Special",
      +    "limit": 5
      +  },
      +  {
      +    "indication": [
      +      "insulin pump"
      +    ],
      +    "limit": 5
      +  }
      +]
    • addedInput schema / properties / indication
      Added value: +{
      +  "description": "One or more device-category phrases, OR'd together, matched against FDA's device classification name/definition (device/classification.json) to find matching product code(s), then 510(k)s under those codes -- a category match (e.g. \"Insulin Pump\"), NOT a search of clinical-claim text, because 510(k) has no such field. Pass several phrasings since matching is exact-phrase against the category wording. For an actual clinical-indication/intended-use text search, use fda_device_pma_search's indication argument instead.",
      +  "items": {
      +    "type": "string"
      +  },
      +  "type": "array"
      +}
  3. Changed8 schema fields changed
    • changedInput schema / examples
      Previous value: -[
      -  {
      -    "device": "glucose monitor",
      -    "from_date": "2025-01-01",
      -    "limit": 10
      -  }
      -]New value: +[
      +  {
      +    "device": "glucose monitor",
      +    "from_date": "2025-01-01",
      +    "limit": 10
      +  },
      +  {
      +    "advisory_committee": "Orthopedic",
      +    "clearance_type": "Special",
      +    "limit": 5
      +  }
      +]
    • addedInput schema / properties / advisory_committee
      Added value: +{
      +  "description": "FDA review panel name (exact), e.g. \"Orthopedic\" or \"Microbiology\".",
      +  "type": "string"
      +}
    • addedInput schema / properties / applicant_country
      Added value: +{
      +  "description": "Applicant country, ISO 3166-1 alpha-2 code, e.g. \"US\" or \"JP\".",
      +  "type": "string"
      +}
    • addedInput schema / properties / applicant_state
      Added value: +{
      +  "description": "Applicant US state/territory code, e.g. \"CA\". Only populated for US applicants.",
      +  "type": "string"
      +}
    • addedInput schema / properties / clearance_type
      Added value: +{
      +  "description": "Exact clearance type: Traditional, Special, or Abbreviated.",
      +  "type": "string"
      +}
    • addedInput schema / properties / decision
      Added value: +{
      +  "description": "Exact decision text, e.g. \"Substantially Equivalent\".",
      +  "type": "string"
      +}
    • addedInput schema / properties / skip
      Added value: +{
      +  "description": "Row offset for paging past the 100-row limit cap (openFDA `skip`, max 25000), e.g. skip=100 with limit=100 returns rows 101-200.",
      +  "type": "number"
      +}
    • addedInput schema / properties / third_party_review
      Added value: +{
      +  "description": "true to keep only 510(k)s reviewed under FDA's third-party review program; false to exclude them.",
      +  "type": "boolean"
      +}
  4. First observed

TDQS

A4.6/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnly/idempotent/non-destructive/openWorld, so safety is covered. The description adds real behavioral context beyond them: a ~2-week publication lag, that total can exceed limit, that unknown arguments are rejected rather than ignored, and that 'clearance' means substantial equivalence, not FDA approval. It loses a point only because return-shape/page-order details are left to the output schema.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The critical scope and routing facts lead, and the caveats follow, so it is well front-loaded. It is dense and long (the De Novo and indication explanations take several sentences each), but almost every clause carries decision-relevant information rather than restating the schema.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With 15 optional parameters, no enums, and a complex regulatory domain, the description supplies exactly the missing context: what indication actually matches, how De Novo differs from 510(k), what 'clearance' legally means, and how to page. An output schema exists, so return-value explanation is not required.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so the baseline is 3, but the description contributes genuinely new meaning: indication is a best-effort classification-category match rather than a claim search, and clearance_type:"De Novo" normalizes Direct/Post-NSE variants under one label. Those are non-obvious semantics an agent would otherwise get wrong.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Opens with a specific verb-resource pair and enumerates the searchable dimensions, then immediately scopes the tool: it covers IVD/molecular/companion diagnostics, and it ALSO covers De Novo requests (DEN numbers). That is enough for an agent to distinguish it from fda_device_pma_search and fda_device_510k_summary without opening a schema.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicit routing instructions are given: use clearance_type:"De Novo" for De Novo-only results, use k_number for a single DEN number, and use fda_device_pma_search's indication argument for true clinical-claim text searches because 510(k) has no such field. Paging guidance (total can exceed the 100-row cap; use skip) and the freshness caveat (roughly 2 weeks behind FDA) are also stated up front.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.