npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

@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.

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-server

Restart 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-server

Any 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 with Authorization: Bearer header

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.