clinicaltrialsgov-mcp-server 2.9.4 → 2.9.5

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.
Files changed (28) hide show
  1. package/README.md +1 -1
  2. package/dist/mcp-server/tools/definitions/find-eligible.tool.d.ts.map +1 -1
  3. package/dist/mcp-server/tools/definitions/find-eligible.tool.js +15 -11
  4. package/dist/mcp-server/tools/definitions/find-eligible.tool.js.map +1 -1
  5. package/dist/mcp-server/tools/definitions/search-studies.tool.d.ts +2 -1
  6. package/dist/mcp-server/tools/definitions/search-studies.tool.d.ts.map +1 -1
  7. package/dist/mcp-server/tools/definitions/search-studies.tool.js +79 -21
  8. package/dist/mcp-server/tools/definitions/search-studies.tool.js.map +1 -1
  9. package/dist/mcp-server/tools/utils/geo-helpers.d.ts +24 -0
  10. package/dist/mcp-server/tools/utils/geo-helpers.d.ts.map +1 -1
  11. package/dist/mcp-server/tools/utils/geo-helpers.js +50 -0
  12. package/dist/mcp-server/tools/utils/geo-helpers.js.map +1 -1
  13. package/dist/mcp-server/tools/utils/query-helpers.d.ts +26 -1
  14. package/dist/mcp-server/tools/utils/query-helpers.d.ts.map +1 -1
  15. package/dist/mcp-server/tools/utils/query-helpers.js +36 -10
  16. package/dist/mcp-server/tools/utils/query-helpers.js.map +1 -1
  17. package/dist/mcp-server/tools/utils/recovery-hints.d.ts +1 -1
  18. package/dist/mcp-server/tools/utils/recovery-hints.d.ts.map +1 -1
  19. package/dist/mcp-server/tools/utils/recovery-hints.js +1 -1
  20. package/dist/mcp-server/tools/utils/recovery-hints.js.map +1 -1
  21. package/dist/services/clinical-trials/clinical-trials-service.d.ts.map +1 -1
  22. package/dist/services/clinical-trials/clinical-trials-service.js +5 -1
  23. package/dist/services/clinical-trials/clinical-trials-service.js.map +1 -1
  24. package/dist/services/clinical-trials/geo-filter-message.d.ts +9 -0
  25. package/dist/services/clinical-trials/geo-filter-message.d.ts.map +1 -0
  26. package/dist/services/clinical-trials/geo-filter-message.js +11 -0
  27. package/dist/services/clinical-trials/geo-filter-message.js.map +1 -0
  28. package/package.json +2 -2
package/README.md CHANGED
@@ -7,7 +7,7 @@
7
7
 
8
8
  <div align="center">
9
9
 
10
- [![npm](https://img.shields.io/npm/v/clinicaltrialsgov-mcp-server?style=flat-square&logo=npm&logoColor=white)](https://www.npmjs.com/package/clinicaltrialsgov-mcp-server) [![Docker](https://img.shields.io/badge/Docker-ghcr.io-2496ED?style=flat-square&logo=docker&logoColor=white)](https://github.com/users/cyanheads/packages/container/package/clinicaltrialsgov-mcp-server) [![Version](https://img.shields.io/badge/Version-2.9.4-blue.svg?style=flat-square)](./CHANGELOG.md) [![MCP SDK](https://img.shields.io/badge/MCP%20SDK-^2.0.0-green.svg?style=flat-square)](https://modelcontextprotocol.io/) [![License](https://img.shields.io/badge/License-Apache%202.0-orange.svg?style=flat-square)](./LICENSE) [![TypeScript](https://img.shields.io/badge/TypeScript-^7.0-3178C6.svg?style=flat-square)](https://www.typescriptlang.org/) [![Bun](https://img.shields.io/badge/Bun-v1.4.0-blueviolet.svg?style=flat-square)](https://bun.sh/)
10
+ [![npm](https://img.shields.io/npm/v/clinicaltrialsgov-mcp-server?style=flat-square&logo=npm&logoColor=white)](https://www.npmjs.com/package/clinicaltrialsgov-mcp-server) [![Docker](https://img.shields.io/badge/Docker-ghcr.io-2496ED?style=flat-square&logo=docker&logoColor=white)](https://github.com/users/cyanheads/packages/container/package/clinicaltrialsgov-mcp-server) [![Version](https://img.shields.io/badge/Version-2.9.5-blue.svg?style=flat-square)](./CHANGELOG.md) [![MCP SDK](https://img.shields.io/badge/MCP%20SDK-^2.0.0-green.svg?style=flat-square)](https://modelcontextprotocol.io/) [![License](https://img.shields.io/badge/License-Apache%202.0-orange.svg?style=flat-square)](./LICENSE) [![TypeScript](https://img.shields.io/badge/TypeScript-^7.0-3178C6.svg?style=flat-square)](https://www.typescriptlang.org/) [![Bun](https://img.shields.io/badge/Bun-v1.4.0-blueviolet.svg?style=flat-square)](https://bun.sh/)
11
11
 
12
12
  </div>
13
13
 
@@ -1 +1 @@
1
- {"version":3,"file":"find-eligible.tool.d.ts","sourceRoot":"","sources":["../../../../src/mcp-server/tools/definitions/find-eligible.tool.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAQ,CAAC,EAAE,MAAM,wBAAwB,CAAC;AACjD,OAAO,EAAE,gBAAgB,EAAE,MAAM,+BAA+B,CAAC;AAgJjE;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,wBAAgB,mBAAmB,CAAC,eAAe,EAAE,MAAM,EAAE,EAAE,SAAS,EAAE,MAAM,EAAE,GAAG,MAAM,CAiC1F;AA2CD,eAAO,MAAM,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA6gBvB,CAAC"}
1
+ {"version":3,"file":"find-eligible.tool.d.ts","sourceRoot":"","sources":["../../../../src/mcp-server/tools/definitions/find-eligible.tool.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAQ,CAAC,EAAE,MAAM,wBAAwB,CAAC;AACjD,OAAO,EAAE,gBAAgB,EAAE,MAAM,+BAA+B,CAAC;AAqJjE;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,wBAAgB,mBAAmB,CAAC,eAAe,EAAE,MAAM,EAAE,EAAE,SAAS,EAAE,MAAM,EAAE,GAAG,MAAM,CAiC1F;AA2CD,eAAO,MAAM,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAihBvB,CAAC"}
@@ -6,7 +6,7 @@ import { tool, z } from '@cyanheads/mcp-ts-core';
6
6
  import { JsonRpcErrorCode } from '@cyanheads/mcp-ts-core/errors';
7
7
  import { getClinicalTrialsService } from '../../../services/clinical-trials/clinical-trials-service.js';
8
8
  import { formatRemainingStudyFields } from '../utils/format-helpers.js';
9
- import { blankValueMessage, firstBlankListParam, firstBlankParam } from '../utils/query-helpers.js';
9
+ import { blankValueMessage, firstBlankListParam, firstBlankParam, quoteQueryTerm, } from '../utils/query-helpers.js';
10
10
  import { RECOVERY_HINTS } from '../utils/recovery-hints.js';
11
11
  /**
12
12
  * How closely a site's geography matches the user's stated location. City
@@ -281,7 +281,7 @@ export const findEligible = tool('clinicaltrials_find_eligible', {
281
281
  conditions: z.array(z.string()).describe('Conditions searched.'),
282
282
  location: z
283
283
  .string()
284
- .describe('The exact queryLocn string sent upstream (city/state/country joined). Pass as locationQuery to clinicaltrials_search_studies to reproduce the location filter beyond the maxResults cap.'),
284
+ .describe('The exact queryLocn string sent upstream (city/state/country, multi-word components quoted, AND-joined). Pass as locationQuery to clinicaltrials_search_studies to reproduce the location filter beyond the maxResults cap.'),
285
285
  age: z.number().describe('Patient age.'),
286
286
  sex: z.string().describe('Patient sex.'),
287
287
  conditionQuery: z
@@ -365,15 +365,19 @@ export const findEligible = tool('clinicaltrials_find_eligible', {
365
365
  });
366
366
  }
367
367
  const service = getClinicalTrialsService();
368
- const conditionQuery = input.conditions
369
- .map((c) => (c.includes(' ') ? `"${c}"` : c))
370
- .join(' OR ');
371
- const locationParts = [
372
- input.location.city,
373
- input.location.state,
374
- input.location.country,
375
- ].filter(Boolean);
376
- const locationQuery = locationParts.join(', ');
368
+ const conditionQuery = input.conditions.map(quoteQueryTerm).join(' OR ');
369
+ // Each component is preserved as a literal phrase and joined with an
370
+ // explicit AND. A comma-joined multiword location reached upstream as loose
371
+ // tokens and scored zero against studies that list exactly that site, so
372
+ // the tool reported no trials in a location that has them — and told the
373
+ // patient to drop the location. Quoting alone is not enough: the comma
374
+ // separator fails outright once components are quoted. One string feeds the
375
+ // main search, the location-stage funnel count, and the searchCriteria
376
+ // echo, so they cannot diverge.
377
+ const locationQuery = [input.location.city, input.location.state, input.location.country]
378
+ .filter((part) => Boolean(part))
379
+ .map(quoteQueryTerm)
380
+ .join(' AND ');
377
381
  const statusFilter = input.recruitingOnly ? ['RECRUITING'] : undefined;
378
382
  /**
379
383
  * Each age bound is ORed with its MISSING counterpart. An
@@ -1 +1 @@
1
- {"version":3,"file":"find-eligible.tool.js","sourceRoot":"","sources":["../../../../src/mcp-server/tools/definitions/find-eligible.tool.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"find-eligible.tool.js","sourceRoot":"","sources":["../../../../src/mcp-server/tools/definitions/find-eligible.tool.ts"],"names":[],"mappings":"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"}
@@ -28,6 +28,7 @@ export declare const searchStudies: import("@cyanheads/mcp-ts-core").ToolDefinit
28
28
  totalCount: z.ZodOptional<z.ZodNumber>;
29
29
  nextPageToken: z.ZodOptional<z.ZodString>;
30
30
  requestedFields: z.ZodOptional<z.ZodArray<z.ZodString>>;
31
+ pageExhausted: z.ZodOptional<z.ZodBoolean>;
31
32
  }, z.core.$strip>, readonly [{
32
33
  readonly reason: "blank_value";
33
34
  readonly code: JsonRpcErrorCode.ValidationError;
@@ -57,7 +58,7 @@ export declare const searchStudies: import("@cyanheads/mcp-ts-core").ToolDefinit
57
58
  readonly reason: "geo_invalid";
58
59
  readonly code: JsonRpcErrorCode.ValidationError;
59
60
  readonly when: "geoFilter is not a well-formed distance(lat,lon,radius) expression.";
60
- readonly recovery: "Build geoFilter as distance(lat,lon,radius) with a `mi` or `km` suffix on the radius, e.g. distance(47.6062,-122.3321,50mi) — a bare radius is read as meters. Look up the city coordinates first.";
61
+ readonly recovery: "Build geoFilter as distance(lat,lon,radius) with a `mi` or `km` suffix on the radius, e.g. distance(47.6062,-122.3321,50mi) — a bare radius is rejected, since upstream would read it as meters. Keep latitude within [-90, 90], longitude within [-180, 180], and the radius above 0. Look up the city coordinates first.";
61
62
  }, {
62
63
  readonly reason: "sort_invalid";
63
64
  readonly code: JsonRpcErrorCode.ValidationError;
@@ -1 +1 @@
1
- {"version":3,"file":"search-studies.tool.d.ts","sourceRoot":"","sources":["../../../../src/mcp-server/tools/definitions/search-studies.tool.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAQ,CAAC,EAAE,MAAM,wBAAwB,CAAC;AACjD,OAAO,EAAE,gBAAgB,EAAE,MAAM,+BAA+B,CAAC;AAwPjE,eAAO,MAAM,aAAa;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA0axB,CAAC"}
1
+ {"version":3,"file":"search-studies.tool.d.ts","sourceRoot":"","sources":["../../../../src/mcp-server/tools/definitions/search-studies.tool.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAQ,CAAC,EAAE,MAAM,wBAAwB,CAAC;AACjD,OAAO,EAAE,gBAAgB,EAAE,MAAM,+BAA+B,CAAC;AA6QjE,eAAO,MAAM,aAAa;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAydxB,CAAC"}
@@ -8,20 +8,39 @@ import { getServerConfig } from '../../../config/server-config.js';
8
8
  import { getClinicalTrialsService } from '../../../services/clinical-trials/clinical-trials-service.js';
9
9
  import { nctIdSchema } from '../utils/_schemas.js';
10
10
  import { formatRemainingStudyFields } from '../utils/format-helpers.js';
11
- import { haversineMi, parseGeoFilterCenter, } from '../utils/geo-helpers.js';
11
+ import { describeGeoFilterRejection, haversineMi, parseGeoFilterCenter, } from '../utils/geo-helpers.js';
12
12
  import { blankValueMessage, buildAdvancedFilter, firstBlankListParam, firstBlankParam, toArray, } from '../utils/query-helpers.js';
13
13
  import { RECOVERY_HINTS } from '../utils/recovery-hints.js';
14
14
  const { maxPageSize } = getServerConfig();
15
- /** Dot-notation prefixes already rendered by the search formatter. */
15
+ /**
16
+ * Dot-notation prefixes already rendered by the search formatter, named at the
17
+ * leaf the dedicated renderers actually emit.
18
+ *
19
+ * Excluding a whole subtree here drops every leaf under it from the field-dump
20
+ * fallback, so a subtree the renderers cover only partly lost the rest —
21
+ * `enrollmentInfo.type`, `leadSponsor.class`, `locations[].zip` and
22
+ * `locations[].contacts[]` survived in structuredContent but never reached
23
+ * content[], even when the caller named them in `fields`. Leaf-level prefixes
24
+ * route everything the renderers skip back through the shared fallback, which
25
+ * already carries the array-entry attribution and label widening those leaves
26
+ * need. Array indices sit outside the dotted path, so one entry here covers
27
+ * every entry of `locations[]`.
28
+ */
16
29
  const SEARCH_RENDERED = new Set([
17
30
  'protocolSection.identificationModule.nctId',
18
31
  'protocolSection.identificationModule.briefTitle',
19
32
  'protocolSection.statusModule.overallStatus',
20
33
  'protocolSection.designModule.phases',
21
- 'protocolSection.designModule.enrollmentInfo',
22
- 'protocolSection.sponsorCollaboratorsModule.leadSponsor',
34
+ 'protocolSection.designModule.enrollmentInfo.count',
35
+ 'protocolSection.sponsorCollaboratorsModule.leadSponsor.name',
23
36
  'protocolSection.conditionsModule.conditions',
24
- 'protocolSection.contactsLocationsModule.locations',
37
+ 'protocolSection.contactsLocationsModule.locations.facility',
38
+ 'protocolSection.contactsLocationsModule.locations.city',
39
+ 'protocolSection.contactsLocationsModule.locations.state',
40
+ 'protocolSection.contactsLocationsModule.locations.country',
41
+ 'protocolSection.contactsLocationsModule.locations.status',
42
+ 'protocolSection.contactsLocationsModule.locations.geoPoint',
43
+ 'protocolSection.contactsLocationsModule.locations.distanceMi',
25
44
  ]);
26
45
  /**
27
46
  * When a geoFilter is active, re-rank each study's `locations[]` by proximity to
@@ -145,12 +164,13 @@ function renderIndexEntry(entry) {
145
164
  return lines;
146
165
  }
147
166
  /**
148
- * Render every site in a requested-`fields` study. The field-dump fallback dedups
149
- * object-array leaves by label (so it would collapse `locations[]` to the lead
150
- * site) and SEARCH_RENDERED suppresses the `locations` subtree from it — a
151
- * dedicated loop is the only way sites 2..N reach content[]. Carries every typed
152
- * StudyLocation leaf (place, status, distance, geoPoint) so any requested
153
- * location field has channel parity. Mirrors get-study's Locations loop.
167
+ * Render the place, status and distance of every site in a requested-`fields`
168
+ * study. The field-dump fallback dedups object-array leaves by label (so it
169
+ * would collapse these to the lead site), which is why the loop is dedicated;
170
+ * the leaves it emits are the ones SEARCH_RENDERED suppresses. Every other
171
+ * location leaf — `zip`, `contacts[]`, anything upstream adds — flows through
172
+ * the fallback, which attributes it to its own site. Mirrors get-study's
173
+ * Locations loop.
154
174
  */
155
175
  function renderSiteLines(locations) {
156
176
  const lines = [` Locations (${locations.length}):`];
@@ -306,7 +326,7 @@ export const searchStudies = tool('clinicaltrials_search_studies', {
306
326
  geoFilter: z
307
327
  .string()
308
328
  .optional()
309
- .describe(`Geographic proximity filter. Format: distance(lat,lon,radius), where radius carries a \`mi\` or \`km\` suffix — e.g. "distance(47.6062,-122.3321,50mi)" for studies within 50 miles of Seattle. Always include the suffix: a bare radius is accepted upstream but interpreted as meters, which silently matches almost nothing. When set, each study's locations are re-sorted by proximity to the center so the nearest matched site leads, annotated with its distance in miles; the full location list is preserved.`),
329
+ .describe(`Geographic proximity filter. Format: distance(lat,lon,radius), where radius carries a \`mi\` or \`km\` suffix — e.g. "distance(47.6062,-122.3321,50mi)" for studies within 50 miles of Seattle. The suffix is required: a radius with no unit is rejected, as are a non-positive radius, a latitude outside [-90, 90], and a longitude outside [-180, 180]. When set, each study's locations are re-sorted by proximity to the center so the nearest matched site leads, annotated with its distance in miles; the full location list is preserved.`),
310
330
  nctIds: z
311
331
  .union([
312
332
  nctIdSchema.describe('A single NCT ID.'),
@@ -355,6 +375,10 @@ export const searchStudies = tool('clinicaltrials_search_studies', {
355
375
  .array(z.string())
356
376
  .optional()
357
377
  .describe('Echo of the explicit fields parameter — present only when the caller passed fields. Signals that studies carry the requested leaves at full fidelity (not the default compact index) and that the rendered truncation cap is lifted so all of them appear.'),
378
+ pageExhausted: z
379
+ .boolean()
380
+ .optional()
381
+ .describe('True when this call supplied a pageToken and the continuation page came back empty — the walk is finished and no further pages exist. Absent on every other response, including an empty first page, which is an unmatched search rather than exhausted pagination.'),
358
382
  }),
359
383
  // Agent-facing context — query echo and empty-result guidance, disjoint from output.
360
384
  enrichment: {
@@ -365,7 +389,7 @@ export const searchStudies = tool('clinicaltrials_search_studies', {
365
389
  notice: z
366
390
  .string()
367
391
  .optional()
368
- .describe('Recovery guidance when no studies matched — echoes the constraint and suggests how to broaden. Absent on pages with results.'),
392
+ .describe('Recovery guidance when no studies matched — echoes the constraint and suggests how to broaden. Absent on pages with results, and on an exhausted continuation page, where the cohort already matched and there is nothing to broaden.'),
369
393
  },
370
394
  enrichmentTrailer: {
371
395
  searchCriteria: {
@@ -405,6 +429,7 @@ export const searchStudies = tool('clinicaltrials_search_studies', {
405
429
  advancedFilter: input.advancedFilter,
406
430
  geoFilter: input.geoFilter,
407
431
  sort: input.sort,
432
+ pageToken: input.pageToken,
408
433
  }) ??
409
434
  firstBlankListParam({ fields: input.fields, statusFilter, phaseFilter, nctIds: filterIds });
410
435
  if (blankParam) {
@@ -413,6 +438,21 @@ export const searchStudies = tool('clinicaltrials_search_studies', {
413
438
  ...ctx.recoveryFor('blank_value'),
414
439
  });
415
440
  }
441
+ // Validate the geo expression before spending a round trip on it.
442
+ // ClinicalTrials.gov answers a unit-less radius with an empty 200 (read as
443
+ // metres), a zero radius with a 500 through the whole retry budget, and an
444
+ // out-of-range coordinate with an unclassifiable 400 — so three ordinary
445
+ // input mistakes reached the caller as an empty cohort, a service outage,
446
+ // and a reason-less validation error respectively. Handler-level, like the
447
+ // blank check above: a schema-level constraint is classified InvalidParams
448
+ // before the handler runs, where the declared geo_invalid contract and its
449
+ // recovery hint are unreachable.
450
+ if (input.geoFilter) {
451
+ const geoRejection = describeGeoFilterRejection(input.geoFilter);
452
+ if (geoRejection) {
453
+ throw ctx.fail('geo_invalid', geoRejection, ctx.recoveryFor('geo_invalid'));
454
+ }
455
+ }
416
456
  // An ID-targeted lookup must never silently filter the caller's selection,
417
457
  // so supplying nctIds lifts the default unknown-enrollment exclusion — the
418
458
  // rule getStudiesBatch and find_eligible already follow. Without it, an
@@ -487,8 +527,16 @@ export const searchStudies = tool('clinicaltrials_search_studies', {
487
527
  criteria.sentinelFilterActive = true;
488
528
  if (Object.keys(criteria).length > 0)
489
529
  ctx.enrich({ searchCriteria: criteria });
490
- // Recovery guidance only when nothing matched.
491
- if (result.studies.length === 0) {
530
+ // An empty continuation page is pagination finishing, not a search failing.
531
+ // Upstream offers nothing to tell the two apart — an exhausted page carries
532
+ // neither totalCount nor nextPageToken — so whether this call itself
533
+ // supplied a cursor is the only available signal, and no look-ahead request
534
+ // or cross-call state is needed to read it.
535
+ const pageExhausted = input.pageToken !== undefined && result.studies.length === 0;
536
+ // Recovery guidance only when nothing matched. Withheld on an exhausted
537
+ // continuation: that cohort already matched on earlier pages, so telling
538
+ // the caller to broaden the query misreads finished pagination as failure.
539
+ if (result.studies.length === 0 && !pageExhausted) {
492
540
  const hasQuery = input.query ||
493
541
  input.conditionQuery ||
494
542
  input.interventionQuery ||
@@ -542,19 +590,29 @@ export const searchStudies = tool('clinicaltrials_search_studies', {
542
590
  studies,
543
591
  ...(nextPageToken !== undefined && !exhausted ? { nextPageToken } : {}),
544
592
  ...(input.fields?.length ? { requestedFields: input.fields } : {}),
593
+ ...(pageExhausted ? { pageExhausted } : {}),
545
594
  };
546
595
  },
547
596
  format: (result) => {
548
597
  const lines = [];
549
598
  const count = result.studies.length;
550
- if (count === 0) {
551
- lines.push('No studies matched the search criteria.');
599
+ // What kind of page this is and how many studies it holds are separate
600
+ // lines, not one if/else chain. A finished walk and an unmatched search are
601
+ // different answers, so the exhaustion line replaces the no-match line
602
+ // rather than joining it — an exhausted page is always empty, so only one
603
+ // of the two ever fires. Keeping the count out of that chain is also what
604
+ // lets the definition linter's synthetic sample reach both pageExhausted
605
+ // and totalCount and confirm each one renders.
606
+ if (result.pageExhausted) {
607
+ lines.push('This continuation page is past the end of the results — the previous page was the last one carrying studies, and no further pages exist.');
552
608
  }
553
- else if (result.totalCount !== undefined) {
554
- lines.push(`Found ${count} studies (${result.totalCount} total matching)`);
609
+ else if (count === 0) {
610
+ lines.push('No studies matched the search criteria.');
555
611
  }
556
- else {
557
- lines.push(`Found ${count} studies`);
612
+ if (count > 0) {
613
+ lines.push(result.totalCount === undefined
614
+ ? `Found ${count} studies`
615
+ : `Found ${count} studies (${result.totalCount} total matching)`);
558
616
  }
559
617
  if (result.requestedFields?.length) {
560
618
  lines.push(`Requested fields: ${result.requestedFields.join(', ')}`);
@@ -1 +1 @@
1
- {"version":3,"file":"search-studies.tool.js","sourceRoot":"","sources":["../../../../src/mcp-server/tools/definitions/search-studies.tool.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,IAAI,EAAE,CAAC,EAAE,MAAM,wBAAwB,CAAC;AACjD,OAAO,EAAE,gBAAgB,EAAE,MAAM,+BAA+B,CAAC;AACjE,OAAO,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAC;AAC5D,OAAO,EAAE,wBAAwB,EAAE,MAAM,uDAAuD,CAAC;AAEjG,OAAO,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AACnD,OAAO,EAAE,0BAA0B,EAAE,MAAM,4BAA4B,CAAC;AACxE,OAAO,EACL,WAAW,EAEX,oBAAoB,GACrB,MAAM,yBAAyB,CAAC;AACjC,OAAO,EACL,iBAAiB,EACjB,mBAAmB,EACnB,mBAAmB,EACnB,eAAe,EACf,OAAO,GACR,MAAM,2BAA2B,CAAC;AACnC,OAAO,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAE5D,MAAM,EAAE,WAAW,EAAE,GAAG,eAAe,EAAE,CAAC;AAE1C,sEAAsE;AACtE,MAAM,eAAe,GAAG,IAAI,GAAG,CAAC;IAC9B,4CAA4C;IAC5C,iDAAiD;IACjD,4CAA4C;IAC5C,qCAAqC;IACrC,6CAA6C;IAC7C,wDAAwD;IACxD,6CAA6C;IAC7C,mDAAmD;CACpD,CAAC,CAAC;AAEH;;;;;;;GAOG;AACH,SAAS,0BAA0B,CACjC,OAAwB,EACxB,MAAoC;IAEpC,KAAK,MAAM,KAAK,IAAI,OAAO,EAAE,CAAC;QAC5B,MAAM,eAAe,GAAG,KAAK,CAAC,eAAe,EAAE,uBAAuB,CAAC;QACvE,MAAM,SAAS,GAAG,eAAe,EAAE,SAAS,CAAC;QAC7C,IAAI,CAAC,eAAe,IAAI,CAAC,SAAS,EAAE,MAAM;YAAE,SAAS;QACrD,MAAM,OAAO,GAAG,SAAS;aACtB,MAAM,CACL,CAAC,CAAC,EAAmE,EAAE,CAAC,CAAC,CAAC,QAAQ,IAAI,IAAI,CAC3F;aACA,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,UAAU,EAAE,WAAW,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;aACnE,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,UAAU,GAAG,CAAC,CAAC,UAAU,CAAC,CAAC;QAC/C,MAAM,UAAU,GAAG,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,IAAI,IAAI,CAAC,CAAC;QAC/D,eAAe,CAAC,SAAS,GAAG,CAAC,GAAG,OAAO,EAAE,GAAG,UAAU,CAAC,CAAC;IAC1D,CAAC;AACH,CAAC;AAwCD,kFAAkF;AAClF,SAAS,WAAW,CAAC,GAAyB;IAC5C,MAAM,IAAI,GAAgB,EAAE,CAAC;IAC7B,IAAI,GAAG,CAAC,QAAQ,IAAI,IAAI;QAAE,IAAI,CAAC,QAAQ,GAAG,GAAG,CAAC,QAAQ,CAAC;IACvD,IAAI,GAAG,CAAC,IAAI,IAAI,IAAI;QAAE,IAAI,CAAC,IAAI,GAAG,GAAG,CAAC,IAAI,CAAC;IAC3C,IAAI,GAAG,CAAC,KAAK,IAAI,IAAI;QAAE,IAAI,CAAC,KAAK,GAAG,GAAG,CAAC,KAAK,CAAC;IAC9C,IAAI,GAAG,CAAC,OAAO,IAAI,IAAI;QAAE,IAAI,CAAC,OAAO,GAAG,GAAG,CAAC,OAAO,CAAC;IACpD,IAAI,GAAG,CAAC,UAAU,IAAI,IAAI;QAAE,IAAI,CAAC,UAAU,GAAG,GAAG,CAAC,UAAU,CAAC;IAC7D,OAAO,IAAI,CAAC;AACd,CAAC;AAED;;;;;;GAMG;AACH,SAAS,iBAAiB,CAAC,KAAoB;IAC7C,MAAM,EAAE,GAAG,KAAK,CAAC,eAAe,CAAC;IACjC,MAAM,EAAE,GAAG,EAAE,EAAE,oBAAoB,CAAC;IACpC,MAAM,MAAM,GAAG,EAAE,EAAE,YAAY,CAAC;IAChC,MAAM,KAAK,GAAoB,EAAE,CAAC;IAClC,IAAI,EAAE,EAAE,KAAK,IAAI,IAAI;QAAE,KAAK,CAAC,KAAK,GAAG,EAAE,CAAC,KAAK,CAAC;IAC9C,IAAI,EAAE,EAAE,UAAU,IAAI,IAAI;QAAE,KAAK,CAAC,UAAU,GAAG,EAAE,CAAC,UAAU,CAAC;IAC7D,MAAM,MAAM,GAAG,EAAE,EAAE,YAAY,EAAE,aAAa,CAAC;IAC/C,IAAI,MAAM,IAAI,IAAI;QAAE,KAAK,CAAC,aAAa,GAAG,MAAM,CAAC;IACjD,IAAI,MAAM,EAAE,MAAM,EAAE,MAAM;QAAE,KAAK,CAAC,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC;IACzD,MAAM,UAAU,GAAG,MAAM,EAAE,cAAc,EAAE,KAAK,CAAC;IACjD,IAAI,UAAU,IAAI,IAAI;QAAE,KAAK,CAAC,eAAe,GAAG,UAAU,CAAC;IAC3D,MAAM,OAAO,GAAG,EAAE,EAAE,0BAA0B,EAAE,WAAW,EAAE,IAAI,CAAC;IAClE,IAAI,OAAO,IAAI,IAAI;QAAE,KAAK,CAAC,WAAW,GAAG,OAAO,CAAC;IACjD,MAAM,UAAU,GAAG,EAAE,EAAE,gBAAgB,EAAE,UAAU,CAAC;IACpD,IAAI,UAAU,EAAE,MAAM;QAAE,KAAK,CAAC,UAAU,GAAG,UAAU,CAAC;IAEtD,MAAM,SAAS,GAAG,EAAE,EAAE,uBAAuB,EAAE,SAA+C,CAAC;IAC/F,IAAI,SAAS,EAAE,MAAM,EAAE,CAAC;QACtB,MAAM,IAAI,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC;QAC1B,MAAM,OAAO,GAAG,IAAI,CAAC,CAAC,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;QACrD,KAAK,CAAC,SAAS,GAAG;YAChB,KAAK,EAAE,SAAS,CAAC,MAAM;YACvB,GAAG,CAAC,OAAO,IAAI,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SACnE,CAAC;IACJ,CAAC;IACD,8EAA8E;IAC9E,+DAA+D;IAC/D,OAAO,EAAE,GAAG,KAAK,EAAE,CAAC;AACtB,CAAC;AAED,0EAA0E;AAC1E,SAAS,qBAAqB,CAAC,CAAoB;IACjD,MAAM,KAAK,GAAG,CAAC,CAAC,KAAK,IAAI,SAAS,CAAC;IACnC,MAAM,QAAQ,GAAG,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;IACzD,MAAM,SAAS,GAAG,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,aAAa,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;IACjE,MAAM,IAAI,GAAa,EAAE,CAAC;IAC1B,IAAI,CAAC,CAAC,MAAM,EAAE,MAAM;QAAE,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;IACpD,IAAI,CAAC,CAAC,eAAe,IAAI,IAAI;QAAE,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,eAAe,EAAE,CAAC,CAAC;IACnE,IAAI,CAAC,CAAC,WAAW;QAAE,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC;IAC5C,IAAI,CAAC,CAAC,UAAU,EAAE,MAAM;QAAE,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;IAC7D,MAAM,OAAO,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;IAC7D,OAAO,OAAO,KAAK,KAAK,QAAQ,GAAG,SAAS,GAAG,OAAO,EAAE,CAAC;AAC3D,CAAC;AAED,mFAAmF;AACnF,SAAS,gBAAgB,CAAC,KAAsB;IAC9C,MAAM,KAAK,GAAa,CAAC,qBAAqB,CAAC,KAAK,CAAC,CAAC,CAAC;IAEvD,8EAA8E;IAC9E,6EAA6E;IAC7E,4EAA4E;IAC5E,6DAA6D;IAC7D,MAAM,IAAI,GAAG,KAAK,CAAC,SAAS,EAAE,OAAO,CAAC;IACtC,IAAI,IAAI,EAAE,CAAC;QACT,MAAM,KAAK,GAAG,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC9F,IAAI,KAAK,EAAE,CAAC;YACV,MAAM,KAAK,GAAG,KAAK,CAAC,SAAS,EAAE,KAAK,IAAI,CAAC,CAAC;YAC1C,IAAI,IAAI,CAAC,UAAU,IAAI,IAAI,EAAE,CAAC;gBAC5B,MAAM,QAAQ,GAAG,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC;gBACvD,KAAK,CAAC,IAAI,CACR,mBAAmB,KAAK,KAAK,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC,4BAA4B,QAAQ,GAAG,CAC/F,CAAC;YACJ,CAAC;iBAAM,CAAC;gBACN,MAAM,QAAQ,GAAG,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,UAAU,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC;gBAC3D,KAAK,CAAC,IAAI,CAAC,WAAW,KAAK,GAAG,QAAQ,EAAE,CAAC,CAAC;YAC5C,CAAC;QACH,CAAC;IACH,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED;;;;;;;GAOG;AACH,SAAS,eAAe,CAAC,SAAiC;IACxD,MAAM,KAAK,GAAG,CAAC,gBAAgB,SAAS,CAAC,MAAM,IAAI,CAAC,CAAC;IACrD,KAAK,MAAM,GAAG,IAAI,SAAS,EAAE,CAAC;QAC5B,MAAM,KAAK,GAAG,CAAC,GAAG,CAAC,QAAQ,EAAE,GAAG,CAAC,IAAI,EAAE,GAAG,CAAC,KAAK,EAAE,GAAG,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC1F,MAAM,UAAU,GAAG,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;QACxD,MAAM,QAAQ,GAAG,GAAG,CAAC,UAAU,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC;QACpF,MAAM,OAAO,GAAG,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,QAAQ,CAAC,GAAG,IAAI,GAAG,CAAC,QAAQ,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAChF,KAAK,CAAC,IAAI,CAAC,SAAS,KAAK,IAAI,gBAAgB,GAAG,UAAU,GAAG,QAAQ,GAAG,OAAO,EAAE,CAAC,CAAC;IACrF,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED;;;;;;GAMG;AACH,SAAS,0BAA0B,CAAC,KAA8B;IAChE,MAAM,CAAC,GAAG,KAAsB,CAAC;IACjC,MAAM,EAAE,GAAG,CAAC,CAAC,eAAe,CAAC;IAC7B,MAAM,KAAK,GAAa;QACtB,qBAAqB,CAAC;YACpB,KAAK,EAAE,EAAE,EAAE,oBAAoB,EAAE,KAAK;YACtC,UAAU,EAAE,EAAE,EAAE,oBAAoB,EAAE,UAAU;YAChD,aAAa,EAAE,EAAE,EAAE,YAAY,EAAE,aAAa;YAC9C,MAAM,EAAE,EAAE,EAAE,YAAY,EAAE,MAAM;YAChC,eAAe,EAAE,EAAE,EAAE,YAAY,EAAE,cAAc,EAAE,KAAK;YACxD,WAAW,EAAE,EAAE,EAAE,0BAA0B,EAAE,WAAW,EAAE,IAAI;YAC9D,UAAU,EAAE,EAAE,EAAE,gBAAgB,EAAE,UAAU;SAC7C,CAAC;KACH,CAAC;IAEF,MAAM,SAAS,GAAG,EAAE,EAAE,uBAAuB,EAAE,SAA+C,CAAC;IAC/F,IAAI,SAAS,EAAE,MAAM;QAAE,KAAK,CAAC,IAAI,CAAC,GAAG,eAAe,CAAC,SAAS,CAAC,CAAC,CAAC;IAEjE,6EAA6E;IAC7E,+EAA+E;IAC/E,iFAAiF;IACjF,8EAA8E;IAC9E,2BAA2B;IAC3B,KAAK,CAAC,IAAI,CACR,GAAG,0BAA0B,CAAC,KAAK,EAAE,eAAe,EAAE;QACpD,QAAQ,EAAE,MAAM,CAAC,iBAAiB;QAClC,WAAW,EAAE,MAAM,CAAC,iBAAiB;KACtC,CAAC,CACH,CAAC;IACF,OAAO,KAAK,CAAC;AACf,CAAC;AAED,MAAM,CAAC,MAAM,aAAa,GAAG,IAAI,CAAC,+BAA+B,EAAE;IACjE,WAAW,EAAE,2UAA2U;IACxV,WAAW,EAAE;QACX,YAAY,EAAE,IAAI;QAClB,cAAc,EAAE,IAAI;QACpB,aAAa,EAAE,IAAI;KACpB;IAED,MAAM,EAAE;QACN;YACE,MAAM,EAAE,aAAa;YACrB,IAAI,EAAE,gBAAgB,CAAC,eAAe;YACtC,IAAI,EAAE,8EAA8E;YACpF,QAAQ,EAAE,cAAc,CAAC,WAAW;SACrC;QACD;YACE,MAAM,EAAE,eAAe;YACvB,IAAI,EAAE,gBAAgB,CAAC,QAAQ;YAC/B,IAAI,EAAE,iFAAiF;YACvF,QAAQ,EAAE,cAAc,CAAC,aAAa;SACvC;QACD;YACE,MAAM,EAAE,eAAe;YACvB,IAAI,EAAE,gBAAgB,CAAC,eAAe;YACtC,IAAI,EAAE,qHAAqH;YAC3H,QAAQ,EAAE,cAAc,CAAC,aAAa;SACvC;QACD;YACE,MAAM,EAAE,cAAc;YACtB,IAAI,EAAE,gBAAgB,CAAC,eAAe;YACtC,IAAI,EAAE,kFAAkF;YACxF,QAAQ,EAAE,cAAc,CAAC,YAAY;SACtC;QACD;YACE,MAAM,EAAE,mBAAmB;YAC3B,IAAI,EAAE,gBAAgB,CAAC,eAAe;YACtC,IAAI,EAAE,wPAAwP;YAC9P,QAAQ,EAAE,cAAc,CAAC,iBAAiB;SAC3C;QACD;YACE,MAAM,EAAE,aAAa;YACrB,IAAI,EAAE,gBAAgB,CAAC,eAAe;YACtC,IAAI,EAAE,qEAAqE;YAC3E,QAAQ,EAAE,cAAc,CAAC,WAAW;SACrC;QACD;YACE,MAAM,EAAE,cAAc;YACtB,IAAI,EAAE,gBAAgB,CAAC,eAAe;YACtC,IAAI,EAAE,0EAA0E;YAChF,QAAQ,EAAE,cAAc,CAAC,YAAY;SACtC;QACD;YACE,MAAM,EAAE,cAAc;YACtB,IAAI,EAAE,gBAAgB,CAAC,WAAW;YAClC,IAAI,EAAE,+DAA+D;YACrE,QAAQ,EAAE,cAAc,CAAC,YAAY;YACrC,SAAS,EAAE,IAAI;SAChB;KACF;IAED,KAAK,EAAE,CAAC,CAAC,MAAM,CAAC;QACd,KAAK,EAAE,CAAC;aACL,MAAM,EAAE;aACR,QAAQ,EAAE;aACV,QAAQ,CACP,m8BAAm8B,CACp8B;QACH,cAAc,EAAE,CAAC;aACd,MAAM,EAAE;aACR,QAAQ,EAAE;aACV,QAAQ,CACP,ulBAAulB,CACxlB;QACH,iBAAiB,EAAE,CAAC;aACjB,MAAM,EAAE;aACR,QAAQ,EAAE;aACV,QAAQ,CACP,kqBAAkqB,CACnqB;QACH,aAAa,EAAE,CAAC;aACb,MAAM,EAAE;aACR,QAAQ,EAAE;aACV,QAAQ,CACP,gaAAga,CACja;QACH,YAAY,EAAE,CAAC;aACZ,MAAM,EAAE;aACR,QAAQ,EAAE;aACV,QAAQ,CACP,+TAA+T,CAChU;QACH,UAAU,EAAE,CAAC;aACV,MAAM,EAAE;aACR,QAAQ,EAAE;aACV,QAAQ,CACP,+TAA+T,CAChU;QACH,YAAY,EAAE,CAAC;aACZ,MAAM,EAAE;aACR,QAAQ,EAAE;aACV,QAAQ,CACP,gmBAAgmB,CACjmB;QACH,YAAY,EAAE,CAAC;aACZ,KAAK,CAAC;YACL,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,wBAAwB,CAAC;YAC7C,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,CAAC,8BAA8B,CAAC;SAC7D,CAAC;aACD,QAAQ,EAAE;aACV,QAAQ,CACP,yVAAyV,CAC1V;QACH,WAAW,EAAE,CAAC;aACX,KAAK,CAAC;YACL,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,uBAAuB,CAAC;YAC5C,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,CAAC,6BAA6B,CAAC;SAC5D,CAAC;aACD,QAAQ,EAAE;aACV,QAAQ,CACP,qKAAqK,CACtK;QACH,cAAc,EAAE,CAAC;aACd,MAAM,EAAE;aACR,QAAQ,EAAE;aACV,QAAQ,CACP,ibAAib,CAClb;QACH,SAAS,EAAE,CAAC;aACT,MAAM,EAAE;aACR,QAAQ,EAAE;aACV,QAAQ,CACP,yfAAyf,CAC1f;QACH,MAAM,EAAE,CAAC;aACN,KAAK,CAAC;YACL,WAAW,CAAC,QAAQ,CAAC,kBAAkB,CAAC;YACxC,CAAC,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC,QAAQ,CAAC,wBAAwB,CAAC;SACxD,CAAC;aACD,QAAQ,EAAE;aACV,QAAQ,CACP,6PAA6P,CAC9P;QACH,MAAM,EAAE,CAAC;aACN,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;aACjB,QAAQ,EAAE;aACV,QAAQ,CACP,kaAAka,CACna;QACH,IAAI,EAAE,CAAC;aACJ,MAAM,EAAE;aACR,QAAQ,EAAE;aACV,QAAQ,CACP,shBAAshB,CACvhB;QACH,QAAQ,EAAE,CAAC;aACR,MAAM,EAAE;aACR,GAAG,EAAE;aACL,GAAG,CAAC,CAAC,CAAC;aACN,GAAG,CAAC,WAAW,CAAC;aAChB,OAAO,CAAC,EAAE,CAAC;aACX,QAAQ,CAAC,uBAAuB,WAAW,GAAG,CAAC;QAClD,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,6CAA6C,CAAC;QACxF,UAAU,EAAE,CAAC;aACV,OAAO,EAAE;aACT,OAAO,CAAC,IAAI,CAAC;aACb,QAAQ,CAAC,yEAAyE,CAAC;QACtF,wBAAwB,EAAE,CAAC;aACxB,OAAO,EAAE;aACT,OAAO,CAAC,KAAK,CAAC;aACd,QAAQ,CACP,oRAAoR,CACrR;KACJ,CAAC;IAEF,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC;QACf,OAAO,EAAE,CAAC;aACP,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC;aACxC,QAAQ,CACP,gcAAgc,CACjc;QACH,UAAU,EAAE,CAAC;aACV,MAAM,EAAE;aACR,QAAQ,EAAE;aACV,QAAQ,CAAC,gEAAgE,CAAC;QAC7E,aAAa,EAAE,CAAC;aACb,MAAM,EAAE;aACR,QAAQ,EAAE;aACV,QAAQ,CACP,0QAA0Q,CAC3Q;QACH,eAAe,EAAE,CAAC;aACf,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;aACjB,QAAQ,EAAE;aACV,QAAQ,CACP,4PAA4P,CAC7P;KACJ,CAAC;IAEF,qFAAqF;IACrF,UAAU,EAAE;QACV,cAAc,EAAE,CAAC;aACd,MAAM,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC;aAC/B,QAAQ,EAAE;aACV,QAAQ,CACP,oLAAoL,CACrL;QACH,MAAM,EAAE,CAAC;aACN,MAAM,EAAE;aACR,QAAQ,EAAE;aACV,QAAQ,CACP,8HAA8H,CAC/H;KACJ;IAED,iBAAiB,EAAE;QACjB,cAAc,EAAE;YACd,MAAM,EAAE,CAAC,QAAQ,EAAE,EAAE;gBACnB,IAAI,CAAC,QAAQ,IAAI,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,MAAM,KAAK,CAAC;oBAAE,OAAO,EAAE,CAAC;gBAC/D,MAAM,KAAK,GAAG,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CACpD,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,QAAS,CAAe,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CACvF,CAAC;gBACF,OAAO,yBAAyB,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;YACrD,CAAC;SACF;KACF;IAED,KAAK,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG;QACtB,2EAA2E;QAC3E,sEAAsE;QACtE,yEAAyE;QACzE,0EAA0E;QAC1E,0EAA0E;QAC1E,4EAA4E;QAC5E,oEAAoE;QACpE,sEAAsE;QACtE,2EAA2E;QAC3E,qEAAqE;QACrE,uEAAuE;QACvE,0EAA0E;QAC1E,2BAA2B;QAC3B,MAAM,YAAY,GAAG,OAAO,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;QACjD,MAAM,WAAW,GAAG,OAAO,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;QAC/C,MAAM,SAAS,GAAG,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;QACxC,MAAM,UAAU,GACd,eAAe,CAAC;YACd,KAAK,EAAE,KAAK,CAAC,KAAK;YAClB,cAAc,EAAE,KAAK,CAAC,cAAc;YACpC,iBAAiB,EAAE,KAAK,CAAC,iBAAiB;YAC1C,aAAa,EAAE,KAAK,CAAC,aAAa;YAClC,YAAY,EAAE,KAAK,CAAC,YAAY;YAChC,UAAU,EAAE,KAAK,CAAC,UAAU;YAC5B,YAAY,EAAE,KAAK,CAAC,YAAY;YAChC,cAAc,EAAE,KAAK,CAAC,cAAc;YACpC,SAAS,EAAE,KAAK,CAAC,SAAS;YAC1B,IAAI,EAAE,KAAK,CAAC,IAAI;SACjB,CAAC;YACF,mBAAmB,CAAC,EAAE,MAAM,EAAE,KAAK,CAAC,MAAM,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC,CAAC;QAC9F,IAAI,UAAU,EAAE,CAAC;YACf,MAAM,GAAG,CAAC,IAAI,CAAC,aAAa,EAAE,iBAAiB,CAAC,UAAU,CAAC,EAAE;gBAC3D,KAAK,EAAE,UAAU;gBACjB,GAAG,GAAG,CAAC,WAAW,CAAC,aAAa,CAAC;aAClC,CAAC,CAAC;QACL,CAAC;QAED,2EAA2E;QAC3E,2EAA2E;QAC3E,wEAAwE;QACxE,2EAA2E;QAC3E,uEAAuE;QACvE,2EAA2E;QAC3E,MAAM,wBAAwB,GAAG,KAAK,CAAC,wBAAwB,IAAI,OAAO,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;QAE9F,MAAM,OAAO,GAAG,wBAAwB,EAAE,CAAC;QAC3C,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,aAAa,CACxC;YACE,SAAS,EAAE,KAAK,CAAC,KAAK;YACtB,SAAS,EAAE,KAAK,CAAC,cAAc;YAC/B,SAAS,EAAE,KAAK,CAAC,iBAAiB;YAClC,SAAS,EAAE,KAAK,CAAC,aAAa;YAC9B,UAAU,EAAE,KAAK,CAAC,YAAY;YAC9B,WAAW,EAAE,KAAK,CAAC,UAAU;YAC7B,SAAS,EAAE,KAAK,CAAC,YAAY;YAC7B,mBAAmB,EAAE,YAAY;YACjC,SAAS,EAAE,KAAK,CAAC,SAAS;YAC1B,SAAS;YACT,cAAc,EAAE,mBAAmB,CAAC,WAAW,EAAE,KAAK,CAAC,cAAc,CAAC;YACtE,MAAM,EAAE,KAAK,CAAC,MAAM;YACpB,IAAI,EAAE,KAAK,CAAC,IAAI;YAChB,UAAU,EAAE,KAAK,CAAC,UAAU;YAC5B,QAAQ,EAAE,KAAK,CAAC,QAAQ;YACxB,SAAS,EAAE,KAAK,CAAC,SAAS;YAC1B,wBAAwB;SACzB,EACD,GAAG,CACJ,CAAC;QACF,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,kBAAkB,EAAE;YAC/B,KAAK,EAAE,MAAM,CAAC,OAAO,CAAC,MAAM;YAC5B,UAAU,EAAE,MAAM,CAAC,UAAU;SAC9B,CAAC,CAAC;QAEH,6EAA6E;QAC7E,0EAA0E;QAC1E,2EAA2E;QAC3E,qCAAqC;QACrC,MAAM,SAAS,GAAG,oBAAoB,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;QACxD,IAAI,SAAS;YAAE,0BAA0B,CAAC,MAAM,CAAC,OAA0B,EAAE,SAAS,CAAC,CAAC;QAExF,2EAA2E;QAC3E,4EAA4E;QAC5E,uEAAuE;QACvE,8EAA8E;QAC9E,mDAAmD;QACnD,MAAM,QAAQ,GAA4B,EAAE,CAAC;QAC7C,IAAI,KAAK,CAAC,KAAK;YAAE,QAAQ,CAAC,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC;QAC9C,IAAI,KAAK,CAAC,cAAc;YAAE,QAAQ,CAAC,cAAc,GAAG,KAAK,CAAC,cAAc,CAAC;QACzE,IAAI,KAAK,CAAC,iBAAiB;YAAE,QAAQ,CAAC,iBAAiB,GAAG,KAAK,CAAC,iBAAiB,CAAC;QAClF,IAAI,KAAK,CAAC,aAAa;YAAE,QAAQ,CAAC,aAAa,GAAG,KAAK,CAAC,aAAa,CAAC;QACtE,IAAI,KAAK,CAAC,YAAY;YAAE,QAAQ,CAAC,YAAY,GAAG,KAAK,CAAC,YAAY,CAAC;QACnE,IAAI,KAAK,CAAC,UAAU;YAAE,QAAQ,CAAC,UAAU,GAAG,KAAK,CAAC,UAAU,CAAC;QAC7D,IAAI,KAAK,CAAC,YAAY;YAAE,QAAQ,CAAC,YAAY,GAAG,KAAK,CAAC,YAAY,CAAC;QACnE,IAAI,KAAK,CAAC,YAAY;YAAE,QAAQ,CAAC,YAAY,GAAG,KAAK,CAAC,YAAY,CAAC;QACnE,IAAI,KAAK,CAAC,WAAW;YAAE,QAAQ,CAAC,WAAW,GAAG,KAAK,CAAC,WAAW,CAAC;QAChE,IAAI,KAAK,CAAC,cAAc;YAAE,QAAQ,CAAC,cAAc,GAAG,KAAK,CAAC,cAAc,CAAC;QACzE,IAAI,KAAK,CAAC,SAAS;YAAE,QAAQ,CAAC,SAAS,GAAG,KAAK,CAAC,SAAS,CAAC;QAC1D,IAAI,KAAK,CAAC,MAAM;YAAE,QAAQ,CAAC,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC;QACjD,qEAAqE;QACrE,iDAAiD;QACjD,IAAI,CAAC,wBAAwB;YAAE,QAAQ,CAAC,oBAAoB,GAAG,IAAI,CAAC;QACpE,IAAI,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,MAAM,GAAG,CAAC;YAAE,GAAG,CAAC,MAAM,CAAC,EAAE,cAAc,EAAE,QAAQ,EAAE,CAAC,CAAC;QAE/E,+CAA+C;QAC/C,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAChC,MAAM,QAAQ,GACZ,KAAK,CAAC,KAAK;gBACX,KAAK,CAAC,cAAc;gBACpB,KAAK,CAAC,iBAAiB;gBACvB,KAAK,CAAC,UAAU;gBAChB,KAAK,CAAC,YAAY;gBAClB,KAAK,CAAC,YAAY,CAAC;YACrB,MAAM,SAAS,GACb,KAAK,CAAC,YAAY;gBAClB,KAAK,CAAC,WAAW;gBACjB,KAAK,CAAC,cAAc;gBACpB,KAAK,CAAC,SAAS;gBACf,KAAK,CAAC,aAAa,CAAC;YAEtB,MAAM,WAAW,GAAa,EAAE,CAAC;YACjC,IAAI,QAAQ,IAAI,SAAS;gBACvB,WAAW,CAAC,IAAI,CAAC,uEAAuE,CAAC,CAAC;iBACvF,IAAI,QAAQ;gBAAE,WAAW,CAAC,IAAI,CAAC,0CAA0C,CAAC,CAAC;iBAC3E,IAAI,SAAS;gBAAE,WAAW,CAAC,IAAI,CAAC,qCAAqC,CAAC,CAAC;YAC5E,IAAI,KAAK,CAAC,YAAY;gBACpB,WAAW,CAAC,IAAI,CACd,uFAAuF,CACxF,CAAC;YACJ,IAAI,KAAK,CAAC,WAAW;gBAAE,WAAW,CAAC,IAAI,CAAC,iDAAiD,CAAC,CAAC;YAE3F,IAAI,WAAW,CAAC,MAAM,GAAG,CAAC;gBAAE,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;QACvE,CAAC;QAED,6EAA6E;QAC7E,wEAAwE;QACxE,uEAAuE;QACvE,0EAA0E;QAC1E,0EAA0E;QAC1E,wEAAwE;QACxE,6EAA6E;QAC7E,6CAA6C;QAC7C,MAAM,OAAO,GAA8B,KAAK,CAAC,MAAM,EAAE,MAAM;YAC7D,CAAC,CAAC,MAAM,CAAC,OAAO;YAChB,CAAC,CAAE,MAAM,CAAC,OAA2B,CAAC,GAAG,CAAC,iBAAiB,CAAC,CAAC;QAE/D,0EAA0E;QAC1E,4EAA4E;QAC5E,yEAAyE;QACzE,2EAA2E;QAC3E,sEAAsE;QACtE,yEAAyE;QACzE,2EAA2E;QAC3E,+DAA+D;QAC/D,MAAM,EAAE,aAAa,EAAE,GAAG,IAAI,EAAE,GAAG,MAAM,CAAC;QAC1C,MAAM,SAAS,GACb,KAAK,CAAC,SAAS,KAAK,SAAS;YAC7B,MAAM,CAAC,UAAU,KAAK,SAAS;YAC/B,MAAM,CAAC,OAAO,CAAC,MAAM,IAAI,MAAM,CAAC,UAAU,CAAC;QAE7C,OAAO;YACL,GAAG,IAAI;YACP,OAAO;YACP,GAAG,CAAC,aAAa,KAAK,SAAS,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,aAAa,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACvE,GAAG,CAAC,KAAK,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC,EAAE,eAAe,EAAE,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SACnE,CAAC;IACJ,CAAC;IAED,MAAM,EAAE,CAAC,MAAM,EAAE,EAAE;QACjB,MAAM,KAAK,GAAa,EAAE,CAAC;QAC3B,MAAM,KAAK,GAAG,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC;QACpC,IAAI,KAAK,KAAK,CAAC,EAAE,CAAC;YAChB,KAAK,CAAC,IAAI,CAAC,yCAAyC,CAAC,CAAC;QACxD,CAAC;aAAM,IAAI,MAAM,CAAC,UAAU,KAAK,SAAS,EAAE,CAAC;YAC3C,KAAK,CAAC,IAAI,CAAC,SAAS,KAAK,aAAa,MAAM,CAAC,UAAU,kBAAkB,CAAC,CAAC;QAC7E,CAAC;aAAM,CAAC;YACN,KAAK,CAAC,IAAI,CAAC,SAAS,KAAK,UAAU,CAAC,CAAC;QACvC,CAAC;QACD,IAAI,MAAM,CAAC,eAAe,EAAE,MAAM,EAAE,CAAC;YACnC,KAAK,CAAC,IAAI,CAAC,qBAAqB,MAAM,CAAC,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACvE,CAAC;QAED,0EAA0E;QAC1E,2EAA2E;QAC3E,qEAAqE;QACrE,MAAM,cAAc,GAAG,OAAO,CAAC,MAAM,CAAC,eAAe,EAAE,MAAM,CAAC,CAAC;QAC/D,KAAK,MAAM,KAAK,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;YACnC,KAAK,CAAC,IAAI,CACR,GAAG,CAAC,cAAc;gBAChB,CAAC,CAAC,0BAA0B,CAAC,KAAgC,CAAC;gBAC9D,CAAC,CAAC,gBAAgB,CAAC,KAAwB,CAAC,CAAC,CAChD,CAAC;QACJ,CAAC;QAED,IAAI,MAAM,CAAC,aAAa,EAAE,CAAC;YACzB,KAAK,CAAC,IAAI,CAAC,yDAAyD,CAAC,CAAC;YACtE,KAAK,CAAC,IAAI,CAAC,kBAAkB,MAAM,CAAC,aAAa,EAAE,CAAC,CAAC;QACvD,CAAC;QACD,OAAO,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACpD,CAAC;CACF,CAAC,CAAC"}
1
+ {"version":3,"file":"search-studies.tool.js","sourceRoot":"","sources":["../../../../src/mcp-server/tools/definitions/search-studies.tool.ts"],"names":[],"mappings":"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"}
@@ -29,4 +29,28 @@ export declare function parseGeoFilterCenter(geoFilter: string | undefined): {
29
29
  lat: number;
30
30
  lon: number;
31
31
  } | undefined;
32
+ /**
33
+ * Describe why a `geoFilter` value cannot be sent upstream, or `undefined` when
34
+ * it is well formed.
35
+ *
36
+ * ClinicalTrials.gov does not reject every bad geo expression: a radius with no
37
+ * unit returns 200 with an empty result set (the number is read as meters), a
38
+ * zero radius answers 500 through the whole retry budget, and an out-of-range
39
+ * coordinate answers 400 with a bare `Search error` body that carries nothing
40
+ * to classify on. Each surfaced as something other than a bad-input error, so
41
+ * the caller saw an empty cohort, a service outage, or an unreasoned validation
42
+ * failure instead of the mistake they made.
43
+ *
44
+ * Shapes upstream does reject with `incorrect format` are caught here early
45
+ * with the same message the service would have thrown, so only the round trip
46
+ * changes. Range and positivity violations — which have no upstream
47
+ * counterpart — name the offending value as well.
48
+ *
49
+ * This is the validation gate; `parseGeoFilterCenter` is not. That one reads a
50
+ * center for re-ranking and must keep answering silently for anything it cannot
51
+ * parse. The value is matched as supplied — the blank check has already run,
52
+ * and upstream rejects surrounding whitespace too, so trimming here would pass
53
+ * a string the request then fails on.
54
+ */
55
+ export declare function describeGeoFilterRejection(geoFilter: string): string | undefined;
32
56
  //# sourceMappingURL=geo-helpers.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"geo-helpers.d.ts","sourceRoot":"","sources":["../../../../src/mcp-server/tools/utils/geo-helpers.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,qCAAqC,CAAC;AAEzE,iEAAiE;AACjE,eAAO,MAAM,eAAe,YAAY,CAAC;AAEzC,2EAA2E;AAC3E,MAAM,MAAM,oBAAoB,GAAG,aAAa,GAAG;IAAE,UAAU,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC;AAE3E,6EAA6E;AAC7E,wBAAgB,WAAW,CACzB,CAAC,EAAE;IAAE,GAAG,EAAE,MAAM,CAAC;IAAC,GAAG,EAAE,MAAM,CAAA;CAAE,EAC/B,CAAC,EAAE;IAAE,GAAG,EAAE,MAAM,CAAC;IAAC,GAAG,EAAE,MAAM,CAAA;CAAE,GAC9B,MAAM,CAQR;AAED;;;;;;GAMG;AACH,wBAAgB,oBAAoB,CAClC,SAAS,EAAE,MAAM,GAAG,SAAS,GAC5B;IAAE,GAAG,EAAE,MAAM,CAAC;IAAC,GAAG,EAAE,MAAM,CAAA;CAAE,GAAG,SAAS,CAQ1C"}
1
+ {"version":3,"file":"geo-helpers.d.ts","sourceRoot":"","sources":["../../../../src/mcp-server/tools/utils/geo-helpers.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,qCAAqC,CAAC;AAEzE,iEAAiE;AACjE,eAAO,MAAM,eAAe,YAAY,CAAC;AAEzC,2EAA2E;AAC3E,MAAM,MAAM,oBAAoB,GAAG,aAAa,GAAG;IAAE,UAAU,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC;AAE3E,6EAA6E;AAC7E,wBAAgB,WAAW,CACzB,CAAC,EAAE;IAAE,GAAG,EAAE,MAAM,CAAC;IAAC,GAAG,EAAE,MAAM,CAAA;CAAE,EAC/B,CAAC,EAAE;IAAE,GAAG,EAAE,MAAM,CAAC;IAAC,GAAG,EAAE,MAAM,CAAA;CAAE,GAC9B,MAAM,CAQR;AAED;;;;;;GAMG;AACH,wBAAgB,oBAAoB,CAClC,SAAS,EAAE,MAAM,GAAG,SAAS,GAC5B;IAAE,GAAG,EAAE,MAAM,CAAC;IAAC,GAAG,EAAE,MAAM,CAAA;CAAE,GAAG,SAAS,CAQ1C;AAcD;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,wBAAgB,0BAA0B,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAgBhF"}
@@ -3,6 +3,7 @@
3
3
  * distance and parsing of the `geoFilter` center coordinates.
4
4
  * @module mcp-server/tools/utils/geo-helpers
5
5
  */
6
+ import { geoFilterShapeMessage } from '../../../services/clinical-trials/geo-filter-message.js';
6
7
  /** Mean Earth radius in miles, used by the Haversine formula. */
7
8
  export const EARTH_RADIUS_MI = 3958.7613;
8
9
  /** Great-circle distance in miles between two lat/lon points (Haversine). */
@@ -34,4 +35,53 @@ export function parseGeoFilterCenter(geoFilter) {
34
35
  return;
35
36
  return { lat, lon };
36
37
  }
38
+ /**
39
+ * The exact `distance(lat,lon,radius<unit>)` shape ClinicalTrials.gov accepts.
40
+ * No internal whitespace and no sign on the radius — upstream rejects both. The
41
+ * unit is captured loosely and checked separately so a missing one (a bare
42
+ * radius) and a case variant are told apart from a malformed expression.
43
+ */
44
+ const GEO_FILTER_SHAPE = /^distance\((-?\d+(?:\.\d+)?),(-?\d+(?:\.\d+)?),(\d+(?:\.\d+)?)([A-Za-z]*)\)$/i;
45
+ /** Radius units upstream accepts — lowercase only; a case variant is rejected. */
46
+ const GEO_RADIUS_UNITS = new Set(['mi', 'km']);
47
+ /**
48
+ * Describe why a `geoFilter` value cannot be sent upstream, or `undefined` when
49
+ * it is well formed.
50
+ *
51
+ * ClinicalTrials.gov does not reject every bad geo expression: a radius with no
52
+ * unit returns 200 with an empty result set (the number is read as meters), a
53
+ * zero radius answers 500 through the whole retry budget, and an out-of-range
54
+ * coordinate answers 400 with a bare `Search error` body that carries nothing
55
+ * to classify on. Each surfaced as something other than a bad-input error, so
56
+ * the caller saw an empty cohort, a service outage, or an unreasoned validation
57
+ * failure instead of the mistake they made.
58
+ *
59
+ * Shapes upstream does reject with `incorrect format` are caught here early
60
+ * with the same message the service would have thrown, so only the round trip
61
+ * changes. Range and positivity violations — which have no upstream
62
+ * counterpart — name the offending value as well.
63
+ *
64
+ * This is the validation gate; `parseGeoFilterCenter` is not. That one reads a
65
+ * center for re-ranking and must keep answering silently for anything it cannot
66
+ * parse. The value is matched as supplied — the blank check has already run,
67
+ * and upstream rejects surrounding whitespace too, so trimming here would pass
68
+ * a string the request then fails on.
69
+ */
70
+ export function describeGeoFilterRejection(geoFilter) {
71
+ const shapeGuidance = geoFilterShapeMessage(geoFilter);
72
+ const match = geoFilter.match(GEO_FILTER_SHAPE);
73
+ if (!match || !GEO_RADIUS_UNITS.has(match[4] ?? ''))
74
+ return shapeGuidance;
75
+ const lat = Number(match[1]);
76
+ const lon = Number(match[2]);
77
+ const radius = Number(match[3]);
78
+ const problems = [];
79
+ if (lat < -90 || lat > 90)
80
+ problems.push(`Latitude must be between -90 and 90 (got ${lat}).`);
81
+ if (lon < -180 || lon > 180)
82
+ problems.push(`Longitude must be between -180 and 180 (got ${lon}).`);
83
+ if (radius <= 0)
84
+ problems.push(`The radius must be greater than 0 (got ${radius}).`);
85
+ return problems.length > 0 ? `${shapeGuidance} ${problems.join(' ')}` : undefined;
86
+ }
37
87
  //# sourceMappingURL=geo-helpers.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"geo-helpers.js","sourceRoot":"","sources":["../../../../src/mcp-server/tools/utils/geo-helpers.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAIH,iEAAiE;AACjE,MAAM,CAAC,MAAM,eAAe,GAAG,SAAS,CAAC;AAKzC,6EAA6E;AAC7E,MAAM,UAAU,WAAW,CACzB,CAA+B,EAC/B,CAA+B;IAE/B,MAAM,KAAK,GAAG,CAAC,CAAS,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,EAAE,CAAC,GAAG,GAAG,CAAC;IACjD,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC;IAClC,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC;IAClC,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;IAC1B,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;IAC1B,MAAM,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC;IAC9F,OAAO,CAAC,GAAG,eAAe,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACpE,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,oBAAoB,CAClC,SAA6B;IAE7B,IAAI,CAAC,SAAS;QAAE,OAAO;IACvB,MAAM,KAAK,GAAG,SAAS,CAAC,KAAK,CAAC,6DAA6D,CAAC,CAAC;IAC7F,IAAI,CAAC,KAAK;QAAE,OAAO;IACnB,MAAM,GAAG,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;IAC7B,MAAM,GAAG,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;IAC7B,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC;QAAE,OAAO;IAC3D,OAAO,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC;AACtB,CAAC"}
1
+ {"version":3,"file":"geo-helpers.js","sourceRoot":"","sources":["../../../../src/mcp-server/tools/utils/geo-helpers.ts"],"names":[],"mappings":"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"}
@@ -36,6 +36,31 @@ export declare function firstBlankListParam(params: Record<string, string[] | un
36
36
  * the schema and returns a bare -32602 with no reason and no recovery hint.
37
37
  */
38
38
  export declare function blankValueMessage(param: string): string;
39
- /** Build AREA[] phase filter and combine with user's advancedFilter. */
39
+ /**
40
+ * Build the AREA[] phase filter and combine it with the caller's advancedFilter.
41
+ *
42
+ * The caller's expression is parenthesized as a unit before the AND join. Essie
43
+ * has no precedence rule that scopes a trailing `OR` back under a preceding
44
+ * `AND`, so an ungrouped operand let the OR branch escape the phase constraint
45
+ * entirely — a PHASE3 search answered with phase-less observational studies.
46
+ * The wrap is unconditional: Essie tolerates redundant nested parentheses, and
47
+ * deciding whether a caller's own leading `(` closes at the end of the
48
+ * expression or midway through it would mean reimplementing the parser.
49
+ *
50
+ * An advancedFilter with no phase expression alongside it is returned untouched
51
+ * — there is no AND boundary for its meaning to leak past.
52
+ */
40
53
  export declare function buildAdvancedFilter(phaseFilter?: string[], advancedFilter?: string): string | undefined;
54
+ /**
55
+ * Render one structured term as an upstream query operand: quoted when it
56
+ * carries whitespace so it matches as a literal phrase, bare otherwise.
57
+ *
58
+ * An embedded `"` is stripped rather than escaped. Upstream Essie has no
59
+ * working escape for a literal quote inside a quoted phrase and does not fail
60
+ * on one — an unescaped `"` silently reparses into a different query that
61
+ * returns a plausible-looking wrong result set, and a backslash-escaped one
62
+ * matches nothing. Removing the character is the only handling that keeps the
63
+ * phrase intact.
64
+ */
65
+ export declare function quoteQueryTerm(term: string): string;
41
66
  //# sourceMappingURL=query-helpers.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"query-helpers.d.ts","sourceRoot":"","sources":["../../../../src/mcp-server/tools/utils/query-helpers.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH;;;;;;;;;;GAUG;AACH,wBAAgB,OAAO,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,GAAG,MAAM,EAAE,CAAC;AACxD,wBAAgB,OAAO,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,GAAG,SAAS,GAAG,MAAM,EAAE,GAAG,SAAS,CAAC;AAkBhF;;;;;;;GAOG;AACH,wBAAgB,eAAe,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC,GAAG,MAAM,GAAG,SAAS,CAK9F;AAED;;;;GAIG;AACH,wBAAgB,mBAAmB,CACjC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,GAAG,SAAS,CAAC,GAC3C,MAAM,GAAG,SAAS,CAMpB;AAED;;;;GAIG;AACH,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAEvD;AAED,wEAAwE;AACxE,wBAAgB,mBAAmB,CACjC,WAAW,CAAC,EAAE,MAAM,EAAE,EACtB,cAAc,CAAC,EAAE,MAAM,GACtB,MAAM,GAAG,SAAS,CAWpB"}
1
+ {"version":3,"file":"query-helpers.d.ts","sourceRoot":"","sources":["../../../../src/mcp-server/tools/utils/query-helpers.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH;;;;;;;;;;GAUG;AACH,wBAAgB,OAAO,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,GAAG,MAAM,EAAE,CAAC;AACxD,wBAAgB,OAAO,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,GAAG,SAAS,GAAG,MAAM,EAAE,GAAG,SAAS,CAAC;AAkBhF;;;;;;;GAOG;AACH,wBAAgB,eAAe,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC,GAAG,MAAM,GAAG,SAAS,CAK9F;AAED;;;;GAIG;AACH,wBAAgB,mBAAmB,CACjC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,GAAG,SAAS,CAAC,GAC3C,MAAM,GAAG,SAAS,CAMpB;AAED;;;;GAIG;AACH,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAEvD;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAgB,mBAAmB,CACjC,WAAW,CAAC,EAAE,MAAM,EAAE,EACtB,cAAc,CAAC,EAAE,MAAM,GACtB,MAAM,GAAG,SAAS,CAQpB;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAGnD"}
@@ -58,17 +58,43 @@ export function firstBlankListParam(params) {
58
58
  export function blankValueMessage(param) {
59
59
  return `Parameter '${param}' was supplied with a blank value — an empty or whitespace-only string, an empty list, or a list carrying a blank entry. Supply a value containing non-whitespace, or for a list at least one non-blank entry; omit the parameter entirely only if it is optional and you meant to leave it unset.`;
60
60
  }
61
- /** Build AREA[] phase filter and combine with user's advancedFilter. */
61
+ /**
62
+ * Build the AREA[] phase filter and combine it with the caller's advancedFilter.
63
+ *
64
+ * The caller's expression is parenthesized as a unit before the AND join. Essie
65
+ * has no precedence rule that scopes a trailing `OR` back under a preceding
66
+ * `AND`, so an ungrouped operand let the OR branch escape the phase constraint
67
+ * entirely — a PHASE3 search answered with phase-less observational studies.
68
+ * The wrap is unconditional: Essie tolerates redundant nested parentheses, and
69
+ * deciding whether a caller's own leading `(` closes at the end of the
70
+ * expression or midway through it would mean reimplementing the parser.
71
+ *
72
+ * An advancedFilter with no phase expression alongside it is returned untouched
73
+ * — there is no AND boundary for its meaning to leak past.
74
+ */
62
75
  export function buildAdvancedFilter(phaseFilter, advancedFilter) {
63
- const parts = [];
64
- if (phaseFilter?.length) {
65
- const expr = phaseFilter.length === 1
76
+ const phaseExpr = phaseFilter?.length
77
+ ? phaseFilter.length === 1
66
78
  ? `AREA[Phase]${phaseFilter[0]}`
67
- : `(${phaseFilter.map((p) => `AREA[Phase]${p}`).join(' OR ')})`;
68
- parts.push(expr);
69
- }
70
- if (advancedFilter)
71
- parts.push(advancedFilter);
72
- return parts.length > 0 ? parts.join(' AND ') : undefined;
79
+ : `(${phaseFilter.map((p) => `AREA[Phase]${p}`).join(' OR ')})`
80
+ : undefined;
81
+ if (!advancedFilter)
82
+ return phaseExpr;
83
+ return phaseExpr ? `${phaseExpr} AND (${advancedFilter})` : advancedFilter;
84
+ }
85
+ /**
86
+ * Render one structured term as an upstream query operand: quoted when it
87
+ * carries whitespace so it matches as a literal phrase, bare otherwise.
88
+ *
89
+ * An embedded `"` is stripped rather than escaped. Upstream Essie has no
90
+ * working escape for a literal quote inside a quoted phrase and does not fail
91
+ * on one — an unescaped `"` silently reparses into a different query that
92
+ * returns a plausible-looking wrong result set, and a backslash-escaped one
93
+ * matches nothing. Removing the character is the only handling that keeps the
94
+ * phrase intact.
95
+ */
96
+ export function quoteQueryTerm(term) {
97
+ const sanitized = term.replaceAll('"', '');
98
+ return /\s/.test(sanitized) ? `"${sanitized}"` : sanitized;
73
99
  }
74
100
  //# sourceMappingURL=query-helpers.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"query-helpers.js","sourceRoot":"","sources":["../../../../src/mcp-server/tools/utils/query-helpers.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAeH,MAAM,UAAU,OAAO,CAAC,CAAgC;IACtD,IAAI,CAAC,KAAK,SAAS;QAAE,OAAO;IAC5B,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC;QAAE,OAAO,CAAC,CAAC;IAC/B,MAAM,OAAO,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC;IACzB,IAAI,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;QAC5B,IAAI,CAAC;YACH,MAAM,MAAM,GAAY,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;YAC5C,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,EAAe,EAAE,CAAC,OAAO,CAAC,KAAK,QAAQ,CAAC,EAAE,CAAC;gBACrF,OAAO,MAAM,CAAC;YAChB,CAAC;QACH,CAAC;QAAC,MAAM,CAAC;YACP,yEAAyE;QAC3E,CAAC;IACH,CAAC;IACD,OAAO,CAAC,CAAC,CAAC,CAAC;AACb,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,eAAe,CAAC,MAA0C;IACxE,KAAK,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;QACnD,IAAI,KAAK,KAAK,SAAS,IAAI,KAAK,CAAC,IAAI,EAAE,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO,IAAI,CAAC;IACpE,CAAC;IACD,OAAO,SAAS,CAAC;AACnB,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,mBAAmB,CACjC,MAA4C;IAE5C,KAAK,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;QACpD,IAAI,CAAC,MAAM;YAAE,SAAS;QACtB,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,IAAI,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,MAAM,KAAK,CAAC,CAAC;YAAE,OAAO,IAAI,CAAC;IACpF,CAAC;IACD,OAAO,SAAS,CAAC;AACnB,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,iBAAiB,CAAC,KAAa;IAC7C,OAAO,cAAc,KAAK,oSAAoS,CAAC;AACjU,CAAC;AAED,wEAAwE;AACxE,MAAM,UAAU,mBAAmB,CACjC,WAAsB,EACtB,cAAuB;IAEvB,MAAM,KAAK,GAAa,EAAE,CAAC;IAC3B,IAAI,WAAW,EAAE,MAAM,EAAE,CAAC;QACxB,MAAM,IAAI,GACR,WAAW,CAAC,MAAM,KAAK,CAAC;YACtB,CAAC,CAAC,cAAc,WAAW,CAAC,CAAC,CAAC,EAAE;YAChC,CAAC,CAAC,IAAI,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,cAAc,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC;QACpE,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACnB,CAAC;IACD,IAAI,cAAc;QAAE,KAAK,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;IAC/C,OAAO,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;AAC5D,CAAC"}
1
+ {"version":3,"file":"query-helpers.js","sourceRoot":"","sources":["../../../../src/mcp-server/tools/utils/query-helpers.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAeH,MAAM,UAAU,OAAO,CAAC,CAAgC;IACtD,IAAI,CAAC,KAAK,SAAS;QAAE,OAAO;IAC5B,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC;QAAE,OAAO,CAAC,CAAC;IAC/B,MAAM,OAAO,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC;IACzB,IAAI,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;QAC5B,IAAI,CAAC;YACH,MAAM,MAAM,GAAY,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;YAC5C,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,EAAe,EAAE,CAAC,OAAO,CAAC,KAAK,QAAQ,CAAC,EAAE,CAAC;gBACrF,OAAO,MAAM,CAAC;YAChB,CAAC;QACH,CAAC;QAAC,MAAM,CAAC;YACP,yEAAyE;QAC3E,CAAC;IACH,CAAC;IACD,OAAO,CAAC,CAAC,CAAC,CAAC;AACb,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,eAAe,CAAC,MAA0C;IACxE,KAAK,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;QACnD,IAAI,KAAK,KAAK,SAAS,IAAI,KAAK,CAAC,IAAI,EAAE,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO,IAAI,CAAC;IACpE,CAAC;IACD,OAAO,SAAS,CAAC;AACnB,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,mBAAmB,CACjC,MAA4C;IAE5C,KAAK,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;QACpD,IAAI,CAAC,MAAM;YAAE,SAAS;QACtB,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,IAAI,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,MAAM,KAAK,CAAC,CAAC;YAAE,OAAO,IAAI,CAAC;IACpF,CAAC;IACD,OAAO,SAAS,CAAC;AACnB,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,iBAAiB,CAAC,KAAa;IAC7C,OAAO,cAAc,KAAK,oSAAoS,CAAC;AACjU,CAAC;AAED;;;;;;;;;;;;;GAaG;AACH,MAAM,UAAU,mBAAmB,CACjC,WAAsB,EACtB,cAAuB;IAEvB,MAAM,SAAS,GAAG,WAAW,EAAE,MAAM;QACnC,CAAC,CAAC,WAAW,CAAC,MAAM,KAAK,CAAC;YACxB,CAAC,CAAC,cAAc,WAAW,CAAC,CAAC,CAAC,EAAE;YAChC,CAAC,CAAC,IAAI,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,cAAc,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG;QACjE,CAAC,CAAC,SAAS,CAAC;IACd,IAAI,CAAC,cAAc;QAAE,OAAO,SAAS,CAAC;IACtC,OAAO,SAAS,CAAC,CAAC,CAAC,GAAG,SAAS,SAAS,cAAc,GAAG,CAAC,CAAC,CAAC,cAAc,CAAC;AAC7E,CAAC;AAED;;;;;;;;;;GAUG;AACH,MAAM,UAAU,cAAc,CAAC,IAAY;IACzC,MAAM,SAAS,GAAG,IAAI,CAAC,UAAU,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;IAC3C,OAAO,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,IAAI,SAAS,GAAG,CAAC,CAAC,CAAC,SAAS,CAAC;AAC7D,CAAC"}
@@ -13,7 +13,7 @@ export declare const RECOVERY_HINTS: {
13
13
  readonly field_invalid: 'Call clinicaltrials_get_field_definitions to browse the field tree; use PascalCase piece names like OverallStatus, Phase, or StudyType.';
14
14
  readonly enum_invalid: 'Call clinicaltrials_get_field_values with fields=["OverallStatus"] or fields=["Phase"] to see the valid enum values the filter accepts.';
15
15
  readonly query_parse_error: 'Field-scoped search uses AREA[FieldName]value, which works in the free-text fields (query, conditionQuery, etc.) as well as in advancedFilter — call clinicaltrials_get_field_definitions to look up the right FieldName. A `[` or `]` outside an AREA[…] / RANGE[…] expression fails; `( )` group sub-expressions and are safe when matched; `,` acts as AND. Free-text fields otherwise take plain words plus AND, OR, NOT.';
16
- readonly geo_invalid: 'Build geoFilter as distance(lat,lon,radius) with a `mi` or `km` suffix on the radius, e.g. distance(47.6062,-122.3321,50mi) — a bare radius is read as meters. Look up the city coordinates first.';
16
+ readonly geo_invalid: 'Build geoFilter as distance(lat,lon,radius) with a `mi` or `km` suffix on the radius, e.g. distance(47.6062,-122.3321,50mi) — a bare radius is rejected, since upstream would read it as meters. Keep latitude within [-90, 90], longitude within [-180, 180], and the radius above 0. Look up the city coordinates first.';
17
17
  readonly sort_invalid: 'Set sort to FieldName:asc or FieldName:desc, e.g. LastUpdatePostDate:desc — at most 2 fields, comma-separated. Call clinicaltrials_get_field_definitions to confirm the PascalCase field name.';
18
18
  readonly path_not_found: 'Call clinicaltrials_get_field_definitions with mode="search" and query="phase" (or "enrollment") to find a path by concept, or mode="overview" for the top-level sections.';
19
19
  readonly rate_limited: 'ClinicalTrials.gov rate-limited the request after several retries; wait about a minute before trying again.';
@@ -1 +1 @@
1
- {"version":3,"file":"recovery-hints.d.ts","sourceRoot":"","sources":["../../../../src/mcp-server/tools/utils/recovery-hints.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,eAAO,MAAM,cAAc;aACzB,WAAW,EACT,wPAAwP;aAC1P,eAAe,EACb,+GAA+G;aACjH,aAAa,EACX,6HAA6H;aAC/H,aAAa,EACX,yIAAyI;aAC3I,YAAY,EACV,yIAAyI;aAC3I,iBAAiB,EACf,+ZAA+Z;aACja,WAAW,EACT,oMAAoM;aACtM,YAAY,EACV,gMAAgM;aAClM,cAAc,EACZ,4KAA4K;aAC9K,YAAY,EACV,6GAA6G;CACvG,CAAC"}
1
+ {"version":3,"file":"recovery-hints.d.ts","sourceRoot":"","sources":["../../../../src/mcp-server/tools/utils/recovery-hints.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,eAAO,MAAM,cAAc;aACzB,WAAW,EACT,wPAAwP;aAC1P,eAAe,EACb,+GAA+G;aACjH,aAAa,EACX,6HAA6H;aAC/H,aAAa,EACX,yIAAyI;aAC3I,YAAY,EACV,yIAAyI;aAC3I,iBAAiB,EACf,+ZAA+Z;aACja,WAAW,EACT,4TAA4T;aAC9T,YAAY,EACV,gMAAgM;aAClM,cAAc,EACZ,4KAA4K;aAC9K,YAAY,EACV,6GAA6G;CACvG,CAAC"}
@@ -13,7 +13,7 @@ export const RECOVERY_HINTS = {
13
13
  field_invalid: 'Call clinicaltrials_get_field_definitions to browse the field tree; use PascalCase piece names like OverallStatus, Phase, or StudyType.',
14
14
  enum_invalid: 'Call clinicaltrials_get_field_values with fields=["OverallStatus"] or fields=["Phase"] to see the valid enum values the filter accepts.',
15
15
  query_parse_error: 'Field-scoped search uses AREA[FieldName]value, which works in the free-text fields (query, conditionQuery, etc.) as well as in advancedFilter — call clinicaltrials_get_field_definitions to look up the right FieldName. A `[` or `]` outside an AREA[…] / RANGE[…] expression fails; `( )` group sub-expressions and are safe when matched; `,` acts as AND. Free-text fields otherwise take plain words plus AND, OR, NOT.',
16
- geo_invalid: 'Build geoFilter as distance(lat,lon,radius) with a `mi` or `km` suffix on the radius, e.g. distance(47.6062,-122.3321,50mi) — a bare radius is read as meters. Look up the city coordinates first.',
16
+ geo_invalid: 'Build geoFilter as distance(lat,lon,radius) with a `mi` or `km` suffix on the radius, e.g. distance(47.6062,-122.3321,50mi) — a bare radius is rejected, since upstream would read it as meters. Keep latitude within [-90, 90], longitude within [-180, 180], and the radius above 0. Look up the city coordinates first.',
17
17
  sort_invalid: 'Set sort to FieldName:asc or FieldName:desc, e.g. LastUpdatePostDate:desc — at most 2 fields, comma-separated. Call clinicaltrials_get_field_definitions to confirm the PascalCase field name.',
18
18
  path_not_found: 'Call clinicaltrials_get_field_definitions with mode="search" and query="phase" (or "enrollment") to find a path by concept, or mode="overview" for the top-level sections.',
19
19
  rate_limited: 'ClinicalTrials.gov rate-limited the request after several retries; wait about a minute before trying again.',
@@ -1 +1 @@
1
- {"version":3,"file":"recovery-hints.js","sourceRoot":"","sources":["../../../../src/mcp-server/tools/utils/recovery-hints.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,MAAM,CAAC,MAAM,cAAc,GAAG;IAC5B,WAAW,EACT,wPAAwP;IAC1P,eAAe,EACb,+GAA+G;IACjH,aAAa,EACX,6HAA6H;IAC/H,aAAa,EACX,yIAAyI;IAC3I,YAAY,EACV,yIAAyI;IAC3I,iBAAiB,EACf,+ZAA+Z;IACja,WAAW,EACT,oMAAoM;IACtM,YAAY,EACV,gMAAgM;IAClM,cAAc,EACZ,4KAA4K;IAC9K,YAAY,EACV,6GAA6G;CACvG,CAAC"}
1
+ {"version":3,"file":"recovery-hints.js","sourceRoot":"","sources":["../../../../src/mcp-server/tools/utils/recovery-hints.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,MAAM,CAAC,MAAM,cAAc,GAAG;IAC5B,WAAW,EACT,wPAAwP;IAC1P,eAAe,EACb,+GAA+G;IACjH,aAAa,EACX,6HAA6H;IAC/H,aAAa,EACX,yIAAyI;IAC3I,YAAY,EACV,yIAAyI;IAC3I,iBAAiB,EACf,+ZAA+Z;IACja,WAAW,EACT,4TAA4T;IAC9T,YAAY,EACV,gMAAgM;IAClM,cAAc,EACZ,4KAA4K;IAC9K,YAAY,EACV,6GAA6G;CACvG,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"clinical-trials-service.d.ts","sourceRoot":"","sources":["../../../src/services/clinical-trials/clinical-trials-service.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,wBAAwB,CAAC;AAWtD,OAAO,EAAmB,KAAK,YAAY,EAAE,MAAM,2BAA2B,CAAC;AAC/E,OAAO,EACL,KAAK,eAAe,EAIrB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,KAAK,EACV,SAAS,EACT,eAAe,EACf,oBAAoB,EACpB,YAAY,EACZ,KAAK,EACN,MAAM,YAAY,CAAC;AA8IpB,kGAAkG;AAClG,MAAM,WAAW,4BAA4B;IAC3C,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB;;;;OAIG;IACH,qBAAqB,CAAC,EAAE,OAAO,CAAC;CACjC;AAED,qBAAa,qBAAqB;IAChC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAS;IACjC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAS;IACnC,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAS;IACrC,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAS;IACpC,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAS;IACvC,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAS;IACtC,OAAO,CAAC,QAAQ,CAAC,qBAAqB,CAAU;IAChD,OAAO,CAAC,aAAa,CAAK;IAC1B;;;;OAIG;IACH,OAAO,CAAC,aAAa,CAAoC;IACzD,OAAO,CAAC,iBAAiB,CAMX;IAEd,YAAY,MAAM,EAAE,YAAY,EAAE,OAAO,GAAE,4BAAiC,EAQ3E;IAED,2EAA2E;IACrE,aAAa,CAAC,MAAM,EAAE,YAAY,EAAE,GAAG,EAAE,OAAO,GAAG,OAAO,CAAC,oBAAoB,CAAC,CAYrF;IAED,sCAAsC;IACtC,QAAQ,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,OAAO,GAAG,OAAO,CAAC,KAAK,CAAC,CAGpD;IAED;;;;;;;;OAQG;IACG,eAAe,CAAC,MAAM,EAAE,MAAM,EAAE,EAAE,GAAG,EAAE,OAAO,GAAG,OAAO,CAAC,KAAK,EAAE,CAAC,CAatE;IAED,iEAAiE;IACjE,WAAW,CAAC,kBAAkB,EAAE,OAAO,EAAE,GAAG,EAAE,OAAO,GAAG,OAAO,CAAC,SAAS,EAAE,CAAC,CAK3E;IAED,2DAA2D;IACrD,cAAc,CAAC,MAAM,EAAE,MAAM,EAAE,EAAE,GAAG,EAAE,OAAO,GAAG,OAAO,CAAC,eAAe,EAAE,CAAC,CA8C/E;IAED;;;;;;;OAOG;YACW,mBAAmB;IAajC;;;OAGG;IACG,sBAAsB,CAC1B,KAAK,EAAE,MAAM,EACb,KAAK,EAAE,MAAM,EACb,GAAG,EAAE,OAAO,GACX,OAAO,CAAC;QAAE,OAAO,EAAE,eAAe,EAAE,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC,CAIxD;IAMD,8EAA8E;IAC9E,OAAO,CAAC,aAAa;IAoCrB;;;;;;OAMG;YACW,eAAe;IAoC7B;;;;;;;;;;;;;OAaG;YACW,aAAa;IA2B3B;;;;;;OAMG;YACW,iBAAiB;IAgB/B;;;;;OAKG;YACW,qBAAqB;IAuBnC,wEAAwE;YAC1D,cAAc;IAwC5B,OAAO,CAAC,gBAAgB;IA+BxB;;;;;;;;OAQG;IACH,OAAO,CAAC,QAAQ;YAUF,SAAS;CAwQxB;AAQD,0EAA0E;AAC1E,wBAAgB,yBAAyB,IAAI,IAAI,CAEhD;AAED,2DAA2D;AAC3D,wBAAgB,wBAAwB,IAAI,qBAAqB,CAMhE"}
1
+ {"version":3,"file":"clinical-trials-service.d.ts","sourceRoot":"","sources":["../../../src/services/clinical-trials/clinical-trials-service.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,wBAAwB,CAAC;AAWtD,OAAO,EAAmB,KAAK,YAAY,EAAE,MAAM,2BAA2B,CAAC;AAC/E,OAAO,EACL,KAAK,eAAe,EAIrB,MAAM,mBAAmB,CAAC;AAE3B,OAAO,KAAK,EACV,SAAS,EACT,eAAe,EACf,oBAAoB,EACpB,YAAY,EACZ,KAAK,EACN,MAAM,YAAY,CAAC;AA8IpB,kGAAkG;AAClG,MAAM,WAAW,4BAA4B;IAC3C,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB;;;;OAIG;IACH,qBAAqB,CAAC,EAAE,OAAO,CAAC;CACjC;AAED,qBAAa,qBAAqB;IAChC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAS;IACjC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAS;IACnC,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAS;IACrC,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAS;IACpC,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAS;IACvC,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAS;IACtC,OAAO,CAAC,QAAQ,CAAC,qBAAqB,CAAU;IAChD,OAAO,CAAC,aAAa,CAAK;IAC1B;;;;OAIG;IACH,OAAO,CAAC,aAAa,CAAoC;IACzD,OAAO,CAAC,iBAAiB,CAMX;IAEd,YAAY,MAAM,EAAE,YAAY,EAAE,OAAO,GAAE,4BAAiC,EAQ3E;IAED,2EAA2E;IACrE,aAAa,CAAC,MAAM,EAAE,YAAY,EAAE,GAAG,EAAE,OAAO,GAAG,OAAO,CAAC,oBAAoB,CAAC,CAYrF;IAED,sCAAsC;IACtC,QAAQ,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,OAAO,GAAG,OAAO,CAAC,KAAK,CAAC,CAGpD;IAED;;;;;;;;OAQG;IACG,eAAe,CAAC,MAAM,EAAE,MAAM,EAAE,EAAE,GAAG,EAAE,OAAO,GAAG,OAAO,CAAC,KAAK,EAAE,CAAC,CAatE;IAED,iEAAiE;IACjE,WAAW,CAAC,kBAAkB,EAAE,OAAO,EAAE,GAAG,EAAE,OAAO,GAAG,OAAO,CAAC,SAAS,EAAE,CAAC,CAK3E;IAED,2DAA2D;IACrD,cAAc,CAAC,MAAM,EAAE,MAAM,EAAE,EAAE,GAAG,EAAE,OAAO,GAAG,OAAO,CAAC,eAAe,EAAE,CAAC,CA8C/E;IAED;;;;;;;OAOG;YACW,mBAAmB;IAajC;;;OAGG;IACG,sBAAsB,CAC1B,KAAK,EAAE,MAAM,EACb,KAAK,EAAE,MAAM,EACb,GAAG,EAAE,OAAO,GACX,OAAO,CAAC;QAAE,OAAO,EAAE,eAAe,EAAE,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC,CAIxD;IAMD,8EAA8E;IAC9E,OAAO,CAAC,aAAa;IAoCrB;;;;;;OAMG;YACW,eAAe;IAoC7B;;;;;;;;;;;;;OAaG;YACW,aAAa;IA2B3B;;;;;;OAMG;YACW,iBAAiB;IAgB/B;;;;;OAKG;YACW,qBAAqB;IAuBnC,wEAAwE;YAC1D,cAAc;IAwC5B,OAAO,CAAC,gBAAgB;IA+BxB;;;;;;;;OAQG;IACH,OAAO,CAAC,QAAQ;YAUF,SAAS;CAwQxB;AAQD,0EAA0E;AAC1E,wBAAgB,yBAAyB,IAAI,IAAI,CAEhD;AAED,2DAA2D;AAC3D,wBAAgB,wBAAwB,IAAI,qBAAqB,CAMhE"}
@@ -6,6 +6,7 @@ import { JsonRpcErrorCode, McpError, notFound, rateLimited, requestCancelled, se
6
6
  import { httpErrorFromResponse } from '@cyanheads/mcp-ts-core/utils';
7
7
  import { getServerConfig } from '../../config/server-config.js';
8
8
  import { flattenMetadata, nearestPieces, searchFields, } from './field-search.js';
9
+ import { geoFilterShapeMessage } from './geo-filter-message.js';
9
10
  const DEFAULT_MAX_RETRIES = 3;
10
11
  const DEFAULT_BASE_BACKOFF_MS = 1000;
11
12
  const DEFAULT_MAX_BACKOFF_MS = 30_000;
@@ -654,7 +655,10 @@ export class ClinicalTrialsService {
654
655
  // than echoing the upstream body.
655
656
  const geo = params['filter.geo'];
656
657
  if (geo && blamed('filter.geo')) {
657
- throw validationError(`Invalid value for \`geoFilter\`: '${geo}'. Format must be distance(lat,lon,radius) with a \`mi\` or \`km\` suffix on the radius — e.g. "distance(47.6062,-122.3321,50mi)". A bare radius is accepted upstream but read as meters, so it silently matches almost nothing.`, { reason: 'geo_invalid', ...ctx.recoveryFor('geo_invalid') });
658
+ throw validationError(geoFilterShapeMessage(geo), {
659
+ reason: 'geo_invalid',
660
+ ...ctx.recoveryFor('geo_invalid'),
661
+ });
658
662
  }
659
663
  if (params.sort && blamed('sort')) {
660
664
  throw validationError(`Invalid value for \`sort\`: '${params.sort}'. ${SORT_SHAPE}`, {
@@ -1 +1 @@
1
- {"version":3,"file":"clinical-trials-service.js","sourceRoot":"","sources":["../../../src/services/clinical-trials/clinical-trials-service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"clinical-trials-service.js","sourceRoot":"","sources":["../../../src/services/clinical-trials/clinical-trials-service.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,9 @@
1
+ /**
2
+ * @fileoverview The shape message every `geo_invalid` rejection leads with.
3
+ * The search handler's local gate and the service's upstream-400 branch share
4
+ * it so the wording cannot drift between the two paths. Kept in its own module
5
+ * so tests that mock the service module still reach it.
6
+ * @module services/clinical-trials/geo-filter-message
7
+ */
8
+ export declare function geoFilterShapeMessage(geoFilter: string): string;
9
+ //# sourceMappingURL=geo-filter-message.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"geo-filter-message.d.ts","sourceRoot":"","sources":["../../../src/services/clinical-trials/geo-filter-message.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,wBAAgB,qBAAqB,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,CAE/D"}
@@ -0,0 +1,11 @@
1
+ /**
2
+ * @fileoverview The shape message every `geo_invalid` rejection leads with.
3
+ * The search handler's local gate and the service's upstream-400 branch share
4
+ * it so the wording cannot drift between the two paths. Kept in its own module
5
+ * so tests that mock the service module still reach it.
6
+ * @module services/clinical-trials/geo-filter-message
7
+ */
8
+ export function geoFilterShapeMessage(geoFilter) {
9
+ return `Invalid value for \`geoFilter\`: '${geoFilter}'. Format must be distance(lat,lon,radius) with a \`mi\` or \`km\` suffix on the radius — e.g. "distance(47.6062,-122.3321,50mi)". A bare radius is rejected: upstream would read it as meters and match almost nothing.`;
10
+ }
11
+ //# sourceMappingURL=geo-filter-message.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"geo-filter-message.js","sourceRoot":"","sources":["../../../src/services/clinical-trials/geo-filter-message.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,MAAM,UAAU,qBAAqB,CAAC,SAAiB;IACrD,OAAO,qCAAqC,SAAS,0NAA0N,CAAC;AAClR,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "clinicaltrialsgov-mcp-server",
3
- "version": "2.9.4",
3
+ "version": "2.9.5",
4
4
  "mcpName": "io.github.cyanheads/clinicaltrialsgov-mcp-server",
5
5
  "description": "Search ClinicalTrials.gov trials, retrieve study details and results, and match patients to eligible trials via MCP. STDIO or Streamable HTTP.",
6
6
  "main": "dist/index.js",
@@ -93,7 +93,7 @@
93
93
  "dependencies": {
94
94
  "@cyanheads/mcp-ts-core": "^0.12.8",
95
95
  "pino-pretty": "^13.1.3",
96
- "zod": "^4.5.4"
96
+ "zod": "^4.6.0"
97
97
  },
98
98
  "devDependencies": {
99
99
  "@biomejs/biome": "^2.5.12",