FDA and CMS evidence for AI medical devices: 510(k), postmarket, reimbursement, and compliance.
Maintain this server? Claim it
Call this server's tools from your browser. Nothing to install.
Requests go through mcptry because browsers can't call most MCP servers directly. Header values are sent to the server for that request only and are never stored or logged.
Tool list from our last check. Connect live to refresh it.
Postmarket presence rates across the snapshotted AI/ML device cohort (optionally by panel): share with any recall in 24 months, with a rising MAUDE trend, with any drift signal, with a warning-letter match — every rate with its denominator inline, never pooled across devices.
Advisory panel, e.g. Radiology; omit for all
This tool isn't marked read-only, so it may change something on the server or in an account you connected.
Postmarket presence rates across the snapshotted AI/ML device cohort (optionally by panel): share with any recall in 24 months, with a rising MAUDE trend, with any drift signal, with a warning-letter match — every rate with its denominator inline, never pooled across devices.
| Argument | Type | Description |
|---|---|---|
| panel | string | Advisory panel, e.g. Radiology; omit for all |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"panel": {
"type": "string",
"maxLength": 80,
"description": "Advisory panel, e.g. Radiology; omit for all"
}
}
}Look up the structured premarket evidence FDA accepted for a specific AI/ML-enabled device by 510(k) number (e.g. K252148). Returns parsed summary fields — validation study design, sample sizes, endpoints, reported performance, predicate chain, PCCP — each with a verbatim source quote and page. Null means the summary did not state it.
| Argument | Type | Description |
|---|---|---|
| k_number* | string | 510(k) or De Novo number, e.g. K252148 or DEN180001 |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"k_number"
],
"properties": {
"k_number": {
"type": "string",
"pattern": "^(K|DEN)\\d{6}$",
"description": "510(k) or De Novo number, e.g. K252148 or DEN180001"
}
}
}Post-clearance intelligence for one AI/ML device by 510(k) number: its product code's recalls, MAUDE adverse-event level and trend, warning-letter and 483 matches for the applicant, plus per-device drift signals (adverse-event inflection, re-clearances of the same device line, software-recall patterns, predicate-cohort recall activity). Descriptive observables with sources — never a safety judgment.
| Argument | Type | Description |
|---|---|---|
| k_number* | string | 510(k) or De Novo number, e.g. K252148 or DEN180001 |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"k_number"
],
"properties": {
"k_number": {
"type": "string",
"pattern": "^(K|DEN)\\d{6}$",
"description": "510(k) or De Novo number, e.g. K252148 or DEN180001"
}
}
}Review a medical-device category's public FDA signals by three-letter product code (e.g. FRN = infusion pump). Returns recalls, MAUDE adverse-event trend, warning-letter matches, a normalized category signal, its driver contributions, and interpretation limits. It does not predict enforcement against a firm.
| Argument | Type | Description |
|---|---|---|
| product_code* | string | FDA product code, e.g. FRN |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"product_code"
],
"properties": {
"product_code": {
"type": "string",
"pattern": "^[A-Za-z0-9]{3}$",
"description": "FDA product code, e.g. FRN"
}
}
}Reporting-rate stats across the parsed AI/ML corpus (optionally by panel). Each rate is a presence figure with its denominator — 'reported in X of Y audited devices' — never a pooled performance value. Excludes not-yet-parsed devices from every denominator and discloses the parse queue separately. Predicate age (median years between a clearance and its cited predicates) is included when decision-date coverage clears a 60% floor, and withheld otherwise.
| Argument | Type | Description |
|---|---|---|
| panel | string | Advisory panel, e.g. Radiology; omit for all |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"panel": {
"type": "string",
"maxLength": 80,
"description": "Advisory panel, e.g. Radiology; omit for all"
}
}
}Find AI/ML device clearances by filter — product code, panel, applicant, and whether the submission reported clinical data, any sensitivity metric, or a PCCP. Answers 'what evidence did FDA accept for devices like mine'. Returns bounded discovery summaries; call device_evidence_lookup with a result's K-number for the full source-quoted FDA record. Presence flags are descriptive: 'reports a sensitivity metric' is not 'reports a comparable sensitivity' — analysis units differ across devices.
| Argument | Type | Description |
|---|---|---|
| limit | integer | |
| panel | string | Advisory panel, e.g. Radiology |
| cursor | string | Opaque continuation cursor returned by a prior page. |
| has_pccp | boolean | Included a Predetermined Change Control Plan |
| applicant | string | Substring match on applicant/company name |
| product_code | string | FDA product code, e.g. QAS |
| has_clinical_data | boolean | |
| reports_any_sensitivity_metric | boolean | Reported any sensitivity metric (canonical — includes per-finding sensitivities, not just the top-level slot). Not a claim of cross-device comparability. |
Build a recent, source-bounded FDA public-record timeline for a device firm: matched recalls, warning letters, and Form 483 citations where exact FEI numbers are available. Product codes are discovered from Constat's AI/ML-device corpus or may be supplied explicitly. Returns attribution and coverage limits with the records; it is not a finding of noncompliance or a prediction of FDA action.
| Argument | Type | Description |
|---|---|---|
| limit | integer | Maximum records per source and events in the timeline (default 20). |
| since | string | Earliest event date, YYYY-MM-DD. Defaults to five years ago. |
| firm_name* | string | FDA applicant or company name, e.g. 'Medtronic' |
| fei_numbers | array | Optional exact FDA FEI numbers; improves Form 483 attribution. |
| product_codes | array | Optional FDA product-code scope. When omitted, Constat discovers codes from applicant matches in its device corpus. |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"firm_name"
],
"properties": {
"limit": {
"type": "integer",
"maximum": 50,
"minimum": 1,
"description": "Maximum records per source and events in the timeline (default 20)."
},
"since": {
"type": "string",
"pattern": "^\\d{4}-\\d{2}-\\d{2}$",
"description": "Earliest event date, YYYY-MM-DD. Defaults to five years ago."
},
"firm_name": {
"type": "string",
"maxLength": 160,
"minLength": 2,
"description": "FDA applicant or company name, e.g. 'Medtronic'"
},
"fei_numbers": {
"type": "array",
"items": {
"type": "string",
"pattern": "^\\d{6,12}$"
},
"maxItems": 20,
"description": "Optional exact FDA FEI numbers; improves Form 483 attribution."
},
"product_codes": {
"type": "array",
"items": {
"type": "string",
"pattern": "^[A-Za-z0-9]{3}$"
},
"maxItems": 8,
"description": "Optional FDA product-code scope. When omitted, Constat discovers codes from applicant matches in its device corpus."
}
}
}Find AI/ML devices by postmarket criteria — product code, panel, applicant, whether any drift signal exists, minimum recalls in 24 months, or a rising MAUDE trend. Returns per-device postmarket summaries with drift-signal counts.
| Argument | Type | Description |
|---|---|---|
| limit | integer | |
| panel | string | Advisory panel, e.g. Radiology |
| cursor | string | Opaque continuation cursor returned by a prior page. |
| applicant | string | Substring match on applicant/company name |
| product_code | string | FDA product code, e.g. QIH |
| maude_trend_up | boolean | Code-level MAUDE trend above its own 3-year baseline |
| has_drift_signal | boolean | |
| min_recalls_24mo | integer | Product-code recalls in trailing 24 months |
| signal_specificity | string | Restrict the drift-signal filter to one tier: 'device' = attributable to this device (own line re-cleared, own applicant's recall, predicate neighbors) — the high-signal tier; 'product_code' = observed in its category |
Trace the predicate ancestry of a 510(k) device, with each cited predicate's age (how many years old the predicate was when the child cleared). Reveals how AI/ML devices chain to older predicates.
| Argument | Type | Description |
|---|---|---|
| depth | integer | Max ancestry depth (default 4) |
| k_number* | string | 510(k) or De Novo number, e.g. K252148 or DEN180001 |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"k_number"
],
"properties": {
"depth": {
"type": "integer",
"maximum": 6,
"minimum": 1,
"description": "Max ancestry depth (default 4)"
},
"k_number": {
"type": "string",
"pattern": "^(K|DEN)\\d{6}$",
"description": "510(k) or De Novo number, e.g. K252148 or DEN180001"
}
}
}Trace the clearance-to-payment pathway for an AI/ML device by FDA clearance number (K/DEN, e.g. DEN170073) OR bare CPT code (e.g. 75580). Returns every payment mechanism (NTAP add-on, Category I/III CPT + CMS rate, HCPCS, MAC LCD) with amounts, effective dates, and source links, plus any commercial/MAC payer coverage policies that reference the clearance or its codes. Answers 'who got paid, how much, through which mechanism, on what basis.' CPT codes are bare factual identifiers only — no procedure descriptors; follow the CMS source link for the official descriptor.
| Argument | Type | Description |
|---|---|---|
| cpt_code | string | Bare CPT code, e.g. 75580 or 0932T |
| k_number | string | FDA clearance number, e.g. DEN170073 or K252148 |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"cpt_code": {
"type": "string",
"pattern": "^\\d{4,5}[A-Z]?$",
"description": "Bare CPT code, e.g. 75580 or 0932T"
},
"k_number": {
"type": "string",
"pattern": "^(K|DEN)\\d{6}$",
"description": "FDA clearance number, e.g. DEN170073 or K252148"
}
}
}Find AI/ML device payment pathways by mechanism — e.g. 'devices that got NTAP', 'devices paid under a Category I CPT code', 'pathways with a known CMS dollar rate'. Filters: mechanism, CPT category, NTAP status, applicant. Returns pathways with amounts, effective dates, and sources. Use reimbursement_stats for the mechanism distribution (never a single pooled reimbursement rate).
| Argument | Type | Description |
|---|---|---|
| limit | integer | |
| cursor | string | Opaque continuation cursor returned by a prior page. |
| applicant | string | Substring match on device maker / applicant name |
| mechanism | string | Payment mechanism |
| ntap_status | string | |
| cpt_category | string | CPT category |
| has_cms_rate | boolean | Only pathways with a known CMS dollar rate |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"limit": {
"type": "integer",
"maximum": 50,
"minimum": 1
},
"cursor": {
"type": "string",
"maxLength": 512,
"description": "Opaque continuation cursor returned by a prior page."
},
"applicant": {
"type": "string",
"maxLength": 120,
"description": "Substring match on device maker / applicant name"
},
"mechanism": {
"enum": [
"ntap",
"cat_iii_apc",
"cat_i",
"hcpcs",
"lcd",
"none"
],
"type": "string",
"description": "Payment mechanism"
},
"ntap_status": {
"enum": [
"active",
"expired",
"granted",
"none"
],
"type": "string"
},
"cpt_category": {
"enum": [
"I",
"III",
"unknown"
],
"type": "string",
"description": "CPT category"
},
"has_cms_rate": {
"type": "boolean",
"description": "Only pathways with a known CMS dollar rate"
}
}
}Distribution of payment mechanisms across the AI/ML reimbursement corpus — pathway and distinct-device counts per mechanism (NTAP, Cat I, Cat III/APC, …) with the min/median/max dollar amounts for each. Deliberately never a single pooled 'reimbursement rate': NTAP add-on amounts and CMS rates are different measurements and are reported separately with their own spreads.
No arguments.
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {}
}Look up NHTSA safety history for a vehicle by make, model, and model year. Returns recall campaigns and complaint statistics (crashes, fires, injuries, top components).
| Argument | Type | Description |
|---|---|---|
| make* | string | e.g. honda |
| year* | string | model year, e.g. 2020 |
| model* | string | e.g. civic |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"make",
"model",
"year"
],
"properties": {
"make": {
"type": "string",
"maxLength": 64,
"minLength": 2,
"description": "e.g. honda"
},
"year": {
"type": "string",
"pattern": "^\\d{4}$",
"description": "model year, e.g. 2020"
},
"model": {
"type": "string",
"maxLength": 64,
"minLength": 1,
"description": "e.g. civic"
}
}
}Return machine-generated FDA public-record changes detected for monitored product codes since a caller-supplied date, plus each code's latest category snapshot and postmarket coverage. Defaults to Constat Radar's five-code watchlist and the last seven days. Analyst verdict text and internal review status are excluded; use next_since as the next polling cursor.
| Argument | Type | Description |
|---|---|---|
| limit | integer | Maximum changes to return (default 10). |
| since | string | Return changes on or after this ISO date or UTC timestamp. Defaults to the last seven days; pass the prior response's next_since for exact polling. |
| product_codes | array | FDA product codes to poll. Omit for the default Radar watchlist. |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"limit": {
"type": "integer",
"maximum": 100,
"minimum": 1,
"description": "Maximum changes to return (default 10)."
},
"since": {
"type": "string",
"pattern": "^\\d{4}-\\d{2}-\\d{2}(?:T\\d{2}:\\d{2}:\\d{2}(?:\\.\\d{1,3})?Z)?$",
"description": "Return changes on or after this ISO date or UTC timestamp. Defaults to the last seven days; pass the prior response's next_since for exact polling."
},
"product_codes": {
"type": "array",
"items": {
"type": "string",
"pattern": "^[A-Za-z0-9]{3}$"
},
"maxItems": 20,
"description": "FDA product codes to poll. Omit for the default Radar watchlist."
}
}
}{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"limit": {
"type": "integer",
"maximum": 50,
"minimum": 1
},
"panel": {
"type": "string",
"maxLength": 80,
"description": "Advisory panel, e.g. Radiology"
},
"cursor": {
"type": "string",
"maxLength": 512,
"description": "Opaque continuation cursor returned by a prior page."
},
"has_pccp": {
"type": "boolean",
"description": "Included a Predetermined Change Control Plan"
},
"applicant": {
"type": "string",
"maxLength": 120,
"description": "Substring match on applicant/company name"
},
"product_code": {
"type": "string",
"pattern": "^[A-Za-z0-9]{3}$",
"description": "FDA product code, e.g. QAS"
},
"has_clinical_data": {
"type": "boolean"
},
"reports_any_sensitivity_metric": {
"type": "boolean",
"description": "Reported any sensitivity metric (canonical — includes per-finding sensitivities, not just the top-level slot). Not a claim of cross-device comparability."
}
}
}{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"limit": {
"type": "integer",
"maximum": 50,
"minimum": 1
},
"panel": {
"type": "string",
"maxLength": 80,
"description": "Advisory panel, e.g. Radiology"
},
"cursor": {
"type": "string",
"maxLength": 512,
"description": "Opaque continuation cursor returned by a prior page."
},
"applicant": {
"type": "string",
"maxLength": 120,
"description": "Substring match on applicant/company name"
},
"product_code": {
"type": "string",
"pattern": "^[A-Za-z0-9]{3}$",
"description": "FDA product code, e.g. QIH"
},
"maude_trend_up": {
"type": "boolean",
"description": "Code-level MAUDE trend above its own 3-year baseline"
},
"has_drift_signal": {
"type": "boolean"
},
"min_recalls_24mo": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": 0,
"description": "Product-code recalls in trailing 24 months"
},
"signal_specificity": {
"enum": [
"device",
"product_code"
],
"type": "string",
"description": "Restrict the drift-signal filter to one tier: 'device' = attributable to this device (own line re-cleared, own applicant's recall, predicate neighbors) — the high-signal tier; 'product_code' = observed in its category"
}
}
}