@jasencarroll/fda-mcp-server
v0.0.37
Published
10-tool MCP server for FDA enforcement intelligence. Free: recalls, device events, company profiles. Pro: CSA risk, citation analysis, supplier qualification. Enterprise: CSA recommendation, IEC 62304 SDLC, QMSR gap analysis, CAPA assessment.
Maintainers
Readme
fda-mcp-server
FDA compliance intelligence tools for Claude, Cursor, and any MCP client. Query recalls, adverse events, warning letters, and CSA risk data directly from your AI assistant.
No API key required for free tools. Subscribe for enriched CSA analysis and enterprise engine tools.
What You Can Do
Free — ask Claude things like:
- "Find Class I device recalls from Medtronic"
- "Show me adverse events for Philips ventilators"
- "Pull up the enforcement profile for Exactech"
Pro ($49/mo) — enriched dataset:
- "Run a CSA risk assessment on Fresenius Kabi"
- "Generate a supplier qualification report for Baxter International"
- "Analyze citation patterns for CFR Part 820"
Enterprise ($149/mo) — deterministic engine tools:
- "Classify the software development lifecycle for my infusion pump firmware"
- "Run a QMSR gap analysis against 21 CFR Part 820"
- "Assess CAPA effectiveness for our sterilization nonconformance"
- "Generate a CSA recommendation for our blood glucose monitor"
Tools
10 tools across 3 tiers (Free: 3, Pro: 3, Enterprise: 4).
Free (live openFDA data)
| Tool | What it does |
|------|-------------|
| search_recalls | Search recalls by product type, classification, firm, state, or date range |
| search_device_events | Search MAUDE adverse events by manufacturer, brand, event type, or date |
| company_enforcement_profile | Recalls + adverse events (+ warning letters and 483s with Pro key) |
Pro (enriched CSA dataset, API key required)
| Tool | What it does |
|------|-------------|
| csa_risk_assessment | Risk score with 4.2x escalation multiplier, failure modes, citation breakdown |
| citation_analysis | Citation patterns by CFR part, section, and category with CSA percentages |
| supplier_qualification_report | Audit-ready qualification brief with risk level and recommendation |
Enterprise (deterministic engine tools, API key required)
| Tool | What it does |
|------|-------------|
| csa_recommendation | 10-node CSA recommender engine — risk-based validation strategy per GAMP5 |
| sdlc_classification | IEC 62304 software development lifecycle classification engine |
| qmsr_gap_analysis | QMSR gap analysis engine against 21 CFR Part 820 requirements |
| capa_assessment | CAPA lifecycle effectiveness assessment engine |
The enriched tools are powered by 1,047 classified warning letters, 6,714 Form 483 observations, 3,600+ extracted citations, and 157 failure modes — all classified for CSA relevance across the QSR-to-QMSR regulatory transition.
Setup
Free (local, no account needed)
Runs locally via npx. No API key, no account, no server.
Claude Desktop — add to Settings > Developer > Edit Config:
{
"mcpServers": {
"fda": {
"command": "npx",
"args": ["-y", "@jasencarroll/fda-mcp-server"]
}
}
}Claude Code:
claude mcp add fda -- npx -y @jasencarroll/fda-mcp-serverRestart your client. You should see search_recalls, search_device_events, and company_enforcement_profile.
Pro (hosted, all 10 tools)
Get an API key at fda-intel.jasencarroll.com. Pro and Enterprise connect to the hosted server over HTTP — no npm install needed.
Claude Desktop — add to Settings > Developer > Edit Config:
{
"mcpServers": {
"fda": {
"type": "streamable-http",
"url": "https://fda-mcp-server.jasencarroll.com/mcp",
"headers": {
"Authorization": "Bearer fda_live_your-key-here"
}
}
}
}Claude Code:
claude mcp add fda --transport http https://fda-mcp-server.jasencarroll.com/mcp --header "Authorization: Bearer fda_live_your-key-here"Enterprise (self-hosted, engine tools)
Enterprise subscribers who self-host the platform backend need two additional env vars so the MCP server can reach the engine API.
Claude Desktop — add to Settings > Developer > Edit Config:
{
"mcpServers": {
"fda": {
"command": "npx",
"args": ["-y", "@jasencarroll/fda-mcp-server"],
"env": {
"DATABASE_URL": "postgresql://localhost:5432/fda-platform",
"PLATFORM_API_URL": "http://localhost:8000",
"PLATFORM_INTERNAL_SECRET": "your-shared-secret-here"
}
}
}
}Claude Code:
PLATFORM_API_URL=http://localhost:8000 PLATFORM_INTERNAL_SECRET=your-shared-secret-here claude mcp add fda -- npx -y @jasencarroll/fda-mcp-serverAny MCP client
The server supports two transports:
- stdio (free tools):
npx -y @jasencarroll/fda-mcp-server— standard MCP stdio transport - HTTP (all tools):
POST https://fda-mcp-server.jasencarroll.com/mcp— Streamable HTTP transport withAuthorization: Bearerheader
Data Sources
Free tools use live public data from the openFDA API (recalls, adverse events). No authentication required.
Pro tools query a curated PostgreSQL database classifying FDA warning letters and 483 observations for CSA relevance based on CFR citations (21 CFR 211.68, 820.70(i), Part 11) and narrative analysis. Dataset maintained at fda-platform.
Enterprise engine tools are deterministic pure-function regulatory decision trees encoding domain expertise from FDA, GAMP5, IEC 62304, and 21 CFR 820 standards.
Self-Hosting
Run enriched tools against your own database instead of using an API key:
{
"mcpServers": {
"fda": {
"command": "npx",
"args": ["-y", "@jasencarroll/fda-mcp-server"],
"env": {
"DATABASE_URL": "postgresql://localhost:5432/fda-platform"
}
}
}
}See fda-platform for the database dump and restore instructions.
Environment Variables
| Variable | Description | Required |
|----------|-------------|----------|
| DATABASE_URL | PostgreSQL connection string | Required for Pro tools, optional for Free |
| FDA_MCP_API_KEY | Legacy simple API key | Optional, for backward compatibility |
| FDA_KEY_SECRET | HMAC signing secret for API key validation | Required for production |
| PLATFORM_API_URL | URL of the platform backend API | Required for Enterprise engine tools (default: http://localhost:8000) |
| PLATFORM_INTERNAL_SECRET | Shared secret for engine API authentication | Required for Enterprise tools |
| PORT | HTTP server port | Only used in HTTP mode (default: 3000) |
Troubleshooting
No tools showing up Restart your MCP client after adding the server config. Claude Desktop and Claude Code both require a restart to pick up new MCP servers.
Pro tools return "database not available"
Set the DATABASE_URL environment variable pointing to a PostgreSQL instance with the FDA platform schema. See the Self-Hosting section above.
API key invalid
Check that the key format starts with fda_live_ and that the key has not expired. You can regenerate keys from the dashboard at fda-intel.jasencarroll.com.
Enterprise tools return error
Verify that PLATFORM_API_URL is reachable from the MCP server and that PLATFORM_INTERNAL_SECRET matches the value configured on the platform backend.
Author
Jasen Carroll — Quality engineering + software, FDA-regulated industries.
