Connect once, start with a company-level manufacturing and compliance summary, then drill into inspections, warning letters, OII records, facilities, import risk, and product data as needed.
Every MCP call requires a bearer token. Use the API key generated on /signup in the Authorization header.
Authorization: Bearer fda_...
# Persist the session id returned by initialize:
Mcp-Session-Id: <session_id>If you are evaluating a company for manufacturing, compliance, diligence, or account research, start with fda_manufacturing_risk_summary.
Give me a manufacturing risk summary for Pfizer.
Summarize recent warning letters, inspections, and import alerts for Moderna.
Show manufacturing risk summary plus recent OII records for Thermo Fisher.
Start with the published wrapper for Claude Desktop, Cowork, Cursor, and Windsurf. Use direct HTTP when your client supports remote MCP natively, like Claude Code.
# Best default for Claude Desktop / Cowork
FDA_DATA_API_KEY=YOUR_API_KEY npx -y fda-data-mcp
# Native HTTP for Claude Code
claude mcp add fda-data \
https://www.regdatalab.com/mcp \
--transport http \
--header "Authorization: Bearer YOUR_API_KEY"Cowork uses the MCPs you already connected in Claude Desktop, so the wrapper is the best default path for both.
// ~/Library/Application Support/Claude/claude_desktop_config.json
{
"mcpServers": {
"fda-data": {
"command": "npx",
"args": [
"-y", "fda-data-mcp"
],
"env": {
"FDA_DATA_API_KEY": "YOUR_API_KEY"
}
}
}
}You can also try a remote custom connector with https://www.regdatalab.com/mcp if you want discovery first. For authenticated use today, the wrapper path above is still the most reliable option.
One command, native HTTP, no local wrapper required.
claude mcp add fda-data \
https://www.regdatalab.com/mcp \
--transport http \
--header "Authorization: Bearer YOUR_API_KEY"// ~/.cursor/mcp.json
{
"mcpServers": {
"fda-data": {
"command": "npx",
"args": [
"-y", "fda-data-mcp"
],
"env": {
"FDA_DATA_API_KEY": "YOUR_API_KEY"
}
}
}
}// ~/.codeium/windsurf/mcp_config.json
{
"mcpServers": {
"fda-data": {
"command": "npx",
"args": [
"-y", "fda-data-mcp"
],
"env": {
"FDA_DATA_API_KEY": "YOUR_API_KEY"
}
}
}
}Use the Python SDK with MCP tool type in the Responses API.
from openai import OpenAI
client = OpenAI()
resp = client.responses.create(
model="gpt-4.1",
tools=[{
"type": "mcp",
"server_label": "fda-data",
"server_url": "https://www.regdatalab.com/mcp",
"headers": {
"Authorization": "Bearer YOUR_API_KEY"
}
}],
input="Look up Pfizer's FDA facilities"
)Drop this in your project root for team-wide access with environment variable expansion.
{
"mcpServers": {
"fda-data": {
"type": "http",
"url": "https://www.regdatalab.com/mcp",
"headers": {
"Authorization": "Bearer ${FDA_DATA_API_KEY}"
}
}
}
}Tools not showing
Verify your API key is correct (starts with fda_). Restart your client after adding the server.
Connection refused
Make sure you’re using --transport http (not stdio). The endpoint is https://www.regdatalab.com/mcp.
fda-data-mcp not found
Install Node.js, then test with: npx -y fda-data-mcp --help
Session expired
Re-initialize by restarting the client. Most clients handle this automatically.
The product is positioned manufacturing-first, but the same data layer is still useful for broader workflows after you answer the core company and facility questions.
44 MCP tools organized by category. Start with the manufacturing summary when you need a fast company view, then use the drill-down tools for evidence.
fda_manufacturing_risk_summaryBest first tool for a company-level manufacturing and compliance summary across inspections, warning letters, OII records, import risk, debarments, facilities, and recalls.
fda_inspectionsSearch FDA inspections with NAI, VAI, and OAI outcomes by company, FEI, date, and geography.
fda_citationsSearch inspection citations and CFR findings tied to facilities and companies.
fda_compliance_actionsSearch warning letters, seizures, and injunctions from FDA compliance dashboards.
fda_search_warning_lettersSearch FDA warning letters with text, excerpts, dates, and issuing office context.
fda_search_oii_recordsSearch OII reading-room records, including machine-readable inspection and compliance documents.
fda_search_debarmentsSearch FDA debarment records and integrity-related exclusions.
fda_search_import_alertsSearch import alerts, red-list and green-list placements, and linked firms.
fda_search_opdp_untitled_lettersSearch OPDP untitled letters for pharma promotional and commercial compliance issues.
fda_bpdr_summaryReview BPDR annual summary data for biologics manufacturing and quality signal context.
fda_device_supply_statusCheck device supply disruption and shortage signals for medtech manufacturing monitoring.
fda_inspection_observation_summaryReview annual inspection observation summary trends and common citation patterns.
fda_import_refusalsSearch import refusal records by company, FEI, country, category, and date.
fda_ires_enforcementSearch iRES enforcement and recall records from FDA internet Recall Enterprise System data.
fda_lookup_companyQuick company view across facilities, enforcement history, and alias resolution.
fda_search_facilitiesSearch FDA facilities by company, location, and operating context.
fda_get_facilityOpen a detailed facility record by FEI, including linked enforcement context.
fda_facility_productsList products and classifications linked to a facility.
fda_resolve_companyResolve a company to its normalized aliases and canonical record.
fda_save_aliasesSave alias mappings for a parent company when you need cleaner future matching.
fda_suggest_subsidiariesSuggest likely subsidiaries and brand/entity relationships from FDA and EDGAR-style evidence.
fda_company_fullPull a broader company profile across facilities, recalls, approvals, and drug/device coverage.
fda_search_510kSearch FDA 510(k) clearances by company, product code, and decision details.
fda_search_pmaSearch FDA PMA approvals by company, product code, and decision window.
fda_search_drugsSearch Drugs@FDA applications, brand names, and submission status.
fda_search_ndcSearch the NDC directory by labeler, brand, or application number.
fda_search_nsdeSearch National Standard Drug Element records by name, package NDC, and application number.
fda_search_by_productSearch across drug and device product-oriented datasets by product name.
fda_device_classLook up device classification details by product code.
fda_product_code_lookupCross-reference a product code across classification, 510(k), and PMA data.
fda_clinical_result_lettersSearch Complete Response Letters and related FDA transparency records.
fda_drug_labelsSearch SPL drug labels, sections, manufacturers, and application references.
fda_device_udiSearch the FDA UDI dataset for device identifiers, companies, and product codes.
fda_device_udi_lookupLook up GUDID-style UDI records directly.
fda_search_enforcementSearch recall and enforcement actions across drug, device, and food records.
fda_search_recall_textSearch recall reason text and product descriptions across enforcement records.
fda_recall_facility_traceTrace recalls back to likely facilities and manufacturing entities.
fda_drug_shortagesSearch active and resolved FDA drug shortages.
fda_device_recallsSearch device recall records with firm, product code, and status filters.
fda_consumer_eventsSearch food and cosmetic adverse events.
fda_vet_eventsSearch veterinary adverse event records.
fda_tobacco_problemsSearch tobacco product problem reports and health issues.
fda_substance_lookupLook up FDA substance and UNII data by code or name.
fda_search_aphisSearch APHIS veterinary biologics establishments and related references.
Rate limits are enforced per API key. Each key defaults to 60 requests per minute. When exceeded, the API returns HTTP 429.
X-RateLimit-Limit: 60
X-RateLimit-Remaining: 42
X-RateLimit-Reset: 1708905600Errors use standard HTTP codes with JSON payloads.
401 / 403Authentication failure — invalid or missing API key402Credits exhausted — top up, upgrade, or wait for the monthly reset429Rate limit exceeded — retry after the reset window500Internal error — retry or contact supportFDA Data MCP ingests openFDA bulk downloads, DECRS facility data, FDA Dashboard compliance feeds, warning letters, OII reading-room records, import alerts, debarments, APHIS veterinary biologics data, and iRES enforcement reports. Each dataset is normalized with provenance metadata including source, ingested_at, and run_id.