UNPKG

clinicaltrialsgov-mcp-server

Version:

Search ClinicalTrials.gov trials, retrieve study details and results, and match patients to eligible trials via MCP. STDIO or Streamable HTTP.

37 lines 1.23 kB
/** * @fileoverview Shared helpers for normalizing tool inputs into API search parameters. * @module mcp-server/tools/definitions/query-helpers */ export function toArray(v) { if (v === undefined) return; if (Array.isArray(v)) return v; const trimmed = v.trim(); if (trimmed.startsWith('[')) { try { const parsed = JSON.parse(trimmed); if (Array.isArray(parsed) && parsed.every((x) => typeof x === 'string')) { return parsed; } } catch { // Not valid JSON — fall through to the scalar-wrap (unchanged behavior). } } return [v]; } /** Build AREA[] phase filter and combine with user's advancedFilter. */ export function buildAdvancedFilter(phaseFilter, advancedFilter) { const parts = []; if (phaseFilter?.length) { const expr = phaseFilter.length === 1 ? `AREA[Phase]${phaseFilter[0]}` : `(${phaseFilter.map((p) => `AREA[Phase]${p}`).join(' OR ')})`; parts.push(expr); } if (advancedFilter) parts.push(advancedFilter); return parts.length > 0 ? parts.join(' AND ') : undefined; } //# sourceMappingURL=query-helpers.js.map