FDA Data MCP
REMOTE · WWW.REGDATALAB.COM · SCANNED AUG 3
Clean FDA regulatory data: company resolution, facilities, recalls, inspections, approvals.
Available components
How this component scores in each security and reliability category. Every signal is checked automatically against the live server, and we only credit what we can confirm. How we score →
Endpoint Security63
- The endpoint's TLS certificate is valid, in date, and uses a strong key. View diagnostics → Pass
- Authorisation not fully verified: no authorisation is required to call this server, and 46 tool(s) never declared a destructiveHint. The MCP spec treats an absent hint as destructive by default, so we cannot call this surface safe. See how to fix → View diagnostics → Unverified
- HTTPS is enforced; there's no plaintext access path. View diagnostics → Pass
- The HSTS (Strict-Transport-Security) header is present. View diagnostics → Pass
- DNSSEC check failed: this domain isn't protected by DNSSEC. See how to fix → View diagnostics → Fail
Transport & Reachability100
- Verified streamable-http transport via a live MCP handshake. View diagnostics → Pass
Schema Quality & AI Usability73
- 100% of prompts and resources have a non-trivial description (not blank, and not just the item's name).Pass
- AI-judged instruction clarity (good).Pass
- Context-footprint check failed: tool/resource definitions use about 9359 tokens (~191/item across 49 items; 48 tools + 1 resources), over budget; trim descriptions and params. See how to fix → Fail
- Usage-examples check failed: none of the tools include examples. See how to fix → Fail
Stability & Change Management23
- Stability observed for 7 of 30 days with no destabilising changes; credit accrues until the full window elapses.Partial
Tool Coverage100
- 100% of tools have a non-trivial description (not blank, and not just the tool's name).Pass
- 100% of tool parameters carry a description.Pass
Capabilities100
- Implements a supported MCP spec version (2025-11-25); the latest is 2026-07-28.Pass
Add this component to your MCP client. Where a client-specific snippet is available, pick your client below and copy it straight into your config; otherwise use the connection detail shown.
remote · www.regdatalab.com
claude mcp add --transport http medley-fda-data https://www.regdatalab.com/mcp
[mcp_servers.medley-fda-data] url = "https://www.regdatalab.com/mcp"
{
"$schema": "https://opencode.ai/config.json",
"mcp": {
"medley-fda-data": {
"type": "remote",
"url": "https://www.regdatalab.com/mcp",
"enabled": true
}
}
} openclaw mcp add medley-fda-data --url https://www.regdatalab.com/mcp --transport streamable-http
mcp_servers:
medley-fda-data:
url: "https://www.regdatalab.com/mcp" {
"mcpServers": {
"medley-fda-data": {
"type": "http",
"url": "https://www.regdatalab.com/mcp"
}
}
} The mcpServers block is a cross-client convention. Remote transports vary, so check your client's docs.
Every change we have recorded for this component, newest first. Security-relevant changes are always shown. ▲ marks a change for the better, ▼ a change for the worse; unmarked changes are neutral.
- 3 Aug 26 +43
- Transport: fail → pass ▲ security
- Authorization: Authorisation not fully verified: no authorisation is required to call this server, and 46 tool(s) never declared a destructiveHint. The MCP spec treats an absent hint as destructive by default, so we cannot call this surface safe. security
- Endpoint reachability: not serving MCP → reachable ▲ functional
- MCP protocol: unverified → pass ▲ functional
- Stability: unverified → 0.23 ▲ functional
- Schema quality: unverified → 100 ▲ functional
- Tool coverage: unverified → 100 ▲ functional
- 31 Jul 26 +9
- We updated how we score, so this day's move reflects our rubric, not a change to the server See what changed → functional
- 30 Jul 26 −10
- We updated how we score, so this day's move reflects our rubric, not a change to the server See what changed → functional
- 29 Jul 26 +10
- Transport: fail → pass ▲ security
- 28 Jul 26 −48
- Endpoint reachability: reachable → not serving MCP ▼ security
- Transport: pass → fail ▼ security
- Authorization: Authorisation not fully verified: no authorisation is required to connect, but we couldn't read the tool list to see what that exposes. security
- Tool coverage: 100 → unverified ▼ functional
- Capabilities: pass → unverified ▼ functional
- Schema quality: 100 → unverified ▼ functional
- 27 Jul 26 +38
- We updated how we score, so this day's move reflects our rubric, not a change to the server See what changed → functional
- 26 Jul 26 26
First indexed and scored.
Diagnostic detail from the automated scan of this channel: what the scanner observed at each step, so you can see exactly where a check passed or failed. It is informational only and never changes the trust score.
Captured 3 Aug 2026 · Probed https://www.regdatalab.com/mcp
TLS valid
Negotiated TLS 1.3 with TLS_AES_128_GCM_SHA256 .
| Subject | Issuer | Valid from | Valid until | Key | Signature | Serial |
|---|---|---|---|---|---|---|
| CN=www.regdatalab.com | CN=YR1,O=Let's Encrypt,C=US | 30 Jun 2026 | 28 Sept 2026 | RSA 2048 | SHA256-RSA | 5f11f700a06b59dd1f667779816a97afef3 |
| SANs: www.regdatalab.com | ||||||
| CN=YR1,O=Let's Encrypt,C=US (CA) | CN=Root YR,O=ISRG,C=US | 3 Sept 2025 | 2 Sept 2028 | RSA 2048 | SHA256-RSA | a20253f15f2691c05dc1ce13b9bcca4e |
| CN=Root YR,O=ISRG,C=US (CA) | CN=ISRG Root X1,O=Internet Security Research Group,C=US | 13 May 2026 | 2 Sept 2032 | RSA 4096 | SHA256-RSA | f24b6d17f9d9ad7cb1c9fea78782699f |
DNSSEC insecure
Validation of www.regdatalab.com. — Not signed
| Zone | DS | Keys | Algorithms | Outcome |
|---|---|---|---|---|
| . | trust_anchor | 20326, 38696 | 8, 8 | Verified |
| com. | present | 19718 | 13 | Verified |
| regdatalab.com. | absent | Unsigned (proven) parent-signed NSEC/NSEC3 proves an unsigned delegation |
Authentication No authorisation required
The endpoint answered without asking for a token. Anyone who knows the URL can reach it.
| Result | No authorisation required |
|---|---|
| HTTP status | 200 |
| Header | Value |
|---|---|
| strict-transport-security | max-age=31536000; includeSubDomains |
| content-security-policy | default-src 'self'; img-src 'self' data: https: https://www.google-analytics.com https://region1.google-analytics.com; style-src 'self' 'unsafe-inline'; script-src 'self' 'unsafe-inline' https://challenges.cloudflare.com https://cdn.jsdelivr.net https://www.googletagmanager.com; frame-src https://challenges.cloudflare.com; connect-src 'self' https://www.regdatalab.com https://www.google-analytics.com https://region1.google-analytics.com https://www.googletagmanager.com |
| x-content-type-options | nosniff |
| x-frame-options | DENY |
| referrer-policy | strict-origin-when-cross-origin |
| permissions-policy | geolocation=(), microphone=(), camera=() |
Transports 2 probes
| Transport | URL | Outcome | Status | Location |
|---|---|---|---|---|
| streamable-http | https://www.regdatalab.com/mcp | Verified | 200 | |
| http (plaintext) | http://www.regdatalab.com/mcp | HTTPS enforced | 308 | https://www.regdatalab.com/mcp |
The tools this component advertises to a client, with an estimated token cost for each. Expand a tool to see its parameters and schema. The per-tool counts are indicative and are not scored directly; the schema's total context footprint is one signal in Schema Quality & AI Usability.
fda_bpdr_summary Search BPDR Annual Summary ~166
Search FDA's Biological Product Deviation Report annual summary counts. This is summary-level biotech and blood/HCT/P manufacturing signal from official FDA annual reports, not per-event case detail.
| Name | Type | Req | Description |
|---|---|---|---|
| establishment_type | string | — | Establishment type, for example Vaccine or 351 HCT/P |
| fiscal_year | integer | — | Metric fiscal year, for example 2024 |
| group_name | string | — | Group name, for example Licensed Non-Blood Manufacturers |
| keyword | string | — | Keyword to search in group_name or establishment_type |
| limit | integer | — | Max results to return (1-500) |
| offset | integer | — | Result offset for pagination |
| row_type | string | — | Whether the row is a normal establishment line, subtotal, or total |
No output schema declared.
No examples provided.
fda_citations Search Inspection Citations ~482
Search specific CFR violation citations from FDA inspections (Compliance Dashboard data, not available in openFDA API). Filter by company name, FEI number, CFR number, keyword, program area, fiscal year, inspection date range, or the parent inspection's classification (NAI/VAI/OAI). CFR matching is hierarchical and section-anchored: pass '21 CFR 211.68' or '211.68' and it matches '21 CFR 211.68', '21 CFR 211.68(a)', '21 CFR 211.68(b)' but NOT '21 CFR 211.680' or '21 CFR 211.6'. Each row carries the parent inspection's classification (inspection_classification / inspection_classification_code) joined by inspection_id, plus inspection_id and a best-effort source_url deep link. Returns the cited regulation, short and long descriptions of the finding, and inspection dates. Related: fda_inspections (inspection classification and dates by FEI), fda_search_warning_letters (official warning letters for the same FEI), fda_compliance_actions (warning letters that may reference these citations).
| Name | Type | Req | Description |
|---|---|---|---|
| act_cfr_number | string | — | CFR section, section-anchored prefix match (e.g. '21 CFR 211.68' or '211.68' matches 211.68, 211.68(a), 211.68(b) but not 211.680 or 211.6) |
| classification | string | — | Parent inspection classification (NAI=No Action Indicated, VAI=Voluntary Action Indicated, OAI=Official Action Indicated) |
| company_name | string | — | Company name (fuzzy match) |
| date_from | string | — | Start date for inspection_end_date range (YYYY-MM-DD) |
| date_to | string | — | End date for inspection_end_date range (YYYY-MM-DD) |
| fei_number | string | — | FDA Establishment Identifier (FEI number) |
| fiscal_year | integer | — | Fiscal year of the inspection |
| keyword | string | — | Keyword to search in citation descriptions |
| limit | integer | — | Max results to return (1-500) |
| offset | integer | — | Result offset for pagination |
| program_area | string | — | Program area (partial match, e.g. Drugs, Devices, Foods) |
No output schema declared.
No examples provided.
fda_clinical_result_letters Search Complete Response Letters ~170
Search FDA Complete Response Letters (CRLs) — formal refusal-to-approve decisions on drug and biologics applications. Filter by company name (fuzzy match), application number (e.g., 'NDA 204017'), or letter type. CRLs are significant regulatory events indicating application deficiencies. Related: fda_search_drugs (drug application data including approval status).
| Name | Type | Req | Description |
|---|---|---|---|
| application_number | string | — | Application number (searches array, e.g. 'NDA 204017') |
| company_name | string | — | Company name (fuzzy match) |
| letter_type | string | — | Letter type filter (e.g. 'COMPLETE RESPONSE') |
| limit | integer | — | Max results to return (1-500) |
| offset | integer | — | Result offset for pagination |
No output schema declared.
No examples provided.
fda_company_compliance_timeline Company Compliance Timeline ~126
Build a reverse-chronological compliance timeline for one company and any linked subsidiaries. Combines inspections, warning letters, import alerts, import refusals, debarments, and recall/enforcement events into one dated feed.
| Name | Type | Req | Description |
|---|---|---|---|
| company | string | yes | Company name to build the timeline for |
| limit | integer | — | Maximum number of combined timeline events to return |
| verbose | boolean | — | When false (default), suppress the inline alias dump and collapse per-dataset data_freshness to a single top-level as_of. Set true for the full block. |
No output schema declared.
No examples provided.
fda_company_full Full Company Profile ~384
Comprehensive company profile: facilities (with addresses and operations), enforcement actions (recalls), 510(k) clearances, PMA approvals, and drug applications for a single company and its known aliases. Costs 5 credits. Excludes: inspection history, citations, compliance actions (warning letters), facility-level product lists, import refusals, and family rollups across separate child company records. For family rollups: call fda_suggest_subsidiaries first, then use fda_save_aliases for true same-company names or fda_link_subsidiaries for distinct child companies. Related: fda_suggest_subsidiaries (discover subsidiaries), fda_link_subsidiaries (create explicit family links), fda_get_facility (per-facility products, operations type, risk summary by FEI), fda_inspections (inspection history by FEI or company), fda_citations (CFR violations by FEI), fda_compliance_actions (warning letters/seizures by FEI or company), fda_search_aphis (animal health facilities for vet companies), fda_drug_shortages (active drug shortages).
| Name | Type | Req | Description |
|---|---|---|---|
| approvals_limit | integer | — | PMA approvals result limit |
| approvals_offset | integer | — | PMA approvals result offset |
| clearances_limit | integer | — | 510(k) clearances result limit |
| clearances_offset | integer | — | 510(k) clearances result offset |
| company | string | yes | Company name to look up |
| drugs_limit | integer | — | Drug applications result limit |
| drugs_offset | integer | — | Drug applications result offset |
| enforcement_limit | integer | — | Enforcement result limit |
| enforcement_offset | integer | — | Enforcement result offset |
| facilities_limit | integer | — | Facilities result limit |
| facilities_offset | integer | — | Facilities result offset |
No output schema declared.
No examples provided.
fda_compliance_actions Search Compliance Actions ~202
Search FDA compliance enforcement actions (Compliance Dashboard data, not available in openFDA API): Warning Letters, Seizures, and Injunctions. These are the most serious regulatory outcomes, typically following OAI inspections. Filter by company name, FEI number, action type (Warning Letter/Seizure/Injunction), or date range. Related: fda_inspections (underlying inspection data by FEI), fda_citations (CFR violations cited in these actions).
| Name | Type | Req | Description |
|---|---|---|---|
| action_type | string | — | Compliance action type |
| company_name | string | — | Company name (fuzzy match) |
| date_from | string | — | Start date for action_taken_date range (YYYY-MM-DD) |
| date_to | string | — | End date for action_taken_date range (YYYY-MM-DD) |
| fei_number | string | — | FDA Establishment Identifier (FEI number) |
| limit | integer | — | Max results to return (1-500) |
No output schema declared.
No examples provided.
fda_consumer_events Search Consumer Adverse Events ~137
Search consumer adverse events for food and cosmetic products by product area, reaction keyword, or date range (YYYYMMDD format). Returns reports including outcomes, reactions, and product details.
| Name | Type | Req | Description |
|---|---|---|---|
| date_from | string | — | Start date for date_created (YYYYMMDD) |
| date_to | string | — | End date for date_created (YYYYMMDD) |
| limit | integer | — | Max results to return (1-500) |
| offset | integer | — | Result offset for pagination |
| product_area | string | — | Filter by product area: food or cosmetic |
| reaction | string | — | Reaction keyword (searches reactions array) |
No output schema declared.
No examples provided.
fda_device_class Device Classification Lookup ~126
Lookup FDA device classification details by product code. Returns device name, device class (I/II/III), medical specialty, regulation number, review panel, submission type, and definition. Requires: product code (3-letter code from 510(k), PMA, or device product listings). Related: fda_product_code_lookup (cross-reference across 510(k) and PMA), fda_search_510k (clearances for this product code), fda_search_pma (PMA approvals for this product code).
| Name | Type | Req | Description |
|---|---|---|---|
| product_code | string | yes | Device product code |
No output schema declared.
No examples provided.
fda_device_recalls Search Device Recalls ~200
Search FDA device recalls by recalling firm (fuzzy match), product code, recall status, or date range. Returns device-specific recall details including root cause, event type, and product codes. Complements fda_search_enforcement which covers all product types. Related: fda_search_enforcement (all recalls including drugs), fda_recall_facility_trace (trace to manufacturing facility), fda_device_class (product code details).
| Name | Type | Req | Description |
|---|---|---|---|
| date_from | string | — | Start date for event_date_initiated (YYYY-MM-DD) |
| date_to | string | — | End date for event_date_initiated (YYYY-MM-DD) |
| limit | integer | — | Max results to return (1-500) |
| offset | integer | — | Result offset for pagination |
| product_code | string | — | Product code |
| recall_status | string | — | Recall status |
| recalling_firm | string | — | Recalling firm name (fuzzy match) |
No output schema declared.
No examples provided.
fda_device_supply_status Search Device Shortages And Discontinuances ~199
Search FDA's current medical device shortage list and discontinuance list. This is an official FDA supply-chain signal for medtech selling, covering shortage categories and permanent discontinuances that may affect customer operations or product availability.
| Name | Type | Req | Description |
|---|---|---|---|
| category | string | — | Device category |
| date_from | string | — | Start date for latest_date range (YYYY-MM-DD) |
| date_to | string | — | End date for latest_date range (YYYY-MM-DD) |
| keyword | string | — | Keyword to search descriptions, device names, notes, or reasons |
| limit | integer | — | Max results to return (1-500) |
| list_type | string | — | Whether to search the shortage list or discontinuance list |
| manufacturer_name | string | — | Manufacturer name (fuzzy match, discontinuance list only) |
| offset | integer | — | Result offset for pagination |
| product_code | string | — | FDA product code, for example DSQ or MKJ |
No output schema declared.
No examples provided.
fda_device_udi Search Device UDI ~177
Search the FDA Unique Device Identification (UDI) database by brand name, company/manufacturer name, product code, or DI number. Returns device identification data including brand name, company, device description, product codes, GMDN terms, sterilization info, and premarket submissions. Related: fda_device_class (classification details by product code), fda_search_510k (clearances by product code).
| Name | Type | Req | Description |
|---|---|---|---|
| brand_name | string | — | Device brand name (fuzzy match) |
| company_name | string | — | Company/manufacturer name (fuzzy match) |
| di_number | string | — | Device Identifier (DI) number |
| limit | integer | — | Result limit |
| offset | integer | — | Result offset |
| product_code | string | — | FDA product code (3-letter code, e.g. OVE) |
No output schema declared.
No examples provided.
fda_device_udi_lookup Device UDI Lookup ~154
Search the FDA's Global Unique Device Identification Database (GUDID) by device identifier (DI/barcode), device name, company name, or brand name. Returns device details including UDI, descriptions, and company information. Costs 1 credit.
| Name | Type | Req | Description |
|---|---|---|---|
| brand_name | string | — | Brand name (fuzzy search) |
| company_name | string | — | Company/manufacturer name (fuzzy search) |
| device_id | string | — | Device Identifier (DI) — exact barcode/GTIN lookup |
| device_name | string | — | Device/brand name (fuzzy search) |
| limit | integer | — | Max results to return (1-500) |
| offset | integer | — | Result offset for pagination |
No output schema declared.
No examples provided.
fda_drug_labels Search Drug Labels ~177
Search FDA Structured Product Labeling (SPL) data — full drug package inserts. Filter by drug name, manufacturer, application number, or specific label section (e.g., indications_and_usage, warnings, adverse_reactions, boxed_warning). Returns complete label text for matching sections. Related: fda_search_drugs (application-level data), fda_search_ndc (NDC product details).
| Name | Type | Req | Description |
|---|---|---|---|
| application_number | string | — | NDA or ANDA application number |
| drug_name | string | — | Brand or generic drug name (fuzzy match) |
| limit | integer | — | Result limit |
| manufacturer | string | — | Manufacturer name (fuzzy match) |
| offset | integer | — | Result offset |
| section | string | — | Specific label section to return (e.g. indications_and_usage, warnings, adverse_reactions) |
No output schema declared.
No examples provided.
fda_drug_shortages Search Drug Shortages ~142
Search FDA drug shortages by generic name, company, status, or availability. Drug shortages signal manufacturing capacity strain, quality issues, or supply chain disruption. Useful for identifying companies with operational challenges. Related: fda_search_drugs (drug application data by company), fda_search_ndc (NDC-level product details).
| Name | Type | Req | Description |
|---|---|---|---|
| company_name | string | — | Company name (fuzzy match) |
| generic_name | string | — | Generic drug name (fuzzy match) |
| limit | integer | — | Max results to return (1-500) |
| offset | integer | — | Result offset for pagination |
| status | string | — | Shortage status filter |
No output schema declared.
No examples provided.
fda_facility_dossier Facility Compliance Dossier ~108
Compliance-first facility dossier by FEI number. Returns the facility profile plus recent inspections, citations, warning letters, import refusal history, import-alert mentions, recall context, freshness, and recommended next tools. Use this when you want the fastest FEI-level manufacturing risk view instead of the broader product-focused facility profile.
| Name | Type | Req | Description |
|---|---|---|---|
| evidence_limit | integer | — | Number of recent evidence rows to return per evidence section |
| fei | string | yes | FDA Establishment Identifier (FEI number) |
No output schema declared.
No examples provided.
fda_facility_products Facility Products ~137
List device products registered at a facility by FEI number with pagination. Returns product code, proprietary name, listing number, and classification details (device name, class, medical specialty). Note: fda_get_facility already includes products — use this only when paginating through large product lists. Drug products are not linked by FEI; use fda_search_ndc with company name instead. Requires: FEI number.
| Name | Type | Req | Description |
|---|---|---|---|
| fei | string | yes | FDA Establishment Identifier (FEI number) |
| limit | integer | — | Max results to return (1-500) |
| offset | integer | — | Result offset for pagination |
No output schema declared.
No examples provided.
fda_get_facility Facility Detail ~232
Detailed facility profile by FEI number. Returns: facility name, full address, operations type (Manufacture, API, Repack, Contract Manufacture, etc.), establishment types (Manufacturer, Distributor, Specification Developer, etc.), registrant and owner/operator info, DUNS number, registration expiry, enforcement history (recalls), device products with classification, and a facility_risk_summary (inspection counts by classification, warning letters, last inspection date). Requires: FEI number — get it from fda_search_facilities or fda_company_full. Excludes: full inspection details and citations. Related: fda_inspections (inspection history by FEI), fda_citations (CFR violations by FEI), fda_compliance_actions (warning letters/seizures by FEI), fda_import_refusals (import refusal history by FEI), fda_facility_products (paginate large product lists).
| Name | Type | Req | Description |
|---|---|---|---|
| fei | string | yes | FDA Establishment Identifier (FEI number) |
| products_limit | integer | — | Products result limit |
| products_offset | integer | — | Products result offset |
No output schema declared.
No examples provided.
fda_import_refusals Search Import Refusals ~204
Search FDA import refusals (Compliance Dashboard data, not available in openFDA API). Import refusals indicate products detained at the US border. Filter by company name, FEI number, country code (e.g., CN, IN for major API source countries), or date range. Critical for evaluating international manufacturing sites and supply chain risk. Related: fda_get_facility (facility details by FEI), fda_inspections (inspection history by FEI).
| Name | Type | Req | Description |
|---|---|---|---|
| company_name | string | — | Company name (fuzzy match) |
| country_code | string | — | ISO country code (e.g. CN, IN) |
| date_from | string | — | Start date for refusal_date range (YYYY-MM-DD) |
| date_to | string | — | End date for refusal_date range (YYYY-MM-DD) |
| fei_number | string | — | FDA Establishment Identifier (FEI number) |
| limit | integer | — | Max results to return (1-500) |
No output schema declared.
No examples provided.
fda_inspection_observation_summary Search Inspection Observation Summary ~184
Search FDA's official annual inspection-observation summary spreadsheets. This is aggregate Form 483 trend data by product area and citation frequency, not a full company-level 483 corpus. Use it to see which observation areas appear most often in Drugs, Devices, Foods, and other FDA program areas.
| Name | Type | Req | Description |
|---|---|---|---|
| cite_id | string | — | FDA citation identifier from the spreadsheet |
| fiscal_year | integer | — | Fiscal year of the spreadsheet |
| keyword | string | — | Full-text query across short and long citation descriptions |
| limit | integer | — | Max results to return (1-500) |
| offset | integer | — | Result offset for pagination |
| product_area | string | — | Product or program area (e.g. Drugs, Devices, Foods) |
| reference_number | string | — | Regulatory citation reference number (e.g. 21 CFR 211.192) |
No output schema declared.
No examples provided.
fda_inspections Search Inspections ~267
Search FDA inspection history from the Compliance Dashboard (not available in openFDA API). Filter by company name (fuzzy match), FEI number, classification (NAI=No Action Indicated, VAI=Voluntary Action Indicated, OAI=Official Action Indicated — most serious), state, country, city, or date range. Date filters apply to inspection_end_date. OAI inspections typically lead to warning letters. Related: fda_citations (specific CFR violations from inspections by FEI), fda_compliance_actions (warning letters following OAI inspections by FEI).
| Name | Type | Req | Description |
|---|---|---|---|
| city | string | — | City name (exact match) |
| classification_code | string | — | Inspection classification code |
| company_name | string | — | Company name (fuzzy match) |
| country | string | — | Country code (e.g., US, DE) |
| date_from | string | — | Start date for inspection_end_date range (YYYY-MM-DD) |
| date_to | string | — | End date for inspection_end_date range (YYYY-MM-DD) |
| fei_number | string | — | FDA Establishment Identifier (FEI number) |
| limit | integer | — | Max results to return (1-500) |
| state | string | — | State code (e.g., CA, NY) |
No output schema declared.
No examples provided.
fda_ires_enforcement Search iRES Enforcement ~199
Search iRES enforcement recalls with cross-references to openFDA enforcement data. Filter by company name (fuzzy match), recall number, product type (e.g., Drugs, Devices), or date range. Returns detailed recall info including event classification, product codes, and quantities. Related: fda_search_enforcement (openFDA recall data), fda_recall_facility_trace (trace recall to manufacturing facility).
| Name | Type | Req | Description |
|---|---|---|---|
| company_name | string | — | Company name (fuzzy match) |
| date_from | string | — | Start date for enforcement_report_date range (YYYY-MM-DD) |
| date_to | string | — | End date for enforcement_report_date range (YYYY-MM-DD) |
| limit | integer | — | Max results to return (1-500) |
| offset | integer | — | Result offset for pagination |
| product_type | string | — | Product type (e.g. Drugs, Devices) |
| recall_number | string | — | Recall number |
No output schema declared.
No examples provided.
fda_link_subsidiaries Link Subsidiaries ~103
Explicitly link existing company records under a parent company for family-level rollups. Use this when names like Actavis or Cephalon already belong to their own company_id and should roll up under a parent like Teva. This preserves alias collision safety while making manufacturing and facility summaries family-aware.
| Name | Type | Req | Description |
|---|---|---|---|
| parent_company | string | yes | Parent company that should own the family rollup |
| subsidiaries | array | yes | Subsidiary company records to link |
No output schema declared.
No examples provided.
fda_lookup_company Company Lookup ~172
Quick company lookup: facilities (with addresses and operations) and enforcement actions (recalls) for a single company and its known aliases. Costs 1 credit. Excludes: 510(k) clearances, PMA approvals, drug applications, inspection history, and subsidiary data. Related: fda_company_full (adds clearances/approvals/drugs for 5 credits), fda_suggest_subsidiaries (discover related entities), fda_get_facility (per-facility products and operations by FEI).
| Name | Type | Req | Description |
|---|---|---|---|
| company | string | yes | Company name to look up |
| enforcement_limit | integer | — | Enforcement result limit |
| enforcement_offset | integer | — | Enforcement result offset |
| facilities_limit | integer | — | Facilities result limit |
| facilities_offset | integer | — | Facilities result offset |
No output schema declared.
No examples provided.
fda_manufacturing_risk_summary Manufacturing Risk Summary ~147
Build a manufacturing and compliance summary for one company using FDA facilities, inspections, warning letters, OII records, import-risk signals, debarments, and recalls. Use this when you want the company-level picture first, then follow the linked granular tools for deeper inspection.
| Name | Type | Req | Description |
|---|---|---|---|
| company | string | yes | Company name to summarize |
| evidence_limit | integer | — | Max recent records to return per evidence section |
| facility_limit | integer | — | Max facilities to return |
| verbose | boolean | — | When false (default), suppress the inline alias dump and collapse per-dataset data_freshness to a single top-level as_of. Set true for the full block. |
No output schema declared.
No examples provided.
fda_product_code_lookup Product Code Cross-Reference ~139
Cross-reference a device product code across classification details, 510(k) clearances, and PMA approvals. Returns classification info plus paginated lists of all clearances and approvals for that product code. Use to understand the regulatory landscape for a specific device type. Requires: product code.
| Name | Type | Req | Description |
|---|---|---|---|
| approvals_limit | integer | — | PMA approvals result limit |
| approvals_offset | integer | — | PMA approvals result offset |
| clearances_limit | integer | — | 510(k) clearances result limit |
| clearances_offset | integer | — | 510(k) clearances result offset |
| product_code | string | yes | Device product code |
No output schema declared.
No examples provided.
fda_recall_facility_trace Recall-to-Facility Trace ~204
Trace a recall to its candidate manufacturing facility with explicit confidence levels. Matches by firm name, NDC lookup, and facility registration data. Returns the recall details, matched facility candidates with FEI numbers and confidence scores, and match methodology. Provide either recall_number (from fda_search_enforcement or fda_ires_enforcement) OR firm (+ optional product) to resolve the best-matching recall automatically. Related: fda_get_facility (full detail for matched FEI), fda_inspections (inspection history for matched FEI), fda_compliance_actions (warning letters for matched FEI).
| Name | Type | Req | Description |
|---|---|---|---|
| firm | string | — | Recalling firm name (fuzzy). Convenience path: resolves the best-matching recall when recall_number is omitted. |
| product | string | — | Optional product keyword to narrow firm-based resolution (matches product_description). |
| recall_number | string | — | Recall number (preferred). If omitted, provide firm to auto-resolve. |
No output schema declared.
No examples provided.
fda_resolve_company Resolve Company Name ~90
Resolve a company name to its canonical company_id and list all known aliases. Returns the canonical slug, match confidence, and alias names. Read-only lookup — does not discover new aliases. Related: fda_suggest_subsidiaries (discover potential subsidiaries not yet aliased), fda_company_full (full profile using the resolved name).
| Name | Type | Req | Description |
|---|---|---|---|
| company | string | yes | Company name to resolve |
No output schema declared.
No examples provided.
fda_save_aliases Save Company Aliases ~118
Save normalized alias names for a parent company, updating confidence and tracking collisions. Use this for true name variants of the same company record. If a collision says the alias already belongs to another company_id, use fda_link_subsidiaries instead of forcing the alias. Typical workflow: call fda_suggest_subsidiaries first, review results, then call this tool with confirmed same-entity alias names.
| Name | Type | Req | Description |
|---|---|---|---|
| aliases | array | yes | Alias entries to save |
| parent_company | string | yes | Canonical parent company name |
No output schema declared.
No examples provided.
fda_search_510k Search 510(k) Clearances ~252
Search FDA 510(k) clearances across all companies. Filter by company name (fuzzy match), product code, decision code (e.g., SESE=substantially equivalent), clearance type (Traditional, Special, Abbreviated), and date range. Returns clearance number (K-number), applicant, device name, decision date, and product code. Related: fda_device_class (product code details and classification), fda_product_code_lookup (cross-reference a product code across 510(k) and PMA), fda_search_pma (PMA approvals for higher-risk devices).
| Name | Type | Req | Description |
|---|---|---|---|
| clearance_type | string | — | Clearance type (e.g., Traditional, Special) |
| company | string | — | Company name (fuzzy search) |
| decision_code | string | — | Decision code (e.g., SESE, SESD) |
| from_date | string | — | Start date for decision_date range (YYYY-MM-DD) |
| limit | integer | — | Max results to return (1-500) |
| offset | integer | — | Result offset for pagination |
| product_code | string | — | Device product code |
| to_date | string | — | End date for decision_date range (YYYY-MM-DD) |
No output schema declared.
No examples provided.
fda_search_aphis Search APHIS Vet Biologics ~156
Search APHIS veterinary biologics establishments (animal health facilities) by company, state, or establishment type. Returns license number, company name, full address, establishment type (Licensee/Permittee), divisions, and subsidiaries. Covers vaccine manufacturers, diagnostic kit producers, and other veterinary biological product facilities. Related: fda_vet_events (veterinary adverse events by species/drug).
| Name | Type | Req | Description |
|---|---|---|---|
| company | string | — | Company name (fuzzy search) |
| limit | integer | — | Max results to return (1-500) |
| offset | integer | — | Result offset for pagination |
| state | string | — | State code (e.g., CA, NY) |
| type | string | — | Establishment type |
No output schema declared.
No examples provided.
fda_search_by_product Search by Product Name ~124
Search across FDA device and drug datasets by product name (device name, trade name, generic name, or brand name). Searches device classifications, 510(k) clearances, PMA approvals, and NDC records simultaneously. Use when you know a product name but not which dataset it's in. Returns matches from each dataset with product codes and company names.
| Name | Type | Req | Description |
|---|---|---|---|
| limit | integer | — | Max results to return (1-500) |
| offset | integer | — | Result offset for pagination |
| product_name | string | yes | Product or brand name (fuzzy search) |
No output schema declared.
No examples provided.
fda_search_debarments Search FDA Debarments ~159
Search current FDA debarment lists across drug applications, drug imports, and food imports. These are rare but very high-severity compliance signals for people or firms barred from certain FDA-regulated activities.
| Name | Type | Req | Description |
|---|---|---|---|
| date_from | string | — | Start date for effective_date range (YYYY-MM-DD) |
| date_to | string | — | End date for effective_date range (YYYY-MM-DD) |
| limit | integer | — | Max results to return (1-500) |
| list_type | string | — | Debarment list type |
| name | string | — | Person or firm name (fuzzy match) |
| offset | integer | — | Result offset for pagination |
| subject_type | string | — | Whether the record is a person or a firm |
No output schema declared.
No examples provided.
fda_search_drugs Search Drug Applications ~204
Search Drugs@FDA applications across all companies. Filter by sponsor name (fuzzy match), application number, brand name, or submission status. Returns application details including products (brand names, dosage forms, active ingredients) and submissions (approval dates, status). Related: fda_search_ndc (NDC-level product details including labeler and packaging), fda_drug_labels (structured product labeling/package inserts), fda_clinical_result_letters (Complete Response Letters — FDA refusal-to-approve decisions), fda_drug_shortages (active drug shortage data).
| Name | Type | Req | Description |
|---|---|---|---|
| application_number | string | — | Application number |
| brand_name | string | — | Brand name (searches products JSONB) |
| company | string | — | Company name (fuzzy search) |
| limit | integer | — | Max results to return (1-500) |
| offset | integer | — | Result offset for pagination |
| status | string | — | Submission status (searches submissions JSONB) |
No output schema declared.
No examples provided.
fda_search_enforcement Search Recalls ~221
Search FDA enforcement actions (recalls) for drugs, devices, and food across all companies. Filter by company name (fuzzy match), recall classification (Class I=most serious/Class II/Class III), date range, or status (Ongoing/Terminated). Returns recall details including product description, reason, and distribution pattern. Related: fda_recall_facility_trace (trace a recall to its manufacturing facility by recall_number), fda_ires_enforcement (iRES recall data with cross-references), fda_device_recalls (device-specific recall data).
| Name | Type | Req | Description |
|---|---|---|---|
| classification | string | — | Recall classification severity |
| company | string | — | Company or firm name (fuzzy search) |
| from_date | string | — | Start date for report_date range (YYYY-MM-DD) |
| limit | integer | — | Max results to return (1-500) |
| offset | integer | — | Result offset for pagination |
| status | string | — | Recall status |
| to_date | string | — | End date for report_date range (YYYY-MM-DD) |
No output schema declared.
No examples provided.
fda_search_facilities Search Facilities ~250
Search FDA-registered facilities by name, city, state, or country. Searches drug (DECRS) and device registration databases. Returns FEI number, name, address, and source. Use the operations parameter to filter by manufacturing type (e.g., 'Contract Manufacture', 'API', 'Repack'). Use country filter (ISO code: US, DE, IN, CN, IE) to map a company's global manufacturing footprint. Excludes: products at facility, inspection history, enforcement actions. Related: fda_get_facility (full facility detail by FEI including products and operations type), fda_inspections (inspection data by FEI), fda_citations (CFR violations by FEI).
| Name | Type | Req | Description |
|---|---|---|---|
| city | string | — | City name |
| company | string | — | Facility or company name (fuzzy search) |
| country | string | — | ISO country code (e.g. US, DE) |
| limit | integer | — | Max results to return (1-500) |
| offset | integer | — | Result offset for pagination |
| operations | string | — | DECRS operations keyword |
| state | string | — | State code (e.g. CA, NY) |
No output schema declared.
No examples provided.
fda_search_family_facilities Search Family Facilities ~157
Search FDA-registered facilities across a parent company and any explicitly linked subsidiaries. Use this when you know the parent company but the FDA records may sit under child entities like Actavis, Watson, or Cephalon. Supports optional city, state, country, and operations filters.
| Name | Type | Req | Description |
|---|---|---|---|
| city | string | — | City name |
| company | string | yes | Parent company name |
| country | string | — | ISO country code (e.g. US, DE) |
| limit | integer | — | Max results to return (1-500) |
| offset | integer | — | Result offset for pagination |
| operations | string | — | DECRS operations keyword |
| state | string | — | State code (e.g. CA, NY) |
No output schema declared.
No examples provided.
fda_search_import_alerts Search FDA Import Alerts ~211
Search FDA Import Alerts by firm, alert number, red-list versus green-list status, country, keyword, or date. This is a stronger manufacturing and supplier-risk signal than one-off import refusals because it captures standing alert status and the specific firms currently listed under each alert.
| Name | Type | Req | Description |
|---|---|---|---|
| alert_number | string | — | Import alert number, for example 66-40 |
| country | string | — | Country name |
| date_from | string | — | Start date for publish-date range (YYYY-MM-DD) |
| date_to | string | — | End date for publish-date range (YYYY-MM-DD) |
| firm_name | string | — | Firm name (fuzzy match) |
| keyword | string | — | Keyword to search in the alert title, reason, charge, or product notes |
| limit | integer | — | Max results to return (1-500) |
| list_status | string | — | Whether the firm is on the red list or green list |
| offset | integer | — | Result offset for pagination |
No output schema declared.
No examples provided.
fda_search_ndc Search NDC Directory ~196
Search the National Drug Code (NDC) directory by labeler company, brand name, product NDC, or application number. Returns labeler name, brand name, generic name, dosage form, route, active ingredients, DEA schedule, listing type, and packaging details. Drug products are not linked by FEI; use this tool with company name to find drugs at a company. Related: fda_search_drugs (application-level data with submissions), fda_drug_labels (full product labeling), fda_search_nsde (NSDE cross-reference).
| Name | Type | Req | Description |
|---|---|---|---|
| application_number | string | — | Application number |
| brand_name | string | — | Brand name |
| company | string | — | Labeler company name (fuzzy search) |
| limit | integer | — | Max results to return (1-500) |
| offset | integer | — | Result offset for pagination |
| product_ndc | string | — | Product NDC |
No output schema declared.
No examples provided.
fda_search_nsde Search NSDE ~149
Search the National Standard Drug Element (NSDE) database by brand/proprietary name, application number, or package NDC. Returns proprietary name, active ingredients, dosage form, route, and marketing information. Related: fda_search_ndc (NDC directory), fda_search_drugs (Drugs@FDA application data).
| Name | Type | Req | Description |
|---|---|---|---|
| application_number | string | — | Application number (exact match) |
| limit | integer | — | Max results to return (1-500) |
| offset | integer | — | Result offset for pagination |
| package_ndc | string | — | Package NDC (exact match) |
| proprietary_name | string | — | Brand/proprietary name (fuzzy match) |
No output schema declared.
No examples provided.
fda_search_oii_records Search OII Reading Room Records ~243
Search recent FDA Office of Inspections and Investigations reading-room records by company, FEI, record type, country, establishment type, or publish date. This is official FDA document-index metadata with direct links to the posted records, plus incremental extracted document text when available, useful for finding recent 483-style inspection evidence by account.
| Name | Type | Req | Description |
|---|---|---|---|
| company_name | string | — | Company name (fuzzy match) |
| country | string | — | Country name |
| date_from | string | — | Start date for publish_date range (YYYY-MM-DD) |
| date_to | string | — | End date for publish_date range (YYYY-MM-DD) |
| establishment_type | string | — | Establishment type, for example Sterile Drug Manufacturer |
| fei_number | string | — | FDA Establishment Identifier (FEI number) |
| keyword | string | — | Keyword to search in the FDA-provided excerpt and extracted document text |
| limit | integer | — | Max results to return (1-500) |
| offset | integer | — | Result offset for pagination |
| record_type | string | — | Record type, for example 483 |
| state | string | — | State name |
No output schema declared.
No examples provided.
fda_search_opdp_untitled_letters Search OPDP Untitled Letters ~186
Search official FDA OPDP untitled letters for pharmaceutical promotion and advertising issues. Filter by company, product, issue date, close-out availability, or keyword in the extracted untitled-letter text when available.
| Name | Type | Req | Description |
|---|---|---|---|
| company_name | string | — | Company name (fuzzy match) |
| date_from | string | — | Start date for issued_date range (YYYY-MM-DD) |
| date_to | string | — | End date for issued_date range (YYYY-MM-DD) |
| has_close_out | boolean | — | Whether the record has a linked close-out letter |
| keyword | string | — | Keyword to search in the extracted untitled-letter text |
| limit | integer | — | Max results to return (1-500) |
| offset | integer | — | Result offset for pagination |
| product_issue | string | — | Product or issue text from the OPDP table (partial match) |
No output schema declared.
No examples provided.
fda_search_pma Search PMA Approvals ~198
Search FDA Pre-Market Approval (PMA) records across all companies. PMA is required for high-risk (Class III) devices. Filter by company name (fuzzy match), product code, and date range. Returns PMA number, applicant, trade name, decision date, and product code. Related: fda_device_class (product code details), fda_search_510k (510(k) clearances for lower-risk devices), fda_product_code_lookup (cross-reference a product code).
| Name | Type | Req | Description |
|---|---|---|---|
| company | string | — | Company name (fuzzy search) |
| from_date | string | — | Start date for decision_date range (YYYY-MM-DD) |
| limit | integer | — | Max results to return (1-500) |
| offset | integer | — | Result offset for pagination |
| product_code | string | — | Device product code |
| to_date | string | — | End date for decision_date range (YYYY-MM-DD) |
No output schema declared.
No examples provided.
fda_search_recall_text Full-Text Search Recalls ~240
Full-text search across recall reasons and product descriptions using PostgreSQL text search. Finds recalls mentioning specific terms (e.g. 'salmonella contamination', 'mislabeled', 'sterility'). Supports multi-word queries ranked by relevance. Filter by classification, product_type, or date range. Related: fda_search_enforcement (search by company name, classification, status), fda_recall_facility_trace (trace a recall to its manufacturing facility).
| Name | Type | Req | Description |
|---|---|---|---|
| classification | string | — | Filter by recall classification severity |
| date_from | string | — | Start date for report_date range (YYYY-MM-DD) |
| date_to | string | — | End date for report_date range (YYYY-MM-DD) |
| limit | integer | — | Max results to return (1-500) |
| offset | integer | — | Result offset for pagination |
| product_type | string | — | Filter by product type |
| query | string | yes | Search terms (e.g. 'salmonella contamination', 'mislabeled dosage') |
| search_field | string | — | Which field to search: reason_for_recall, product_description, or both (default: both) |
No output schema declared.
No examples provided.
fda_search_warning_letters Search Warning Letters ~525
Search official FDA warning letters with full-text content from the FDA website. Use keyword search for the actual letter body, or filter by company name, issuing office, subject, MARCS-CMS number, product type, or letter issue date. Adds prospecting filters: status (open|responded|closed, derived from response/closeout dates), letter_category (CGMP-manufacturing | BIMO | listing | OPDP/promotion | 503B/compounding | import — heuristic, derived from issuing_office/subject/product_type), and violation_theme (cgmp_subsystem | data_integrity | validation | bimo | listing | promotion — keyword/FTS-derived over subject+body). Set dedupe=true to collapse near-identical letters sharing a MARCS-CMS case number to one canonical row. Each row exposes derived status and letter_category, plus fei_number for one-hop navigation to fda_citations and fda_inspections. This adds narrative context beyond fda_compliance_actions, which only contains dashboard metadata. NOTE: violation_theme and letter_category are best-effort heuristics over free-text fields; keyword cannot be scoped to a parsed cited-violations sub-section because the corpus only stores subject + full letter body.
| Name | Type | Req | Description |
|---|---|---|---|
| company_name | string | — | Company name (fuzzy match) |
| date_from | string | — | Start date for letter_issue_date range (YYYY-MM-DD) |
| date_to | string | — | End date for letter_issue_date range (YYYY-MM-DD) |
| dedupe | boolean | — | Collapse letters sharing a MARCS-CMS case number to one canonical row (recommended for prospecting) |
| issuing_office | string | — | Issuing office or center name (partial match) |
| keyword | string | — | Full-text query for the warning letter body and subject |
| letter_category | string | — | Heuristic category derived from issuing_office/subject/product_type |
| limit | integer | — | Max results to return (1-500) |
| marcs_cms_number | string | — | MARCS-CMS case number shown on the letter page |
| offset | integer | — | Result offset for pagination |
| product_type | string | — | Product type from the letter page (e.g. Drugs, Devices, Food) |
| status | string | — | Derived status: closed (has closeout date), responded (has response date), or open |
| subject | string | — | Subject line text (partial match) |
| violation_theme | string | — | Heuristic violation theme derived from subject and letter body text |
No output schema declared.
No examples provided.
fda_substance_lookup Substance Lookup ~110
Look up FDA substance data by UNII code (exact match) or substance name (fuzzy match). Returns substance name, UNII, substance class, molecular formula, and related details. Use to identify active pharmaceutical ingredients.
| Name | Type | Req | Description |
|---|---|---|---|
| limit | integer | — | Max results to return (1-500) |
| offset | integer | — | Result offset for pagination |
| substance_name | string | — | Substance name (fuzzy match) |
| unii | string | — | UNII code (exact match) |
No output schema declared.
No examples provided.
fda_suggest_subsidiaries Discover Subsidiaries ~295
Discover subsidiary and related company names using FDA datasets first, then supplement with external corporate hierarchy sources (SEC EDGAR Exhibit 21 and GLEIF) when available. Costs 2 credits. Returns FDA name candidates, evidence-backed company-record suggestions, EDGAR subsidiaries, GLEIF subsidiaries, existing aliases, and facility coverage stats. The coverage.unlinked_feis count indicates how many facilities may be missing from the current alias set. The workflow is conservative and explainable: it validates candidates against FDA company records instead of auto-linking them. Note: EDGAR and GLEIF may lag recent acquisitions or divestitures, so missing external results do not rule out FDA-visible subsidiaries. Recommended workflow: 1. fda_suggest_subsidiaries, 2. fda_link_subsidiaries for distinct child companies or fda_save_aliases for true same-company variants, 3. fda_manufacturing_risk_summary or fda_search_family_facilities. Related: fda_link_subsidiaries (persist explicit family links), fda_save_aliases (persist same-entity names), fda_manufacturing_risk_summary (family-aware company rollup), fda_search_family_facilities (family-aware FEI search).
| Name | Type | Req | Description |
|---|---|---|---|
| cik | string | — | SEC CIK (optional, auto-resolved if omitted) |
| company | string | yes | Company name to analyze |
No output schema declared.
No examples provided.
fda_tobacco_problems Search Tobacco Problem Reports ~132
Search tobacco problem reports by product type or health problem keyword. Date range in YYYYMMDD format. Returns reports including tobacco product details and reported health problems.
| Name | Type | Req | Description |
|---|---|---|---|
| date_from | string | — | Start date_submitted (YYYYMMDD) |
| date_to | string | — | End date_submitted (YYYYMMDD) |
| health_problem | string | — | Reported health problem keyword |
| limit | integer | — | Max results to return (1-500) |
| offset | integer | — | Result offset for pagination |
| product_type | string | — | Tobacco product type (searches tobacco_products array) |
No output schema declared.
No examples provided.
fda_vet_events Search Veterinary Adverse Events ~172
Search veterinary adverse events (animal drug safety reports) by species, drug name, reaction, serious flag, or date range (YYYYMMDD format). Returns event reports including animal details, drug information, and adverse reactions. Related: fda_search_aphis (veterinary biologics facilities and establishments).
| Name | Type | Req | Description |
|---|---|---|---|
| date_from | string | — | Start receive_date (YYYYMMDD) |
| date_to | string | — | End receive_date (YYYYMMDD) |
| drug_name | string | — | Drug name (searches drug JSONB) |
| limit | integer | — | Max results to return (1-500) |
| offset | integer | — | Result offset for pagination |
| serious | string | — | Filter by serious adverse event |
| species | string | — | Animal species (searches animal JSONB) |
No output schema declared.
No examples provided.