FDA inspection outcomes, Form 483 observations, compliance actions and import refusals for drug…
MCPpedia last refreshed this data
io.github.pipeworx-io/fda-inspections is an MCP server that FDA inspection outcomes, Form 483 observations, compliance actions and import refusals for drug…. Its tool list has not been published yet over http, requires no API key, and scores 87/100 on MCPpedia's security, maintenance and efficiency rubric.
Config is the same across clients - only the file and path differ.
{
"mcpServers": {
"fda-inspections": {
"url": "https://gateway.pipeworx.io/fda-inspections/mcp"
}
}
}Are you the author?
Add this badge to your README to show your security score and help users find safe servers.
FDA inspection outcomes, Form 483 observations, compliance actions and import refusals for drug…
This server supports HTTP transport. Be the first to test it - help the community know if it works.
Five weighted categories - click any category to see the underlying evidence.
No known CVEs.
Checked @pipeworx/mcp-fda-inspections against OSV.dev.
Click any tool to inspect its schema.
Be the first to review
Have you used this server?
Share your experience - it helps other developers decide.
Sign in to write a review.
Others in data / health
Token-efficient database MCP server for PostgreSQL, MySQL, MariaDB, SQL Server, Oracle, SQLite
Manage Supabase projects — databases, auth, storage, and edge functions
Extract data from any website with thousands of scrapers, crawlers, and automations on Apify Store ⚡
Firecrawl, the context API for AI agents: search, scrape, interact with the web, plus paper search.
MCP Security Weekly
Get CVE alerts and security updates for io.github.pipeworx-io/fda-inspections and similar servers.
Start a conversation
Ask a question, share a tip, or report an issue.
Sign in to join the discussion.
FDA inspection outcomes, Form 483 citations, compliance actions and import refusals, from the FDA Data Dashboard (Office of Inspections and Investigations).
Part of Pipeworx — an MCP gateway connecting AI agents to 1864+ live data sources. This is an independent, unofficial integration — not affiliated with, endorsed by, or published by the upstream provider.
This is not openFDA. openFDA carries drug/device adverse events, labels, recalls and warning letters. It does not carry inspection classifications, 483 observations, or border refusals — those live only in OII's own Data Dashboard, on a different host with a different credential.
| Tool | Answers |
|---|---|
fda_inspections | Was this site inspected, and what was the outcome (NAI / VAI / OAI)? |
fda_483_citations | Why was it cited — which CFR section, and what did the investigator write? |
fda_compliance_actions | What enforcement followed — warning letter, injunction, seizure, debarment? |
fda_import_refusals | What shipments were refused at the border, and on what charge? |
fda_firm_risk_profile | All four at once for one manufacturer, with the FEI sites resolved. |
The credential is a pair, not a single key:
Authorization-User: <the e-mail it was issued to>
Authorization-Key: <the FDA-generated key>
Pass it as _apiKey in the combined form "email:key" (split on the first
colon). Platform secret: PLATFORM_FDA_DASHBOARD_KEY, same combined form, set
on both the gateway and registry-api workers.
Credentials are free: create an account in the OII Unified Logon application at
https://www.accessdata.fda.gov/scripts/oul and request Data Dashboard API
access. FDA mails the key to the address you register, and that address becomes
the Authorization-User value. The platform credential is set, so callers need
no key of their own.
Note that datadashboard.fda.gov serves a 403 to a default curl
User-Agent — send a browser UA when reading the docs by hand. The API host
(api-datadashboard.fda.gov) has no such restriction.
Verified against the live endpoint rather than assumed — a malformed body returns 400 and names the offending field, a well-formed but unauthenticated one returns 401, which makes the shape testable without a credential.
POST https://api-datadashboard.fda.gov/v1/<resource>{ start, rows, sort, sortorder, columns[], filters{} }sort and sortorder are required, not optional.start is 1-based.rows maxes at 5000.columns is required — omitting it 400s and names the missing field.{"State": ["California"]}. A bare string 400s.InspectionEndDateFrom /
InspectionEndDateTo. There is no top-level date-range parameter, and the
bare date fieldname is rejected as a filter key.LIKE %term% case-insensitively, so firm names are
substring searches. State is the exception — see below.State is exact, and a wrong one looks like "never inspected"LegalName, FirmName and CountryName are case-insensitive substring
matches. State is exact and case-sensitive against the spelled-out name.
"CA", "Ca" and "CALIFORNIA" each return a clean 200 with
resultcount: 0 — which reads as this site was never inspected rather than
you passed the wrong argument. Only "California" returns data.
The pack normalizes postal codes and casing (normalizeState), so callers may
pass either form. Foreign establishments carry State: null; filter those by
country instead.
firm: "Intas" also matches Cintas Corporation. fda_firm_risk_profile
returns every FEI it matched in matched_establishments precisely so this is
visible — read that list before quoting the aggregate co