fda-mcp-server 0.0.15 → 0.0.17

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -67,7 +67,7 @@ Restart your client. You should see `search_recalls`, `search_device_events`, an
67
67
 
68
68
  ### Pro (hosted, all 6 tools)
69
69
 
70
- Get an API key at [fda-mcp.jasencarroll.com](https://fda-mcp.jasencarroll.com). Pro connects to the hosted server over HTTP — no npm install needed.
70
+ Get an API key at [fda-csa-intel.jasencarroll.com](https://fda-csa-intel.jasencarroll.com). Pro connects to the hosted server over HTTP — no npm install needed.
71
71
 
72
72
  **Claude Desktop** — add to `Settings > Developer > Edit Config`:
73
73
 
@@ -102,7 +102,7 @@ The server supports two transports:
102
102
 
103
103
  Free tools use live public data from the [openFDA API](https://open.fda.gov/) (recalls, adverse events). No authentication required.
104
104
 
105
- 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-csa-data](https://github.com/jasencarroll/fda-csa-data).
105
+ 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](https://github.com/jasencarroll/fda_platform).
106
106
 
107
107
  ## Self-Hosting
108
108
 
@@ -115,14 +115,14 @@ Run enriched tools against your own database instead of using an API key:
115
115
  "command": "npx",
116
116
  "args": ["-y", "fda-mcp-server"],
117
117
  "env": {
118
- "DATABASE_URL": "postgresql://localhost:5432/fda-csa-data"
118
+ "DATABASE_URL": "postgresql://localhost:5432/fda_platform"
119
119
  }
120
120
  }
121
121
  }
122
122
  }
123
123
  ```
124
124
 
125
- See [fda-csa-data](https://github.com/jasencarroll/fda-csa-data) for the database dump and restore instructions.
125
+ See [fda_platform](https://github.com/jasencarroll/fda_platform) for the database dump and restore instructions.
126
126
 
127
127
  ## License
128
128
 
@@ -131,3 +131,4 @@ MIT
131
131
  ## Author
132
132
 
133
133
  [Jasen Carroll](https://jasencarroll.com) — Quality engineering + software, FDA-regulated industries.
134
+
package/dist/db.d.ts CHANGED
@@ -105,6 +105,28 @@ export interface SupplierQualResult {
105
105
  }[];
106
106
  csa_risk: CSARiskResult | null;
107
107
  }
108
+ export interface ConsentDecreeResult {
109
+ id: string;
110
+ company_name: string;
111
+ issue_date: string | null;
112
+ court: string | null;
113
+ docket_number: string | null;
114
+ terms_summary: string | null;
115
+ csa_relevant: boolean;
116
+ fei_number: string | null;
117
+ source_url: string;
118
+ }
119
+ export interface ConsentDecreeSearchResult {
120
+ total: number;
121
+ decrees: ConsentDecreeResult[];
122
+ }
123
+ export declare function searchConsentDecrees(params: {
124
+ company_name?: string;
125
+ date_from?: string;
126
+ date_to?: string;
127
+ csa_relevant?: boolean;
128
+ limit?: number;
129
+ }): Promise<ConsentDecreeSearchResult | null>;
108
130
  export interface CompanyEnrichedResult {
109
131
  warning_letters: {
110
132
  issue_date: string;
@@ -119,8 +141,16 @@ export interface CompanyEnrichedResult {
119
141
  product_area: string;
120
142
  csa_relevant: boolean;
121
143
  }[];
144
+ consent_decrees: {
145
+ issue_date: string | null;
146
+ court: string | null;
147
+ terms_summary: string | null;
148
+ csa_relevant: boolean;
149
+ source_url: string;
150
+ }[];
122
151
  total_warning_letters: number;
123
152
  total_inspections: number;
153
+ total_consent_decrees: number;
124
154
  }
125
155
  export declare function companyEnrichedProfile(companyName: string): Promise<CompanyEnrichedResult | null>;
126
156
  export declare function supplierQualification(companyName: string): Promise<SupplierQualResult | null>;
package/dist/db.d.ts.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"db.d.ts","sourceRoot":"","sources":["../src/db.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"db.d.ts","sourceRoot":"","sources":["../src/db.ts"],"names":[],"mappings":"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"}
package/dist/db.js CHANGED
@@ -55,7 +55,7 @@ export function validateApiKey(clientKeyOverride) {
55
55
  if (!clientKey) {
56
56
  return {
57
57
  valid: false,
58
- message: "Enriched tools require an API key. Set FDA_API_KEY in your MCP client config.\n\nGet a key at: https://fda-mcp.jasencarroll.com",
58
+ message: "Enriched tools require an API key. Set FDA_API_KEY in your MCP client config.\n\nGet a key at: https://fda-csa-intel.jasencarroll.com",
59
59
  };
60
60
  }
61
61
  // HMAC-signed key validation
@@ -82,7 +82,7 @@ export function validateApiKey(clientKeyOverride) {
82
82
  if (payload.exp && payload.exp < Math.floor(Date.now() / 1000)) {
83
83
  return {
84
84
  valid: false,
85
- message: "API key expired. Renew at https://fda-mcp.jasencarroll.com",
85
+ message: "API key expired. Renew at https://fda-csa-intel.jasencarroll.com",
86
86
  };
87
87
  }
88
88
  // Optional blocklist check
@@ -262,30 +262,95 @@ export async function citationAnalysis(params) {
262
262
  csa_percentage: total > 0 ? Math.round((csaCount / total) * 100 * 10) / 10 : 0,
263
263
  };
264
264
  }
265
+ export async function searchConsentDecrees(params) {
266
+ const p = getPool();
267
+ if (!p)
268
+ return null;
269
+ const conditions = [];
270
+ const values = [];
271
+ let idx = 1;
272
+ if (params.company_name) {
273
+ conditions.push(`LOWER(company_name) LIKE LOWER($${idx++})`);
274
+ values.push(`%${params.company_name}%`);
275
+ }
276
+ if (params.date_from) {
277
+ conditions.push(`issue_date >= $${idx++}`);
278
+ values.push(Math.floor(new Date(params.date_from).getTime() / 1000));
279
+ }
280
+ if (params.date_to) {
281
+ conditions.push(`issue_date <= $${idx++}`);
282
+ values.push(Math.floor(new Date(params.date_to).getTime() / 1000));
283
+ }
284
+ if (params.csa_relevant !== undefined) {
285
+ conditions.push(`csa_relevant = $${idx++}`);
286
+ values.push(params.csa_relevant);
287
+ }
288
+ const where = conditions.length > 0 ? `WHERE ${conditions.join(" AND ")}` : "";
289
+ const limit = Math.min(params.limit ?? 25, 100);
290
+ const countResult = await p.query(`SELECT COUNT(*) AS cnt FROM consent_decree ${where}`, values);
291
+ const rows = await p.query(`SELECT id, company_name,
292
+ CASE WHEN issue_date IS NOT NULL
293
+ THEN to_char(to_timestamp(issue_date), 'YYYY-MM-DD')
294
+ ELSE NULL
295
+ END AS issue_date,
296
+ court, docket_number, terms_summary,
297
+ csa_relevant, fei_number, source_url
298
+ FROM consent_decree
299
+ ${where}
300
+ ORDER BY issue_date DESC NULLS LAST
301
+ LIMIT $${idx}`, [...values, limit]);
302
+ return {
303
+ total: parseInt(countResult.rows[0]?.cnt ?? "0"),
304
+ decrees: rows.rows.map((r) => ({
305
+ id: r.id,
306
+ company_name: r.company_name,
307
+ issue_date: r.issue_date ?? null,
308
+ court: r.court ?? null,
309
+ docket_number: r.docket_number ?? null,
310
+ terms_summary: r.terms_summary ?? null,
311
+ csa_relevant: r.csa_relevant ?? false,
312
+ fei_number: r.fei_number ?? null,
313
+ source_url: r.source_url,
314
+ })),
315
+ };
316
+ }
265
317
  export async function companyEnrichedProfile(companyName) {
266
318
  const p = getPool();
267
319
  if (!p)
268
320
  return null;
269
- const wlResult = await p.query(`SELECT
270
- to_char(to_timestamp(issue_date), 'YYYY-MM-DD') AS issue_date,
271
- center, regime, csa_relevant,
272
- COALESCE(letter_subject, '') AS subject
273
- FROM warning_letter
274
- WHERE LOWER(company_name) LIKE LOWER($1)
275
- ORDER BY issue_date DESC
276
- LIMIT 10`, [`%${companyName}%`]);
277
- const wlCount = await p.query(`SELECT COUNT(*) AS cnt FROM warning_letter WHERE LOWER(company_name) LIKE LOWER($1)`, [`%${companyName}%`]);
278
- const inspResult = await p.query(`SELECT
279
- CASE WHEN inspection_end_date IS NOT NULL
280
- THEN to_char(to_timestamp(inspection_end_date), 'YYYY-MM-DD')
281
- ELSE ''
282
- END AS inspection_date,
283
- center, product_area, csa_relevant
284
- FROM observation_483
285
- WHERE LOWER(company_name) LIKE LOWER($1)
286
- ORDER BY inspection_end_date DESC
287
- LIMIT 10`, [`%${companyName}%`]);
288
- const inspCount = await p.query(`SELECT COUNT(*) AS cnt FROM observation_483 WHERE LOWER(company_name) LIKE LOWER($1)`, [`%${companyName}%`]);
321
+ const [wlResult, wlCount, inspResult, inspCount, decreeResult, decreeCount] = await Promise.all([
322
+ p.query(`SELECT
323
+ to_char(to_timestamp(issue_date), 'YYYY-MM-DD') AS issue_date,
324
+ center, regime, csa_relevant,
325
+ COALESCE(letter_subject, '') AS subject
326
+ FROM warning_letter
327
+ WHERE LOWER(company_name) LIKE LOWER($1)
328
+ ORDER BY issue_date DESC
329
+ LIMIT 10`, [`%${companyName}%`]),
330
+ p.query(`SELECT COUNT(*) AS cnt FROM warning_letter WHERE LOWER(company_name) LIKE LOWER($1)`, [`%${companyName}%`]),
331
+ p.query(`SELECT
332
+ CASE WHEN inspection_end_date IS NOT NULL
333
+ THEN to_char(to_timestamp(inspection_end_date), 'YYYY-MM-DD')
334
+ ELSE ''
335
+ END AS inspection_date,
336
+ center, product_area, csa_relevant
337
+ FROM observation_483
338
+ WHERE LOWER(company_name) LIKE LOWER($1)
339
+ ORDER BY inspection_end_date DESC
340
+ LIMIT 10`, [`%${companyName}%`]),
341
+ p.query(`SELECT COUNT(*) AS cnt FROM observation_483 WHERE LOWER(company_name) LIKE LOWER($1)`, [`%${companyName}%`]),
342
+ p.query(`SELECT
343
+ CASE WHEN issue_date IS NOT NULL
344
+ THEN to_char(to_timestamp(issue_date), 'YYYY-MM-DD')
345
+ ELSE NULL
346
+ END AS issue_date,
347
+ court, terms_summary, csa_relevant, source_url
348
+ FROM consent_decree
349
+ WHERE LOWER(company_name) LIKE LOWER($1)
350
+ ORDER BY issue_date DESC NULLS LAST
351
+ LIMIT 5`, [`%${companyName}%`]),
352
+ p.query(`SELECT COUNT(*) AS cnt FROM consent_decree WHERE LOWER(company_name) LIKE LOWER($1)`, [`%${companyName}%`]),
353
+ ]);
289
354
  return {
290
355
  warning_letters: wlResult.rows.map((r) => ({
291
356
  issue_date: r.issue_date ?? "",
@@ -300,8 +365,16 @@ export async function companyEnrichedProfile(companyName) {
300
365
  product_area: r.product_area ?? "",
301
366
  csa_relevant: r.csa_relevant ?? false,
302
367
  })),
368
+ consent_decrees: decreeResult.rows.map((r) => ({
369
+ issue_date: r.issue_date ?? null,
370
+ court: r.court ?? null,
371
+ terms_summary: r.terms_summary ?? null,
372
+ csa_relevant: r.csa_relevant ?? false,
373
+ source_url: r.source_url,
374
+ })),
303
375
  total_warning_letters: parseInt(wlCount.rows[0]?.cnt ?? "0"),
304
376
  total_inspections: parseInt(inspCount.rows[0]?.cnt ?? "0"),
377
+ total_consent_decrees: parseInt(decreeCount.rows[0]?.cnt ?? "0"),
305
378
  };
306
379
  }
307
380
  export async function supplierQualification(companyName) {
package/dist/db.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"db.js","sourceRoot":"","sources":["../src/db.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"db.js","sourceRoot":"","sources":["../src/db.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"fda-client.d.ts","sourceRoot":"","sources":["../src/fda-client.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAMH,MAAM,WAAW,iBAAiB;IAChC,aAAa,EAAE,MAAM,CAAC;IACtB,MAAM,EAAE,MAAM,CAAC;IACf,cAAc,EAAE,MAAM,CAAC;IACvB,YAAY,EAAE,MAAM,CAAC;IACrB,cAAc,EAAE,MAAM,CAAC;IACvB,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;IAChB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,mBAAmB,EAAE,MAAM,CAAC;IAC5B,gBAAgB,EAAE,MAAM,CAAC;IACzB,oBAAoB,EAAE,MAAM,CAAC;IAC7B,kBAAkB,EAAE,MAAM,CAAC;IAC3B,sBAAsB,EAAE,MAAM,CAAC;IAC/B,WAAW,EAAE,MAAM,CAAC;IACpB,0BAA0B,EAAE,MAAM,CAAC;IACnC,gBAAgB,EAAE,MAAM,CAAC;IACzB,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,iBAAiB;IAChC,aAAa,EAAE,MAAM,CAAC;IACtB,UAAU,EAAE,MAAM,CAAC;IACnB,aAAa,EAAE,MAAM,CAAC;IACtB,aAAa,EAAE,MAAM,CAAC;IACtB,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,MAAM,CAAC;IACrB,UAAU,EAAE,MAAM,CAAC;IACnB,YAAY,EAAE,MAAM,CAAC;IACrB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,eAAe,EAAE,MAAM,EAAE,CAAC;IAC1B,YAAY,EAAE,MAAM,CAAC;CACtB;AAID,wBAAsB,iBAAiB,CAAC,MAAM,EAAE;IAC9C,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,YAAY,CAAC,EAAE,MAAM,GAAG,QAAQ,GAAG,MAAM,CAAC;IAC1C,cAAc,CAAC,EAAE,SAAS,GAAG,UAAU,GAAG,WAAW,CAAC;IACtD,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,MAAM,CAAC;CACf,GAAG,OAAO,CAAC;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,iBAAiB,EAAE,CAAA;CAAE,CAAC,CAmE3D;AAID,wBAAsB,kBAAkB,CAAC,MAAM,EAAE;IAC/C,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,UAAU,CAAC,EAAE,QAAQ,GAAG,aAAa,GAAG,OAAO,GAAG,OAAO,CAAC;IAC1D,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,MAAM,CAAC;CACf,GAAG,OAAO,CAAC;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,iBAAiB,EAAE,CAAA;CAAE,CAAC,CA0E1D"}
1
+ {"version":3,"file":"fda-client.d.ts","sourceRoot":"","sources":["../src/fda-client.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAcH,MAAM,WAAW,iBAAiB;IAChC,aAAa,EAAE,MAAM,CAAC;IACtB,MAAM,EAAE,MAAM,CAAC;IACf,cAAc,EAAE,MAAM,CAAC;IACvB,YAAY,EAAE,MAAM,CAAC;IACrB,cAAc,EAAE,MAAM,CAAC;IACvB,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;IAChB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,mBAAmB,EAAE,MAAM,CAAC;IAC5B,gBAAgB,EAAE,MAAM,CAAC;IACzB,oBAAoB,EAAE,MAAM,CAAC;IAC7B,kBAAkB,EAAE,MAAM,CAAC;IAC3B,sBAAsB,EAAE,MAAM,CAAC;IAC/B,WAAW,EAAE,MAAM,CAAC;IACpB,0BAA0B,EAAE,MAAM,CAAC;IACnC,gBAAgB,EAAE,MAAM,CAAC;IACzB,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,iBAAiB;IAChC,aAAa,EAAE,MAAM,CAAC;IACtB,UAAU,EAAE,MAAM,CAAC;IACnB,aAAa,EAAE,MAAM,CAAC;IACtB,aAAa,EAAE,MAAM,CAAC;IACtB,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,MAAM,CAAC;IACrB,UAAU,EAAE,MAAM,CAAC;IACnB,YAAY,EAAE,MAAM,CAAC;IACrB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,eAAe,EAAE,MAAM,EAAE,CAAC;IAC1B,YAAY,EAAE,MAAM,CAAC;CACtB;AAID,wBAAsB,iBAAiB,CAAC,MAAM,EAAE;IAC9C,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,YAAY,CAAC,EAAE,MAAM,GAAG,QAAQ,GAAG,MAAM,CAAC;IAC1C,cAAc,CAAC,EAAE,SAAS,GAAG,UAAU,GAAG,WAAW,CAAC;IACtD,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,MAAM,CAAC;CACf,GAAG,OAAO,CAAC;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,iBAAiB,EAAE,CAAA;CAAE,CAAC,CAmE3D;AAID,wBAAsB,kBAAkB,CAAC,MAAM,EAAE;IAC/C,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,UAAU,CAAC,EAAE,QAAQ,GAAG,aAAa,GAAG,OAAO,GAAG,OAAO,CAAC;IAC1D,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,MAAM,CAAC;CACf,GAAG,OAAO,CAAC;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,iBAAiB,EAAE,CAAA;CAAE,CAAC,CA0E1D"}
@@ -6,6 +6,13 @@
6
6
  * 2. Device Adverse Events (MAUDE database)
7
7
  */
8
8
  const OPENFDA_BASE = "https://api.fda.gov";
9
+ const OPENFDA_API_KEY = process.env.OPENFDA_API_KEY;
10
+ function withApiKey(url) {
11
+ if (OPENFDA_API_KEY) {
12
+ url.searchParams.set("api_key", OPENFDA_API_KEY);
13
+ }
14
+ return url;
15
+ }
9
16
  // ─── openFDA Enforcement (Recalls) ───────────────────────────────────────────
10
17
  export async function searchEnforcement(params) {
11
18
  const product = params.product_type ?? "drug";
@@ -35,7 +42,7 @@ export async function searchEnforcement(params) {
35
42
  }
36
43
  url.searchParams.set("limit", String(limit));
37
44
  url.searchParams.set("skip", String(skip));
38
- const resp = await fetch(url.toString(), {
45
+ const resp = await fetch(withApiKey(url).toString(), {
39
46
  headers: { "User-Agent": "fda-mcp-server/1.0" },
40
47
  });
41
48
  if (!resp.ok) {
@@ -100,7 +107,7 @@ export async function searchDeviceEvents(params) {
100
107
  }
101
108
  url.searchParams.set("limit", String(limit));
102
109
  url.searchParams.set("skip", String(skip));
103
- const resp = await fetch(url.toString(), {
110
+ const resp = await fetch(withApiKey(url).toString(), {
104
111
  headers: { "User-Agent": "fda-mcp-server/1.0" },
105
112
  });
106
113
  if (!resp.ok) {
@@ -1 +1 @@
1
- {"version":3,"file":"fda-client.js","sourceRoot":"","sources":["../src/fda-client.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"fda-client.js","sourceRoot":"","sources":["../src/fda-client.ts"],"names":[],"mappings":"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"}
package/dist/index.js CHANGED
@@ -14,11 +14,12 @@ import { StdioServerTransport } from "@modelcontextprotocol/sdk/server/stdio.js"
14
14
  import { WebStandardStreamableHTTPServerTransport } from "@modelcontextprotocol/sdk/server/webStandardStreamableHttp.js";
15
15
  import { z } from "zod";
16
16
  import { searchEnforcement, searchDeviceEvents } from "./fda-client.js";
17
- import { isEnrichedAvailable, validateApiKey, testConnection, csaRiskAssessment, citationAnalysis, supplierQualification, companyEnrichedProfile, } from "./db.js";
17
+ import { isEnrichedAvailable, validateApiKey, testConnection, csaRiskAssessment, citationAnalysis, supplierQualification, companyEnrichedProfile, searchConsentDecrees, } from "./db.js";
18
+ import { isPlatformAvailable, callPlatformEngine } from "./platform-client.js";
18
19
  function createServer() {
19
20
  const server = new McpServer({
20
21
  name: "fda-mcp-server",
21
- version: "1.0.0",
22
+ version: "0.0.16",
22
23
  });
23
24
  registerTools(server);
24
25
  return server;
@@ -33,7 +34,7 @@ function enrichedGate(apiKey) {
33
34
  content: [
34
35
  {
35
36
  type: "text",
36
- text: "This tool requires the enriched fda-csa-data dataset. Subscribe at https://fda-mcp.jasencarroll.com for access.",
37
+ text: "This tool requires the enriched fda-csa-data dataset. Subscribe at https://fda-csa-intel.jasencarroll.com for access.",
37
38
  },
38
39
  ],
39
40
  };
@@ -62,6 +63,35 @@ async function enrichedConnectionGate(apiKey) {
62
63
  }
63
64
  return { ok: true };
64
65
  }
66
+ function enterpriseGate(apiKey) {
67
+ if (!isPlatformAvailable()) {
68
+ return {
69
+ ok: false,
70
+ content: [
71
+ {
72
+ type: "text",
73
+ text: "Engine tools require an Enterprise subscription and a running platform API.\n\nUpgrade at https://fda-csa-intel.jasencarroll.com",
74
+ },
75
+ ],
76
+ };
77
+ }
78
+ const auth = validateApiKey(apiKey);
79
+ if (!auth.valid) {
80
+ return { ok: false, content: [{ type: "text", text: auth.message }] };
81
+ }
82
+ if (auth.tier && auth.tier !== "enterprise") {
83
+ return {
84
+ ok: false,
85
+ content: [
86
+ {
87
+ type: "text",
88
+ text: `Engine tools require an Enterprise plan. Your current plan is: ${auth.tier}.\n\nUpgrade at https://fda-csa-intel.jasencarroll.com`,
89
+ },
90
+ ],
91
+ };
92
+ }
93
+ return { ok: true };
94
+ }
65
95
  function registerTools(server) {
66
96
  // ─── Tool: search_recalls ────────────────────────────────────────────────────
67
97
  server.tool("search_recalls", "Search FDA recalls and enforcement actions via the openFDA API. Covers drugs, devices, and food. Filter by severity, firm, state, or date range.", {
@@ -210,6 +240,7 @@ function registerTools(server) {
210
240
  if (enriched) {
211
241
  lines.push(`- **Warning Letters:** ${enriched.total_warning_letters}`);
212
242
  lines.push(`- **483 Inspections:** ${enriched.total_inspections}`);
243
+ lines.push(`- **Consent Decrees:** ${enriched.total_consent_decrees}`);
213
244
  }
214
245
  lines.push(`- **Recalls:** ${recalls.total}`);
215
246
  lines.push(`- **Adverse Events:** ${events.total}`);
@@ -235,6 +266,17 @@ function registerTools(server) {
235
266
  }
236
267
  lines.push(``);
237
268
  }
269
+ // Consent decrees (enriched)
270
+ if (enriched && enriched.consent_decrees.length > 0) {
271
+ lines.push(`### Consent Decrees (${enriched.total_consent_decrees} total)`);
272
+ lines.push(`| Date | Court | CSA |`);
273
+ lines.push(`|------|-------|-----|`);
274
+ for (const d of enriched.consent_decrees) {
275
+ const court = d.court ? d.court.substring(0, 50) : "Unknown";
276
+ lines.push(`| ${d.issue_date ?? "Unknown"} | ${court} | ${d.csa_relevant ? "YES" : "no"} |`);
277
+ }
278
+ lines.push(``);
279
+ }
238
280
  // Recalls (live)
239
281
  if (recalls.records.length > 0) {
240
282
  lines.push(`### Recalls (${recalls.total} total)`);
@@ -488,21 +530,237 @@ function registerTools(server) {
488
530
  };
489
531
  }
490
532
  });
533
+ // ─── Tool: search_consent_decrees (Pro) ──────────────────────────────────────
534
+ server.tool("search_consent_decrees", "Search FDA consent decrees and permanent injunctions from court records published as FDA press announcements. Filter by company, date range, or CSA relevance. Requires Pro subscription.", {
535
+ company_name: z.string().optional().describe("Filter by company name"),
536
+ date_from: z.string().optional().describe("Start date (YYYY-MM-DD)"),
537
+ date_to: z.string().optional().describe("End date (YYYY-MM-DD)"),
538
+ csa_relevant: z
539
+ .boolean()
540
+ .optional()
541
+ .describe("Filter to CSA-relevant decrees only"),
542
+ limit: z.number().min(1).max(100).optional().describe("Max results (default 25)"),
543
+ }, async (params, extra) => {
544
+ const gate = await enrichedConnectionGate(extra.authInfo?.token);
545
+ if (!gate.ok)
546
+ return { content: gate.content };
547
+ try {
548
+ const result = await searchConsentDecrees(params);
549
+ if (!result) {
550
+ return { content: [{ type: "text", text: "No consent decree data available." }] };
551
+ }
552
+ if (result.decrees.length === 0) {
553
+ return { content: [{ type: "text", text: "No consent decrees found." }] };
554
+ }
555
+ const lines = [
556
+ `## FDA Consent Decrees`,
557
+ `**${result.total} total** | Showing ${result.decrees.length}`,
558
+ ``,
559
+ ];
560
+ for (const d of result.decrees) {
561
+ lines.push(`### ${d.company_name}`);
562
+ lines.push(`- **Date:** ${d.issue_date ?? "Unknown"}`);
563
+ if (d.court)
564
+ lines.push(`- **Court:** ${d.court}`);
565
+ if (d.docket_number)
566
+ lines.push(`- **Docket:** ${d.docket_number}`);
567
+ lines.push(`- **CSA Relevant:** ${d.csa_relevant ? "YES" : "no"}`);
568
+ if (d.fei_number)
569
+ lines.push(`- **FEI:** ${d.fei_number}`);
570
+ if (d.terms_summary) {
571
+ const summary = d.terms_summary.length > 150
572
+ ? d.terms_summary.substring(0, 150) + "..."
573
+ : d.terms_summary;
574
+ lines.push(`- **Terms:** ${summary}`);
575
+ }
576
+ lines.push(`- **Source:** ${d.source_url}`);
577
+ lines.push(``);
578
+ }
579
+ return { content: [{ type: "text", text: lines.join("\n") }] };
580
+ }
581
+ catch (error) {
582
+ return {
583
+ content: [
584
+ {
585
+ type: "text",
586
+ text: `Error: ${error instanceof Error ? error.message : String(error)}`,
587
+ },
588
+ ],
589
+ isError: true,
590
+ };
591
+ }
592
+ });
593
+ // ─── Engine Tools (Enterprise) ────────────────────────────────────────────────
594
+ server.tool("csa_recommendation", "Run the CSA recommender engine on a specific company's enforcement data. Returns a 10-node risk score, validation gap analysis, recommended actions, and prioritized remediation roadmap. Requires Enterprise subscription.", {
595
+ company_name: z.string().describe("Company name to assess"),
596
+ fei_number: z.string().optional().describe("FEI number for precise matching"),
597
+ product_type: z
598
+ .enum(["device", "drug", "combination"])
599
+ .optional()
600
+ .describe("Product type"),
601
+ }, async (params, extra) => {
602
+ const gate = enterpriseGate(extra.authInfo?.token);
603
+ if (!gate.ok)
604
+ return { content: gate.content };
605
+ try {
606
+ const result = await callPlatformEngine("csa", params);
607
+ return {
608
+ content: [{ type: "text", text: JSON.stringify(result, null, 2) }],
609
+ };
610
+ }
611
+ catch (error) {
612
+ return {
613
+ content: [
614
+ {
615
+ type: "text",
616
+ text: `Error: ${error instanceof Error ? error.message : String(error)}`,
617
+ },
618
+ ],
619
+ isError: true,
620
+ };
621
+ }
622
+ });
623
+ server.tool("sdlc_classification", "Classify medical device software under IEC 62304 and determine software safety class, required development activities, documentation checklist, and applicable standards. Requires Enterprise subscription.", {
624
+ intended_use: z.string().describe("Intended use of the software / device"),
625
+ harm_severity: z
626
+ .enum(["negligible", "minor", "serious", "critical", "catastrophic"])
627
+ .describe("Worst-case harm severity if software fails"),
628
+ harm_probability: z
629
+ .enum(["improbable", "remote", "occasional", "probable", "frequent"])
630
+ .describe("Probability of harm occurring without mitigation"),
631
+ software_role: z
632
+ .enum(["standalone", "embedded", "infrastructure"])
633
+ .optional()
634
+ .describe("Role of the software in the device system"),
635
+ soup_items: z
636
+ .array(z.string())
637
+ .optional()
638
+ .describe("List of SOUP (Software of Unknown Provenance) component names"),
639
+ markets: z
640
+ .array(z.string())
641
+ .optional()
642
+ .describe("Target markets (e.g., US, EU, Japan)"),
643
+ }, async (params, extra) => {
644
+ const gate = enterpriseGate(extra.authInfo?.token);
645
+ if (!gate.ok)
646
+ return { content: gate.content };
647
+ try {
648
+ const result = await callPlatformEngine("sdlc", params);
649
+ return {
650
+ content: [{ type: "text", text: JSON.stringify(result, null, 2) }],
651
+ };
652
+ }
653
+ catch (error) {
654
+ return {
655
+ content: [
656
+ {
657
+ type: "text",
658
+ text: `Error: ${error instanceof Error ? error.message : String(error)}`,
659
+ },
660
+ ],
661
+ isError: true,
662
+ };
663
+ }
664
+ });
665
+ server.tool("qmsr_gap_analysis", "Analyze a medical device manufacturer's Quality Management System for gaps against 21 CFR Part 820 (QMSR). Returns prioritized gap list with effort estimates, remediation roadmap, and estimated timeline. Requires Enterprise subscription.", {
666
+ company_size: z
667
+ .enum(["startup", "small", "medium", "large"])
668
+ .describe("Company size category"),
669
+ product_type: z
670
+ .enum(["device", "drug", "combination"])
671
+ .optional()
672
+ .describe("Product type"),
673
+ implemented_clauses: z
674
+ .array(z.string())
675
+ .optional()
676
+ .describe("List of 820 clauses already implemented (e.g., ['820.20', '820.30'])"),
677
+ missing_clauses: z
678
+ .array(z.string())
679
+ .optional()
680
+ .describe("List of 820 clauses known to be missing or deficient"),
681
+ }, async (params, extra) => {
682
+ const gate = enterpriseGate(extra.authInfo?.token);
683
+ if (!gate.ok)
684
+ return { content: gate.content };
685
+ try {
686
+ const result = await callPlatformEngine("qmsr", params);
687
+ return {
688
+ content: [{ type: "text", text: JSON.stringify(result, null, 2) }],
689
+ };
690
+ }
691
+ catch (error) {
692
+ return {
693
+ content: [
694
+ {
695
+ type: "text",
696
+ text: `Error: ${error instanceof Error ? error.message : String(error)}`,
697
+ },
698
+ ],
699
+ isError: true,
700
+ };
701
+ }
702
+ });
703
+ server.tool("capa_assessment", "Assess a CAPA (Corrective and Preventive Action) for effectiveness, closure readiness, and risk. Returns risk score, valid state transitions, monitoring strategy, and aging alert if overdue. Requires Enterprise subscription.", {
704
+ capa_type: z
705
+ .enum(["corrective", "preventive", "both"])
706
+ .describe("CAPA type"),
707
+ current_state: z
708
+ .enum(["initiated", "root_cause_analysis", "action_plan", "implementation", "verification", "closed"])
709
+ .describe("Current CAPA state"),
710
+ root_cause_category: z
711
+ .enum(["human_error", "process", "equipment", "software", "supplier", "design", "environment", "unknown"])
712
+ .describe("Root cause category"),
713
+ scope: z
714
+ .enum(["local", "site", "global"])
715
+ .describe("CAPA scope / extent of impact"),
716
+ customer_impact: z.boolean().describe("Whether the issue reached customers"),
717
+ regulatory_reportable: z.boolean().describe("Whether the issue is regulatory reportable"),
718
+ days_open: z.number().int().min(0).describe("Number of days the CAPA has been open"),
719
+ }, async (params, extra) => {
720
+ const gate = enterpriseGate(extra.authInfo?.token);
721
+ if (!gate.ok)
722
+ return { content: gate.content };
723
+ try {
724
+ const result = await callPlatformEngine("capa", params);
725
+ return {
726
+ content: [{ type: "text", text: JSON.stringify(result, null, 2) }],
727
+ };
728
+ }
729
+ catch (error) {
730
+ return {
731
+ content: [
732
+ {
733
+ type: "text",
734
+ text: `Error: ${error instanceof Error ? error.message : String(error)}`,
735
+ },
736
+ ],
737
+ isError: true,
738
+ };
739
+ }
740
+ });
491
741
  } // end registerTools
492
742
  // ─── Start Server ────────────────────────────────────────────────────────────
493
743
  async function logStartup(mode) {
494
744
  const enriched = isEnrichedAvailable();
745
+ const platform = isPlatformAvailable();
495
746
  console.error(`FDA MCP Server running on ${mode}`);
496
- console.error(" Tools: search_recalls, search_device_events, company_enforcement_profile");
747
+ console.error(" Free tools: search_recalls, search_device_events, company_enforcement_profile");
497
748
  if (enriched) {
498
749
  const connected = await testConnection();
499
- console.error(` Enriched tools: ${connected ? "ACTIVE" : "DATABASE_URL set but connection failed"}`);
750
+ console.error(` Pro tools (DB): ${connected ? "ACTIVE" : "DATABASE_URL set but connection failed"}`);
500
751
  if (connected) {
501
- console.error(" + csa_risk_assessment, citation_analysis, supplier_qualification_report");
752
+ console.error(" + csa_risk_assessment, citation_analysis, supplier_qualification_report, search_consent_decrees");
502
753
  }
503
754
  }
504
755
  else {
505
- console.error(" Enriched tools: INACTIVE (set DATABASE_URL to enable)");
756
+ console.error(" Pro tools: INACTIVE (set DATABASE_URL to enable)");
757
+ }
758
+ if (platform) {
759
+ console.error(" Enterprise tools (Platform API): ACTIVE");
760
+ console.error(" + csa_recommendation, sdlc_classification, qmsr_gap_analysis, capa_assessment");
761
+ }
762
+ else {
763
+ console.error(" Enterprise tools: INACTIVE (set PLATFORM_API_URL to enable)");
506
764
  }
507
765
  }
508
766
  async function main() {
@@ -575,6 +833,14 @@ async function main() {
575
833
  });
576
834
  }
577
835
  }
836
+ if (rateLimits.size > 1000) {
837
+ const now = Date.now();
838
+ for (const [k, v] of rateLimits) {
839
+ if (now - v.windowStart > RATE_WINDOW_MS) {
840
+ rateLimits.delete(k);
841
+ }
842
+ }
843
+ }
578
844
  const sessionId = req.headers.get("mcp-session-id");
579
845
  // Existing session — route to its transport
580
846
  if (sessionId && transports.has(sessionId)) {
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,14 @@
1
+ /**
2
+ * Platform API client — proxies requests to the fda-platform backend.
3
+ *
4
+ * Engine tools (Enterprise tier) call POST /api/engines/* on the platform API.
5
+ * The platform URL defaults to http://localhost:8000 for local dev.
6
+ * In Docker / Railway: set PLATFORM_API_URL=http://app:8000
7
+ */
8
+ export declare function isPlatformAvailable(): boolean;
9
+ export declare function translateSdlcParams(mcpParams: Record<string, unknown>): Record<string, unknown>;
10
+ export declare function translateQmsrParams(mcpParams: Record<string, unknown>): Record<string, unknown>;
11
+ export declare function translateCapaParams(mcpParams: Record<string, unknown>): Record<string, unknown>;
12
+ export declare function translateCsaParams(mcpParams: Record<string, unknown>): Record<string, unknown>;
13
+ export declare function callPlatformEngine(endpoint: string, params: Record<string, unknown>): Promise<Record<string, unknown>>;
14
+ //# sourceMappingURL=platform-client.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"platform-client.d.ts","sourceRoot":"","sources":["../src/platform-client.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAMH,wBAAgB,mBAAmB,IAAI,OAAO,CAE7C;AAsBD,wBAAgB,mBAAmB,CACjC,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GACjC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAiCzB;AA6BD,wBAAgB,mBAAmB,CACjC,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GACjC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CA8BzB;AAyCD,wBAAgB,mBAAmB,CACjC,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GACjC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CA6BzB;AAMD,wBAAgB,kBAAkB,CAChC,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GACjC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAsBzB;AAgBD,wBAAsB,kBAAkB,CACtC,QAAQ,EAAE,MAAM,EAChB,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAC9B,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAwBlC"}
@@ -0,0 +1,223 @@
1
+ /**
2
+ * Platform API client — proxies requests to the fda-platform backend.
3
+ *
4
+ * Engine tools (Enterprise tier) call POST /api/engines/* on the platform API.
5
+ * The platform URL defaults to http://localhost:8000 for local dev.
6
+ * In Docker / Railway: set PLATFORM_API_URL=http://app:8000
7
+ */
8
+ const PLATFORM_API_URL = process.env.PLATFORM_API_URL ?? "http://localhost:8000";
9
+ const PLATFORM_INTERNAL_SECRET = process.env.PLATFORM_INTERNAL_SECRET;
10
+ export function isPlatformAvailable() {
11
+ return !!process.env.PLATFORM_API_URL;
12
+ }
13
+ // ── SDLC param translation ──────────────────────────────────
14
+ const HARM_SEVERITY_MAP = {
15
+ catastrophic: "Can contribute, serious injury or death",
16
+ critical: "Can contribute, serious injury or death",
17
+ serious: "Can contribute, non-serious",
18
+ minor: "Can contribute, non-serious",
19
+ negligible: "cannot_contribute",
20
+ };
21
+ const SOFTWARE_ROLE_MAP = {
22
+ standalone: "SaMD",
23
+ embedded: "SiMD",
24
+ infrastructure: "QMS_Software",
25
+ };
26
+ const SDLC_KNOWN_KEYS = [
27
+ "intended_use", "soup_items", "harm_severity", "software_role", "markets",
28
+ ];
29
+ export function translateSdlcParams(mcpParams) {
30
+ const intendedUse = mcpParams.intended_use ?? "";
31
+ const soupItems = mcpParams.soup_items ?? [];
32
+ const harmSeverity = mcpParams.harm_severity ?? "negligible";
33
+ const softwareRole = mcpParams.software_role ?? "standalone";
34
+ const markets = mcpParams.markets ?? ["US"];
35
+ return {
36
+ name: intendedUse.slice(0, 50) || "Software Assessment",
37
+ role: SOFTWARE_ROLE_MAP[softwareRole] ?? "SaMD",
38
+ description: intendedUse,
39
+ intended_use: intendedUse,
40
+ harm_contribution: HARM_SEVERITY_MAP[harmSeverity] ?? "cannot_contribute",
41
+ target_markets: markets,
42
+ uses_ai_ml: false,
43
+ is_cloud_deployed: false,
44
+ soup_components: soupItems.map((name) => ({
45
+ name,
46
+ version: "unknown",
47
+ purpose: "SOUP",
48
+ manufacturer: "unknown",
49
+ is_open_source: false,
50
+ known_anomalies: false,
51
+ last_updated: "",
52
+ has_security_advisories: false,
53
+ clinical_function: false,
54
+ })),
55
+ software_items: [],
56
+ // Pass through any additional params the user explicitly provided
57
+ ...Object.fromEntries(Object.entries(mcpParams).filter(([k]) => !SDLC_KNOWN_KEYS.includes(k))),
58
+ };
59
+ }
60
+ // ── QMSR param translation ──────────────────────────────────
61
+ const EMPLOYEE_COUNT_MAP = {
62
+ startup: 10,
63
+ small: 50,
64
+ medium: 200,
65
+ large: 1000,
66
+ };
67
+ const PRODUCT_TYPE_TO_COMPANY_TYPE = {
68
+ device: "Device Only",
69
+ drug: "Device Only",
70
+ combination: "Combination Product",
71
+ };
72
+ const COMMON_820_CLAUSES = [
73
+ "820.5", "820.20", "820.22", "820.25", "820.30(a)", "820.30(c)",
74
+ "820.30(d)", "820.30(e)", "820.30(f)", "820.30(g)", "820.30(h)",
75
+ "820.30(i)", "820.30(j)", "820.40", "820.50", "820.60", "820.65",
76
+ "820.70", "820.72", "820.75", "820.90", "820.180", "820.198",
77
+ "820.20(c)",
78
+ ];
79
+ const QMSR_KNOWN_KEYS = [
80
+ "company_size", "product_type", "implemented_clauses", "missing_clauses",
81
+ ];
82
+ export function translateQmsrParams(mcpParams) {
83
+ const companySize = mcpParams.company_size ?? "small";
84
+ const productType = mcpParams.product_type;
85
+ const implemented = mcpParams.implemented_clauses ?? [];
86
+ const missing = mcpParams.missing_clauses ?? [];
87
+ const compliance = {};
88
+ for (const clause of implemented)
89
+ compliance[clause] = "Implemented";
90
+ for (const clause of missing)
91
+ compliance[clause] = "Not Implemented";
92
+ for (const clause of COMMON_820_CLAUSES) {
93
+ if (!(clause in compliance))
94
+ compliance[clause] = "Partial";
95
+ }
96
+ return {
97
+ company_name: "Assessment",
98
+ company_type: productType
99
+ ? (PRODUCT_TYPE_TO_COMPANY_TYPE[productType] ?? "Device Only")
100
+ : "Device Only",
101
+ has_iso13485: false,
102
+ iso13485_certified: false,
103
+ has_eu_mdr_compliance: false,
104
+ markets: ["US"],
105
+ employee_count: EMPLOYEE_COUNT_MAP[companySize] ?? 50,
106
+ product_count: 1,
107
+ current_820_compliance: compliance,
108
+ // Pass through any additional params the user explicitly provided
109
+ ...Object.fromEntries(Object.entries(mcpParams).filter(([k]) => !QMSR_KNOWN_KEYS.includes(k))),
110
+ };
111
+ }
112
+ // ── CAPA param translation ───────────────────────────────────
113
+ const CAPA_STATE_MAP = {
114
+ initiated: "Initiated",
115
+ root_cause_analysis: "Investigation",
116
+ action_plan: "Action Plan Defined",
117
+ implementation: "Implementation",
118
+ verification: "Effectiveness Check",
119
+ closed: "Closed — Effective",
120
+ };
121
+ const CAPA_TYPE_MAP = {
122
+ corrective: "Corrective",
123
+ preventive: "Preventive",
124
+ both: "Both",
125
+ };
126
+ const ROOT_CAUSE_MAP = {
127
+ human_error: "Human Error",
128
+ process: "Process Capability",
129
+ equipment: "Equipment/System Failure",
130
+ software: "Software Defect",
131
+ supplier: "Supplier Quality",
132
+ design: "Design Deficiency",
133
+ environment: "Environmental",
134
+ unknown: "Undetermined",
135
+ };
136
+ const SCOPE_MAP = {
137
+ local: "Local",
138
+ site: "Multi-site",
139
+ global: "Systemic",
140
+ };
141
+ const CAPA_KNOWN_KEYS = [
142
+ "days_open", "customer_impact", "capa_type", "current_state",
143
+ "root_cause_category", "scope", "regulatory_reportable",
144
+ ];
145
+ export function translateCapaParams(mcpParams) {
146
+ const daysOpen = mcpParams.days_open ?? 0;
147
+ const customerImpact = mcpParams.customer_impact ?? false;
148
+ return {
149
+ capa_id: `MCP-${Date.now()}`,
150
+ capa_type: CAPA_TYPE_MAP[mcpParams.capa_type ?? "corrective"] ?? "Corrective",
151
+ current_state: CAPA_STATE_MAP[mcpParams.current_state ?? "initiated"] ?? "Initiated",
152
+ title: "CAPA Assessment via MCP",
153
+ description: `${mcpParams.capa_type ?? "corrective"} action — ${mcpParams.root_cause_category ?? "unknown"} root cause`,
154
+ source: "MCP Assessment",
155
+ root_cause_category: ROOT_CAUSE_MAP[mcpParams.root_cause_category ?? "unknown"] ?? "Undetermined",
156
+ rca_method: null,
157
+ scope: SCOPE_MAP[mcpParams.scope ?? "local"] ?? "Local",
158
+ product_impact: customerImpact ? "Major" : "None",
159
+ days_open: daysOpen,
160
+ days_in_current_state: daysOpen,
161
+ related_capas: [],
162
+ recurrence_count: 0,
163
+ actions_defined: 0,
164
+ actions_completed: 0,
165
+ effectiveness_checks_performed: 0,
166
+ last_effectiveness_result: null,
167
+ regulatory_reported: mcpParams.regulatory_reportable ?? false,
168
+ // Pass through any additional params the user explicitly provided
169
+ ...Object.fromEntries(Object.entries(mcpParams).filter(([k]) => !CAPA_KNOWN_KEYS.includes(k))),
170
+ };
171
+ }
172
+ // ── CSA param translation ────────────────────────────────────
173
+ const CSA_KNOWN_KEYS = ["company_name"];
174
+ export function translateCsaParams(mcpParams) {
175
+ const companyName = mcpParams.company_name ?? "System";
176
+ return {
177
+ name: companyName,
178
+ system_type: "GxP System",
179
+ deployment: "SaaS",
180
+ gamp_category: 4,
181
+ gxp_impact: "Direct",
182
+ geographic_scope: ["US"],
183
+ intended_use: `GxP-regulated system for ${companyName}`,
184
+ vendor_name: companyName,
185
+ vendor_years: 0,
186
+ vendor_soc2: false,
187
+ vendor_audit_clean: true,
188
+ has_ai_component: false,
189
+ has_e_signatures: false,
190
+ // Pass through any additional params the user explicitly provided
191
+ ...Object.fromEntries(Object.entries(mcpParams).filter(([k]) => !CSA_KNOWN_KEYS.includes(k))),
192
+ };
193
+ }
194
+ // ── Translator registry ──────────────────────────────────────
195
+ const PARAM_TRANSLATORS = {
196
+ sdlc: translateSdlcParams,
197
+ qmsr: translateQmsrParams,
198
+ capa: translateCapaParams,
199
+ csa: translateCsaParams,
200
+ };
201
+ // ── API call ─────────────────────────────────────────────────
202
+ export async function callPlatformEngine(endpoint, params) {
203
+ const url = `${PLATFORM_API_URL}/api/engines/${endpoint}`;
204
+ const translator = PARAM_TRANSLATORS[endpoint];
205
+ const body = translator ? translator(params) : params;
206
+ const headers = {
207
+ "Content-Type": "application/json",
208
+ };
209
+ if (PLATFORM_INTERNAL_SECRET) {
210
+ headers["X-Internal-Secret"] = PLATFORM_INTERNAL_SECRET;
211
+ }
212
+ const resp = await fetch(url, {
213
+ method: "POST",
214
+ headers,
215
+ body: JSON.stringify(body),
216
+ });
217
+ if (!resp.ok) {
218
+ const text = await resp.text().catch(() => resp.statusText);
219
+ throw new Error(`Platform API error ${resp.status}: ${text}`);
220
+ }
221
+ return resp.json();
222
+ }
223
+ //# sourceMappingURL=platform-client.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"platform-client.js","sourceRoot":"","sources":["../src/platform-client.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "fda-mcp-server",
3
- "version": "0.0.15",
4
- "description": "MCP server for FDA Warning Letters, Form 483 Inspections, and Enforcement/Recall data. Query FDA public data from any MCP client.",
3
+ "version": "0.0.17",
4
+ "description": "11-tool MCP server for FDA enforcement intelligence. Free: recalls, device events, company profiles. Pro: CSA risk, citation analysis, supplier qualification, consent decrees. Enterprise: CSA recommendation, IEC 62304 SDLC, QMSR gap analysis, CAPA assessment.",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",
7
7
  "bin": {
@@ -32,15 +32,20 @@
32
32
  "medical-device",
33
33
  "pharma",
34
34
  "openfda",
35
- "model-context-protocol"
35
+ "model-context-protocol",
36
+ "consent-decree",
37
+ "csa",
38
+ "capa",
39
+ "iec-62304",
40
+ "qmsr"
36
41
  ],
37
42
  "author": "Jasen Carroll <jasen.c7@gmail.com>",
38
43
  "license": "MIT",
39
44
  "repository": {
40
45
  "type": "git",
41
- "url": "https://github.com/jasencarroll/fda-mcp-server"
46
+ "url": "https://github.com/jasencarroll/fda-platform"
42
47
  },
43
- "homepage": "https://github.com/jasencarroll/fda-mcp-server#readme",
48
+ "homepage": "https://github.com/jasencarroll/fda-platform#readme",
44
49
  "publishConfig": {
45
50
  "access": "public",
46
51
  "registry": "https://registry.npmjs.org/"