MCP Server

FDA import alert red lists

io.github.joelp22-maker/referencesource-import-alerts
Business & Operations Legal & Compliance Public & reachable MCP 2026-07-28

What this MCP does

Searches and verifies FDA import-alert red-list records for foreign firms, products, alert reasons, countries, and publication dates.

get_listing
Get one red-list entry in full
Everything FDA prints for one red-list entry: the firm name and address, the import alert and its title, the product code and description, FDA's stated reason (the Notes block — the actual finding, e.g. "Decomposition" or a confirmed laboratory result), and the date published, with the FDA page and a verbatim quote. Record IDs come from resolve_firm or list_alert_firms.
Read only
Input schema
{'type': 'object', 'required': ['record_id'], 'properties': {'record_id': {'type': 'string', 'description': 'The listing\'s record id, e.g. "argentina-54-16-molecular-dynamics-sas".'}}}
Output schema
{'type': 'object', 'required': ['listing'], 'properties': {'listing': {'type': 'object', 'properties': {'notes': {'type': 'string', 'description': "FDA's stated reason for the listing."}, 'country': {'type': 'string'}, 'firm_name': {'type': 'string'}, 'record_id': {'type': 'string'}, 'record_url': {'type': 'string', 'description': "This record's own page on referencesource.org."}, 'source_url': {'type': 'string', 'description': 'The page the value was read from.'}, 'consequence': {'type': 'string'}, 'firm_address': {'type': 'string'}, 'product_code': {'type': 'string', 'description': "FDA's product code line as printed."}, 'source_quote': {'type': 'string', 'description': 'Verbatim text from that page containing the value.'}, 'also_reported': {'type': 'array', 'items': {'type': 'object', 'properties': {'as_of': {'type': 'string'}, 'field': {'type': 'string'}, 'value': {}, 'source_url': {'type': 'string'}, 'source_quote': {'type': 'string'}}}, 'description': "Values for this record reported by a SECOND source, each with its own source_url and source_quote. Cite these to the page they name, never to the record's primary source."}, 'date_published': {'type': 'string'}, 'import_alert_name': {'type': 'string'}, 'import_alert_number': {'type': 'string'}, 'product_description': {'type': 'string'}}}, 'register': {'type': 'object'}}}
list_alert_firms
List the firms red-listed on one import alert
Who is on this import alert? Returns the firms red-listed on one alert number (from list_import_alerts), newest listing first, optionally narrowed to a country — for example every Vietnamese firm on 16-120, or every firm on 66-57. Each with the FDA page and a verbatim quote.
Read only
Input schema
{'type': 'object', 'required': ['import_alert_number'], 'properties': {'limit': {'type': 'integer', 'description': 'How many to return, 1–20. Default 20.'}, 'country': {'type': 'string', 'description': 'Optional country filter.'}, 'import_alert_number': {'type': 'string', 'description': 'The alert number as FDA prints it, e.g. "16-120" or "66-57".'}}}
Output schema
{'type': 'object', 'required': ['import_alert_number', 'firms_matched', 'firms', 'coverage'], 'properties': {'firms': {'type': 'array', 'items': {'type': 'object', 'properties': {'country': {'type': 'string'}, 'firm_name': {'type': 'string', 'description': 'As the red list prints it.'}, 'record_id': {'type': 'string'}, 'record_url': {'type': 'string', 'description': "This record's own page on referencesource.org."}, 'source_url': {'type': 'string', 'description': 'The page the value was read from.'}, 'source_quote': {'type': 'string', 'description': 'Verbatim text from that page containing the value.'}, 'also_reported': {'type': 'array', 'items': {'type': 'object', 'properties': {'as_of': {'type': 'string'}, 'field': {'type': 'string'}, 'value': {}, 'source_url': {'type': 'string'}, 'source_quote': {'type': 'string'}}}, 'description': "Values for this record reported by a SECOND source, each with its own source_url and source_quote. Cite these to the page they name, never to the record's primary source."}, 'date_published': {'type': 'string', 'description': 'As FDA prints it, MM/DD/YYYY.'}, 'import_alert_name': {'type': 'string'}, 'import_alert_number': {'type': 'string', 'description': 'e.g. "16-120", "66-57".'}, 'product_description': {'type': 'string'}}}}, 'coverage': {'type': 'string'}, 'register': {'type': 'object'}, 'firms_matched': {'type': 'integer'}, 'firms_returned': {'type': 'integer'}, 'import_alert_number': {'type': 'string'}}}
list_import_alerts
List the import alerts this register covers
Which FDA import alerts are in here, and how many firms are on each? Returns the alert number, FDA's own title for it, the number of firms red-listed, how many countries they are in, and the newest listing date. Call this first to see what can be answered, and to get an alert number for list_alert_firms.
Read only
Input schema
{'type': 'object', 'properties': {}}
Output schema
{'type': 'object', 'required': ['alerts_total', 'alerts', 'coverage'], 'properties': {'alerts': {'type': 'array', 'items': {'type': 'object', 'properties': {'countries': {'type': 'integer'}, 'source_url': {'type': 'string'}, 'firms_listed': {'type': 'integer'}, 'import_alert_name': {'type': 'string'}, 'import_alert_number': {'type': 'string'}, 'newest_listing_date': {'type': 'string', 'description': 'As FDA prints it, MM/DD/YYYY.'}}}}, 'coverage': {'type': 'string'}, 'register': {'type': 'object'}, 'alerts_total': {'type': 'integer'}}}
list_recent_listings
List firms added to a red list since a date
Who has FDA red-listed recently? Returns the listings whose published date is on or after a date you give, newest first, optionally for one alert. Use this to watch a category — new detentions on the seafood alerts, say — rather than to look a firm up. The date FDA prints is when the FIRM was added to the alert.
Read only
Input schema
{'type': 'object', 'required': ['since'], 'properties': {'limit': {'type': 'integer', 'description': 'How many to return, 1–20. Default 20.'}, 'since': {'type': 'string', 'description': 'ISO date, e.g. "2025-01-01". FDA prints MM/DD/YYYY; this filter compares an ISO form computed here from that string.'}, 'import_alert_number': {'type': 'string', 'description': 'Optional: only this alert.'}}}
Output schema
{'type': 'object', 'required': ['since', 'listings_matched', 'listings', 'coverage'], 'properties': {'since': {'type': 'string'}, 'coverage': {'type': 'string'}, 'listings': {'type': 'array', 'items': {'type': 'object', 'properties': {'country': {'type': 'string'}, 'firm_name': {'type': 'string'}, 'record_id': {'type': 'string'}, 'record_url': {'type': 'string', 'description': "This record's own page on referencesource.org."}, 'source_url': {'type': 'string', 'description': 'The page the value was read from.'}, 'source_quote': {'type': 'string', 'description': 'Verbatim text from that page containing the value.'}, 'also_reported': {'type': 'array', 'items': {'type': 'object', 'properties': {'as_of': {'type': 'string'}, 'field': {'type': 'string'}, 'value': {}, 'source_url': {'type': 'string'}, 'source_quote': {'type': 'string'}}}, 'description': "Values for this record reported by a SECOND source, each with its own source_url and source_quote. Cite these to the page they name, never to the record's primary source."}, 'date_published': {'type': 'string', 'description': 'As FDA prints it.'}, 'import_alert_name': {'type': 'string'}, 'date_published_iso': {'type': 'string', 'description': "The same date in ISO form, computed here for ordering and filtering. NOT text from FDA's page — quote date_published when citing."}, 'import_alert_number': {'type': 'string'}, 'product_description': {'type': 'string'}}}}, 'register': {'type': 'object'}, 'listings_matched': {'type': 'integer'}, 'listings_returned': {'type': 'integer'}}}
resolve_firm
Find a firm on an FDA import alert red list
Is this supplier red-listed by FDA? Search the import alert red lists by firm name or part of one (e.g. "Tonga Tiur", "Qingdao", "pharmacy"), optionally narrowed to a country. Returns each listing with the import alert number and name, the country, the date FDA published the listing, and the FDA page and verbatim quote it was read from. A firm can appear more than once — one record per alert it is listed on.
Read only
Input schema
{'type': 'object', 'required': ['firm_name'], 'properties': {'country': {'type': 'string', 'description': 'Optional country filter, e.g. "CHINA", "Vietnam". FDA prints countries in capitals; matching is case-insensitive.'}, 'firm_name': {'type': 'string', 'description': 'Firm name or part of one. Case-insensitive substring match.'}}}
Output schema
{'type': 'object', 'required': ['firm_name', 'listings_matched', 'listings', 'coverage'], 'properties': {'coverage': {'type': 'string'}, 'listings': {'type': 'array', 'items': {'type': 'object', 'properties': {'country': {'type': 'string'}, 'firm_name': {'type': 'string', 'description': 'As the red list prints it.'}, 'record_id': {'type': 'string'}, 'record_url': {'type': 'string', 'description': "This record's own page on referencesource.org."}, 'source_url': {'type': 'string', 'description': 'The page the value was read from.'}, 'source_quote': {'type': 'string', 'description': 'Verbatim text from that page containing the value.'}, 'also_reported': {'type': 'array', 'items': {'type': 'object', 'properties': {'as_of': {'type': 'string'}, 'field': {'type': 'string'}, 'value': {}, 'source_url': {'type': 'string'}, 'source_quote': {'type': 'string'}}}, 'description': "Values for this record reported by a SECOND source, each with its own source_url and source_quote. Cite these to the page they name, never to the record's primary source."}, 'date_published': {'type': 'string', 'description': 'As FDA prints it, MM/DD/YYYY.'}, 'import_alert_name': {'type': 'string'}, 'import_alert_number': {'type': 'string', 'description': 'e.g. "16-120", "66-57".'}, 'product_description': {'type': 'string'}}}}, 'register': {'type': 'object'}, 'firm_name': {'type': 'string'}, 'listings_matched': {'type': 'integer'}, 'listings_returned': {'type': 'integer'}}}
verify_quote
Check a claimed import-alert fact against the register
Is this right? Check a claim about a red-list entry — the alert number a firm is on, its country, the date it was published, FDA's stated reason — against the register instead of trusting it. Says whether the claim matches a stored value, appears only in the verbatim FDA quote, or differs (and then what FDA's page says instead).
Read only
Input schema
{'type': 'object', 'required': ['claimed_value', 'record_id'], 'properties': {'field': {'type': 'string', 'description': 'Which field the claim is about, if you know it. Without it, every stored field of the record is checked.'}, 'record_id': {'type': 'string', 'description': "The listing's record id, from resolve_firm or list_alert_firms."}, 'claimed_value': {'type': 'string', 'description': 'The value to check, exactly as claimed, e.g. "Terminated" or "2026-10-29".'}}}
Output schema
{'type': 'object', 'required': ['verdict', 'claimed_value', 'attestation'], 'properties': {'match': {'type': 'object', 'properties': {'field': {'type': 'string'}, 'match_type': {'enum': ['exact', 'case_insensitive', 'normalised', 'normalised_number', 'within_stored_value'], 'type': 'string'}, 'source_url': {'type': 'string'}, 'reported_by': {'type': 'string'}, 'source_quote': {'type': 'string'}, 'stored_value': {}}}, 'record': {'type': 'object', 'properties': {'id': {'type': 'string'}, 'record_url': {'type': 'string', 'description': "This record's own page on referencesource.org."}, 'source_url': {'type': 'string', 'description': 'The page the value was read from.'}, 'source_quote': {'type': 'string', 'description': 'Verbatim text from that page containing the value.'}, 'also_reported': {'type': 'array', 'items': {'type': 'object', 'properties': {'as_of': {'type': 'string'}, 'field': {'type': 'string'}, 'value': {}, 'source_url': {'type': 'string'}, 'source_quote': {'type': 'string'}}}, 'description': "Values for this record reported by a SECOND source, each with its own source_url and source_quote. Cite these to the page they name, never to the record's primary source."}}}, 'verdict': {'enum': ['matches_record', 'matches_quote', 'differs', 'not_found'], 'type': 'string', 'description': 'matches_record: the claim equals a stored value (match.match_type says how exactly). matches_quote: it appears in the verbatim source quote but is not a stored value. differs: the record was found and says something else — stored_values shows what. not_found: the record was not located, which says nothing about whether the claim is true.'}, 'attestation': {'type': 'string'}, 'quote_source': {'type': 'string'}, 'claimed_value': {'type': 'string'}, 'stored_values': {'type': 'object'}, 'in_source_quote': {'type': 'boolean'}}}
Added
verify_quote
Sept. 22, 2026, 2:40 a.m.
Added
list_recent_listings
Sept. 22, 2026, 2:40 a.m.
Added
list_alert_firms
Sept. 22, 2026, 2:40 a.m.
Added
list_import_alerts
Sept. 22, 2026, 2:40 a.m.
Added
get_listing
Sept. 22, 2026, 2:40 a.m.
Added
resolve_firm
Sept. 22, 2026, 2:40 a.m.