clinicaltrialsgov-mcp-server 2.6.0 → 2.6.2

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 +9 -1
  2. package/dist/config/server-config.d.ts +15 -0
  3. package/dist/config/server-config.d.ts.map +1 -1
  4. package/dist/config/server-config.js +35 -0
  5. package/dist/config/server-config.js.map +1 -1
  6. package/dist/index.js +20 -1
  7. package/dist/index.js.map +1 -1
  8. package/dist/mcp-server/tools/definitions/get-study-results.tool.d.ts +4 -1
  9. package/dist/mcp-server/tools/definitions/get-study-results.tool.d.ts.map +1 -1
  10. package/dist/mcp-server/tools/definitions/get-study-results.tool.js +70 -4
  11. package/dist/mcp-server/tools/definitions/get-study-results.tool.js.map +1 -1
  12. package/dist/services/clinical-trials/clinical-trials-service.d.ts +19 -0
  13. package/dist/services/clinical-trials/clinical-trials-service.d.ts.map +1 -1
  14. package/dist/services/clinical-trials/clinical-trials-service.js +226 -1
  15. package/dist/services/clinical-trials/clinical-trials-service.js.map +1 -1
  16. package/dist/services/clinical-trials/mirror/index.d.ts +31 -0
  17. package/dist/services/clinical-trials/mirror/index.d.ts.map +1 -0
  18. package/dist/services/clinical-trials/mirror/index.js +66 -0
  19. package/dist/services/clinical-trials/mirror/index.js.map +1 -0
  20. package/dist/services/clinical-trials/mirror/ingester.d.ts +39 -0
  21. package/dist/services/clinical-trials/mirror/ingester.d.ts.map +1 -0
  22. package/dist/services/clinical-trials/mirror/ingester.js +308 -0
  23. package/dist/services/clinical-trials/mirror/ingester.js.map +1 -0
  24. package/dist/services/clinical-trials/mirror/types.d.ts +68 -0
  25. package/dist/services/clinical-trials/mirror/types.d.ts.map +1 -0
  26. package/dist/services/clinical-trials/mirror/types.js +45 -0
  27. package/dist/services/clinical-trials/mirror/types.js.map +1 -0
  28. package/package.json +1 -1
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.6.0-blue.svg?style=flat-square)](./CHANGELOG.md) [![MCP SDK](https://img.shields.io/badge/MCP%20SDK-^1.29.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-^6.0-3178C6.svg?style=flat-square)](https://www.typescriptlang.org/) [![Bun](https://img.shields.io/badge/Bun-v1.3.2-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.6.2-blue.svg?style=flat-square)](./CHANGELOG.md) [![MCP SDK](https://img.shields.io/badge/MCP%20SDK-^1.29.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-^6.0-3178C6.svg?style=flat-square)](https://www.typescriptlang.org/) [![Bun](https://img.shields.io/badge/Bun-v1.3.2-blueviolet.svg?style=flat-square)](https://bun.sh/)
11
11
 
12
12
  </div>
13
13
 
@@ -177,6 +177,10 @@ All configuration is optional — the server works with defaults and no API keys
177
177
  | `CT_API_BASE_URL` | ClinicalTrials.gov API base URL. | `https://clinicaltrials.gov/api/v2` |
178
178
  | `CT_REQUEST_TIMEOUT_MS` | Per-request timeout in milliseconds. | `30000` |
179
179
  | `CT_MAX_PAGE_SIZE` | Maximum page size cap. | `200` |
180
+ | `CT_MIRROR_ENABLED` | Enable the local SQLite study mirror. | `false` |
181
+ | `CT_MIRROR_PATH` | Filesystem path for the mirror database. | `./clinical-trials-mirror.db` |
182
+ | `CT_MIRROR_REFRESH_CRON` | Cron schedule for incremental mirror sync. | `0 3 * * *` (3 AM daily) |
183
+ | `CT_MIRROR_FALLBACK_LIVE` | Fall back to live API when mirror is not yet bootstrapped. | `true` |
180
184
  | `MCP_TRANSPORT_TYPE` | Transport: `stdio` or `http`. | `stdio` |
181
185
  | `MCP_HTTP_PORT` | Port for HTTP server. | `3010` |
182
186
  | `MCP_AUTH_MODE` | Auth mode: `none`, `jwt`, or `oauth`. | `none` |
@@ -184,6 +188,10 @@ All configuration is optional — the server works with defaults and no API keys
184
188
  | `LOGS_DIR` | Directory for log files (Node.js only). | `<project-root>/logs` |
185
189
  | `OTEL_ENABLED` | Enable OpenTelemetry tracing. | `false` |
186
190
 
191
+ ### Local study mirror (opt-in)
192
+
193
+ Setting `CT_MIRROR_ENABLED=true` activates a self-refreshing SQLite+FTS5 local mirror of the ~577K-study corpus. Search and count queries route to the mirror first, with transparent fallback to the live API when the mirror is not yet ready (`CT_MIRROR_FALLBACK_LIVE=true`, the default). The mirror must be bootstrapped out-of-band before it becomes ready — while enabled but not yet bootstrapped it falls through to the live API identically to the disabled state. Once bootstrapped, the mirror eliminates live-API round-trips for most search and lookup operations. Full-record lookups (`clinicaltrials_get_study_record`), results data, field definitions, and field values remain live-API only.
194
+
187
195
  ## Running the Server
188
196
 
189
197
  ### Local Development
@@ -8,8 +8,23 @@ declare const ServerConfigSchema: z.ZodObject<{
8
8
  requestTimeoutMs: z.ZodDefault<z.ZodCoercedNumber<unknown>>;
9
9
  maxPageSize: z.ZodDefault<z.ZodCoercedNumber<unknown>>;
10
10
  }, z.core.$strip>;
11
+ /** Mirror-specific configuration parsed separately from the flat env var set. */
12
+ declare const MirrorConfigSchema: z.ZodObject<{
13
+ enabled: z.ZodDefault<z.ZodCoercedBoolean<unknown>>;
14
+ path: z.ZodDefault<z.ZodString>;
15
+ refreshCron: z.ZodDefault<z.ZodString>;
16
+ fallbackLive: z.ZodDefault<z.ZodCoercedBoolean<unknown>>;
17
+ }, z.core.$strip>;
11
18
  export type ServerConfig = z.infer<typeof ServerConfigSchema>;
19
+ export type MirrorConfig = z.infer<typeof MirrorConfigSchema> & {
20
+ /** API base URL forwarded from the main config for the mirror ingester. */
21
+ apiBaseUrl: string;
22
+ /** Per-request timeout forwarded from the main config for the mirror ingester. */
23
+ requestTimeoutMs: number;
24
+ };
12
25
  /** Get server configuration (lazy-parsed from env vars). */
13
26
  export declare function getServerConfig(): ServerConfig;
27
+ /** Get mirror configuration (lazy-parsed from env vars). */
28
+ export declare function getMirrorConfig(): MirrorConfig;
14
29
  export {};
15
30
  //# sourceMappingURL=server-config.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"server-config.d.ts","sourceRoot":"","sources":["../../src/config/server-config.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,wBAAwB,CAAC;AAG3C,QAAA,MAAM,kBAAkB;;;;iBAOtB,CAAC;AAEH,MAAM,MAAM,YAAY,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,kBAAkB,CAAC,CAAC;AAI9D,4DAA4D;AAC5D,wBAAgB,eAAe,IAAI,YAAY,CAO9C"}
1
+ {"version":3,"file":"server-config.d.ts","sourceRoot":"","sources":["../../src/config/server-config.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,wBAAwB,CAAC;AAG3C,QAAA,MAAM,kBAAkB;;;;iBAOtB,CAAC;AAEH,iFAAiF;AACjF,QAAA,MAAM,kBAAkB;;;;;iBActB,CAAC;AAEH,MAAM,MAAM,YAAY,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,kBAAkB,CAAC,CAAC;AAC9D,MAAM,MAAM,YAAY,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,kBAAkB,CAAC,GAAG;IAC9D,2EAA2E;IAC3E,UAAU,EAAE,MAAM,CAAC;IACnB,kFAAkF;IAClF,gBAAgB,EAAE,MAAM,CAAC;CAC1B,CAAC;AAKF,4DAA4D;AAC5D,wBAAgB,eAAe,IAAI,YAAY,CAO9C;AAED,4DAA4D;AAC5D,wBAAgB,eAAe,IAAI,YAAY,CAgB9C"}
@@ -12,7 +12,24 @@ const ServerConfigSchema = z.object({
12
12
  requestTimeoutMs: z.coerce.number().default(30_000).describe('Per-request timeout in ms'),
13
13
  maxPageSize: z.coerce.number().default(200).describe('Maximum page size cap'),
14
14
  });
15
+ /** Mirror-specific configuration parsed separately from the flat env var set. */
16
+ const MirrorConfigSchema = z.object({
17
+ enabled: z.coerce.boolean().default(false).describe('Enable the local SQLite study mirror'),
18
+ path: z
19
+ .string()
20
+ .default('./clinical-trials-mirror.db')
21
+ .describe('Filesystem path for the mirror SQLite database'),
22
+ refreshCron: z
23
+ .string()
24
+ .default('0 3 * * *')
25
+ .describe('Cron expression for incremental mirror refresh (default: 3 AM daily)'),
26
+ fallbackLive: z.coerce
27
+ .boolean()
28
+ .default(true)
29
+ .describe('Fall back to live API when mirror is not ready'),
30
+ });
15
31
  let _config;
32
+ let _mirrorConfig;
16
33
  /** Get server configuration (lazy-parsed from env vars). */
17
34
  export function getServerConfig() {
18
35
  _config ??= parseEnvConfig(ServerConfigSchema, {
@@ -22,4 +39,22 @@ export function getServerConfig() {
22
39
  });
23
40
  return _config;
24
41
  }
42
+ /** Get mirror configuration (lazy-parsed from env vars). */
43
+ export function getMirrorConfig() {
44
+ if (!_mirrorConfig) {
45
+ const base = parseEnvConfig(MirrorConfigSchema, {
46
+ enabled: 'CT_MIRROR_ENABLED',
47
+ path: 'CT_MIRROR_PATH',
48
+ refreshCron: 'CT_MIRROR_REFRESH_CRON',
49
+ fallbackLive: 'CT_MIRROR_FALLBACK_LIVE',
50
+ });
51
+ const server = getServerConfig();
52
+ _mirrorConfig = {
53
+ ...base,
54
+ apiBaseUrl: server.apiBaseUrl,
55
+ requestTimeoutMs: server.requestTimeoutMs,
56
+ };
57
+ }
58
+ return _mirrorConfig;
59
+ }
25
60
  //# sourceMappingURL=server-config.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"server-config.js","sourceRoot":"","sources":["../../src/config/server-config.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,wBAAwB,CAAC;AAC3C,OAAO,EAAE,cAAc,EAAE,MAAM,+BAA+B,CAAC;AAE/D,MAAM,kBAAkB,GAAG,CAAC,CAAC,MAAM,CAAC;IAClC,UAAU,EAAE,CAAC;SACV,MAAM,EAAE;SACR,OAAO,CAAC,mCAAmC,CAAC;SAC5C,QAAQ,CAAC,iCAAiC,CAAC;IAC9C,gBAAgB,EAAE,CAAC,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,QAAQ,CAAC,2BAA2B,CAAC;IACzF,WAAW,EAAE,CAAC,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC,uBAAuB,CAAC;CAC9E,CAAC,CAAC;AAIH,IAAI,OAAiC,CAAC;AAEtC,4DAA4D;AAC5D,MAAM,UAAU,eAAe;IAC7B,OAAO,KAAK,cAAc,CAAC,kBAAkB,EAAE;QAC7C,UAAU,EAAE,iBAAiB;QAC7B,gBAAgB,EAAE,uBAAuB;QACzC,WAAW,EAAE,kBAAkB;KAChC,CAAC,CAAC;IACH,OAAO,OAAO,CAAC;AACjB,CAAC"}
1
+ {"version":3,"file":"server-config.js","sourceRoot":"","sources":["../../src/config/server-config.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,wBAAwB,CAAC;AAC3C,OAAO,EAAE,cAAc,EAAE,MAAM,+BAA+B,CAAC;AAE/D,MAAM,kBAAkB,GAAG,CAAC,CAAC,MAAM,CAAC;IAClC,UAAU,EAAE,CAAC;SACV,MAAM,EAAE;SACR,OAAO,CAAC,mCAAmC,CAAC;SAC5C,QAAQ,CAAC,iCAAiC,CAAC;IAC9C,gBAAgB,EAAE,CAAC,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,QAAQ,CAAC,2BAA2B,CAAC;IACzF,WAAW,EAAE,CAAC,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC,uBAAuB,CAAC;CAC9E,CAAC,CAAC;AAEH,iFAAiF;AACjF,MAAM,kBAAkB,GAAG,CAAC,CAAC,MAAM,CAAC;IAClC,OAAO,EAAE,CAAC,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,QAAQ,CAAC,sCAAsC,CAAC;IAC3F,IAAI,EAAE,CAAC;SACJ,MAAM,EAAE;SACR,OAAO,CAAC,6BAA6B,CAAC;SACtC,QAAQ,CAAC,gDAAgD,CAAC;IAC7D,WAAW,EAAE,CAAC;SACX,MAAM,EAAE;SACR,OAAO,CAAC,WAAW,CAAC;SACpB,QAAQ,CAAC,sEAAsE,CAAC;IACnF,YAAY,EAAE,CAAC,CAAC,MAAM;SACnB,OAAO,EAAE;SACT,OAAO,CAAC,IAAI,CAAC;SACb,QAAQ,CAAC,gDAAgD,CAAC;CAC9D,CAAC,CAAC;AAUH,IAAI,OAAiC,CAAC;AACtC,IAAI,aAAuC,CAAC;AAE5C,4DAA4D;AAC5D,MAAM,UAAU,eAAe;IAC7B,OAAO,KAAK,cAAc,CAAC,kBAAkB,EAAE;QAC7C,UAAU,EAAE,iBAAiB;QAC7B,gBAAgB,EAAE,uBAAuB;QACzC,WAAW,EAAE,kBAAkB;KAChC,CAAC,CAAC;IACH,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,4DAA4D;AAC5D,MAAM,UAAU,eAAe;IAC7B,IAAI,CAAC,aAAa,EAAE,CAAC;QACnB,MAAM,IAAI,GAAG,cAAc,CAAC,kBAAkB,EAAE;YAC9C,OAAO,EAAE,mBAAmB;YAC5B,IAAI,EAAE,gBAAgB;YACtB,WAAW,EAAE,wBAAwB;YACrC,YAAY,EAAE,yBAAyB;SACxC,CAAC,CAAC;QACH,MAAM,MAAM,GAAG,eAAe,EAAE,CAAC;QACjC,aAAa,GAAG;YACd,GAAG,IAAI;YACP,UAAU,EAAE,MAAM,CAAC,UAAU;YAC7B,gBAAgB,EAAE,MAAM,CAAC,gBAAgB;SAC1C,CAAC;IACJ,CAAC;IACD,OAAO,aAAa,CAAC;AACvB,CAAC"}
package/dist/index.js CHANGED
@@ -4,10 +4,13 @@
4
4
  * @module index
5
5
  */
6
6
  import { createApp } from '@cyanheads/mcp-ts-core';
7
+ import { schedulerService } from '@cyanheads/mcp-ts-core/utils';
8
+ import { getMirrorConfig } from './config/server-config.js';
7
9
  import { allPromptDefinitions } from './mcp-server/prompts/definitions/index.js';
8
10
  import { allResourceDefinitions } from './mcp-server/resources/definitions/index.js';
9
11
  import { allToolDefinitions } from './mcp-server/tools/definitions/index.js';
10
12
  import { initClinicalTrialsService } from './services/clinical-trials/clinical-trials-service.js';
13
+ import { getClinicalTrialsMirror, initMirror } from './services/clinical-trials/mirror/index.js';
11
14
  await createApp({
12
15
  tools: allToolDefinitions,
13
16
  resources: allResourceDefinitions,
@@ -16,8 +19,24 @@ await createApp({
16
19
  landing: {
17
20
  requireAuth: false,
18
21
  },
19
- setup() {
22
+ async setup({ config }) {
20
23
  initClinicalTrialsService();
24
+ const mirrorConfig = getMirrorConfig();
25
+ if (mirrorConfig.enabled) {
26
+ initMirror(mirrorConfig);
27
+ // Schedule incremental refresh on HTTP transport only — stdio operators
28
+ // run the server per-request and don't benefit from a persistent cron.
29
+ // The full init must be run out-of-band (bootstrap script, CLI, or manual runSync).
30
+ if (config.mcpTransportType === 'http') {
31
+ const mirror = getClinicalTrialsMirror();
32
+ if (mirror) {
33
+ await schedulerService.schedule('ct-mirror-refresh', mirrorConfig.refreshCron, async (_ctx) => {
34
+ await mirror.runSync({ mode: 'refresh' });
35
+ }, 'Incremental ClinicalTrials.gov mirror refresh');
36
+ schedulerService.start('ct-mirror-refresh');
37
+ }
38
+ }
39
+ }
21
40
  },
22
41
  });
23
42
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AACA;;;GAGG;AAEH,OAAO,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AACnD,OAAO,EAAE,oBAAoB,EAAE,MAAM,2CAA2C,CAAC;AACjF,OAAO,EAAE,sBAAsB,EAAE,MAAM,6CAA6C,CAAC;AACrF,OAAO,EAAE,kBAAkB,EAAE,MAAM,yCAAyC,CAAC;AAC7E,OAAO,EAAE,yBAAyB,EAAE,MAAM,uDAAuD,CAAC;AAElG,MAAM,SAAS,CAAC;IACd,KAAK,EAAE,kBAAkB;IACzB,SAAS,EAAE,sBAAsB;IACjC,OAAO,EAAE,oBAAoB;IAC7B,YAAY,EAAE,qsBAAqsB;IACntB,OAAO,EAAE;QACP,WAAW,EAAE,KAAK;KACnB;IACD,KAAK;QACH,yBAAyB,EAAE,CAAC;IAC9B,CAAC;CACF,CAAC,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AACA;;;GAGG;AAEH,OAAO,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AACnD,OAAO,EAAE,gBAAgB,EAAE,MAAM,8BAA8B,CAAC;AAChE,OAAO,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAC;AAC5D,OAAO,EAAE,oBAAoB,EAAE,MAAM,2CAA2C,CAAC;AACjF,OAAO,EAAE,sBAAsB,EAAE,MAAM,6CAA6C,CAAC;AACrF,OAAO,EAAE,kBAAkB,EAAE,MAAM,yCAAyC,CAAC;AAC7E,OAAO,EAAE,yBAAyB,EAAE,MAAM,uDAAuD,CAAC;AAClG,OAAO,EAAE,uBAAuB,EAAE,UAAU,EAAE,MAAM,4CAA4C,CAAC;AAEjG,MAAM,SAAS,CAAC;IACd,KAAK,EAAE,kBAAkB;IACzB,SAAS,EAAE,sBAAsB;IACjC,OAAO,EAAE,oBAAoB;IAC7B,YAAY,EAAE,qsBAAqsB;IACntB,OAAO,EAAE;QACP,WAAW,EAAE,KAAK;KACnB;IACD,KAAK,CAAC,KAAK,CAAC,EAAE,MAAM,EAAE;QACpB,yBAAyB,EAAE,CAAC;QAE5B,MAAM,YAAY,GAAG,eAAe,EAAE,CAAC;QACvC,IAAI,YAAY,CAAC,OAAO,EAAE,CAAC;YACzB,UAAU,CAAC,YAAY,CAAC,CAAC;YAEzB,wEAAwE;YACxE,uEAAuE;YACvE,oFAAoF;YACpF,IAAI,MAAM,CAAC,gBAAgB,KAAK,MAAM,EAAE,CAAC;gBACvC,MAAM,MAAM,GAAG,uBAAuB,EAAE,CAAC;gBACzC,IAAI,MAAM,EAAE,CAAC;oBACX,MAAM,gBAAgB,CAAC,QAAQ,CAC7B,mBAAmB,EACnB,YAAY,CAAC,WAAW,EACxB,KAAK,EAAE,IAAI,EAAE,EAAE;wBACb,MAAM,MAAM,CAAC,OAAO,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC,CAAC;oBAC5C,CAAC,EACD,+CAA+C,CAChD,CAAC;oBACF,gBAAgB,CAAC,KAAK,CAAC,mBAAmB,CAAC,CAAC;gBAC9C,CAAC;YACH,CAAC;QACH,CAAC;IACH,CAAC;CACF,CAAC,CAAC"}
@@ -1,5 +1,5 @@
1
1
  /**
2
- * @fileoverview Extract outcomes, adverse events, participant flow, and baseline from completed studies.
2
+ * @fileoverview Extract outcomes, adverse events, participant flow, baseline, and results metadata from completed studies.
3
3
  * @module mcp-server/tools/definitions/get-study-results.tool
4
4
  */
5
5
  import { z } from '@cyanheads/mcp-ts-core';
@@ -11,11 +11,13 @@ export declare const getStudyResults: import("@cyanheads/mcp-ts-core").ToolDefin
11
11
  adverseEvents: "adverseEvents";
12
12
  participantFlow: "participantFlow";
13
13
  baseline: "baseline";
14
+ moreInfo: "moreInfo";
14
15
  }>, z.ZodArray<z.ZodEnum<{
15
16
  outcomes: "outcomes";
16
17
  adverseEvents: "adverseEvents";
17
18
  participantFlow: "participantFlow";
18
19
  baseline: "baseline";
20
+ moreInfo: "moreInfo";
19
21
  }>>]>>;
20
22
  summary: z.ZodDefault<z.ZodBoolean>;
21
23
  }, z.core.$strip>, z.ZodObject<{
@@ -27,6 +29,7 @@ export declare const getStudyResults: import("@cyanheads/mcp-ts-core").ToolDefin
27
29
  adverseEvents: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
28
30
  participantFlow: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
29
31
  baseline: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
32
+ moreInfo: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
30
33
  }, z.core.$strip>>;
31
34
  studiesWithoutResults: z.ZodOptional<z.ZodArray<z.ZodString>>;
32
35
  fetchErrors: z.ZodOptional<z.ZodArray<z.ZodObject<{
@@ -1 +1 @@
1
- {"version":3,"file":"get-study-results.tool.d.ts","sourceRoot":"","sources":["../../../../src/mcp-server/tools/definitions/get-study-results.tool.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAQ,CAAC,EAAE,MAAM,wBAAwB,CAAC;AACjD,OAAO,EAAE,gBAAgB,EAAE,MAAM,+BAA+B,CAAC;AA+YjE,eAAO,MAAM,eAAe;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cA2O1B,CAAC"}
1
+ {"version":3,"file":"get-study-results.tool.d.ts","sourceRoot":"","sources":["../../../../src/mcp-server/tools/definitions/get-study-results.tool.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAQ,CAAC,EAAE,MAAM,wBAAwB,CAAC;AACjD,OAAO,EAAE,gBAAgB,EAAE,MAAM,+BAA+B,CAAC;AAucjE,eAAO,MAAM,eAAe;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cAoP1B,CAAC"}
@@ -1,5 +1,5 @@
1
1
  /**
2
- * @fileoverview Extract outcomes, adverse events, participant flow, and baseline from completed studies.
2
+ * @fileoverview Extract outcomes, adverse events, participant flow, baseline, and results metadata from completed studies.
3
3
  * @module mcp-server/tools/definitions/get-study-results.tool
4
4
  */
5
5
  import { tool, z } from '@cyanheads/mcp-ts-core';
@@ -7,13 +7,20 @@ import { JsonRpcErrorCode } from '@cyanheads/mcp-ts-core/errors';
7
7
  import { getClinicalTrialsService } from '../../../services/clinical-trials/clinical-trials-service.js';
8
8
  import { nctIdSchema } from '../utils/_schemas.js';
9
9
  import { RECOVERY_HINTS } from '../utils/recovery-hints.js';
10
- const VALID_SECTIONS = ['outcomes', 'adverseEvents', 'participantFlow', 'baseline'];
10
+ const VALID_SECTIONS = [
11
+ 'outcomes',
12
+ 'adverseEvents',
13
+ 'participantFlow',
14
+ 'baseline',
15
+ 'moreInfo',
16
+ ];
11
17
  /** Map section names to resultsSection module keys. */
12
18
  const SECTION_MAP = {
13
19
  outcomes: 'outcomeMeasuresModule',
14
20
  adverseEvents: 'adverseEventsModule',
15
21
  participantFlow: 'participantFlowModule',
16
22
  baseline: 'baselineCharacteristicsModule',
23
+ moreInfo: 'moreInfoModule',
17
24
  };
18
25
  /**
19
26
  * Extract top-line per-group stats from a raw outcome object (full mode).
@@ -156,6 +163,26 @@ function summarizeBaseline(bl) {
156
163
  : undefined,
157
164
  };
158
165
  }
166
+ /**
167
+ * Condense the more-info module — keep the small metadata (limitations, contact,
168
+ * agreement flags) and drop only the verbose `certainAgreement.otherDetails` prose.
169
+ */
170
+ function summarizeMoreInfo(mi) {
171
+ const agreement = mi.certainAgreement;
172
+ return {
173
+ ...(mi.limitationsAndCaveats ? { limitationsAndCaveats: mi.limitationsAndCaveats } : {}),
174
+ ...(agreement
175
+ ? {
176
+ certainAgreement: {
177
+ piSponsorEmployee: agreement.piSponsorEmployee,
178
+ restrictiveAgreement: agreement.restrictiveAgreement,
179
+ restrictionType: agreement.restrictionType,
180
+ },
181
+ }
182
+ : {}),
183
+ ...(mi.pointOfContact ? { pointOfContact: mi.pointOfContact } : {}),
184
+ };
185
+ }
159
186
  /** Build a groupId→title lookup from a groups array. */
160
187
  function groupMap(obj) {
161
188
  const groups = (obj.groups ?? obj.eventGroups);
@@ -357,8 +384,39 @@ function formatBaseline(bl, lines) {
357
384
  }
358
385
  }
359
386
  }
387
+ function formatMoreInfo(mi, lines) {
388
+ // Header is unconditional, matching the sibling section renderers — keeps the
389
+ // section visible on the content[] channel for format-parity, whose synthetic
390
+ // sample for an opaque record carries none of the named sub-keys below.
391
+ lines.push('\n### More Info');
392
+ const lim = mi.limitationsAndCaveats;
393
+ const agr = mi.certainAgreement;
394
+ const poc = mi.pointOfContact;
395
+ if (lim?.description)
396
+ lines.push(`**Limitations & Caveats:** ${lim.description}`);
397
+ if (agr) {
398
+ const parts = [
399
+ agr.restrictiveAgreement != null
400
+ ? `Restrictive agreement: ${agr.restrictiveAgreement ? 'yes' : 'no'}`
401
+ : '',
402
+ agr.restrictionType ? `Type: ${agr.restrictionType}` : '',
403
+ agr.piSponsorEmployee != null
404
+ ? `PI is sponsor employee: ${agr.piSponsorEmployee ? 'yes' : 'no'}`
405
+ : '',
406
+ ].filter(Boolean);
407
+ if (parts.length)
408
+ lines.push(`**Certain Agreement:** ${parts.join(' | ')}`);
409
+ if (agr.otherDetails)
410
+ lines.push(` ${agr.otherDetails}`);
411
+ }
412
+ if (poc) {
413
+ const parts = [poc.title, poc.organization, poc.email, poc.phone].filter(Boolean);
414
+ if (parts.length)
415
+ lines.push(`**Point of Contact:** ${parts.join(' | ')}`);
416
+ }
417
+ }
360
418
  export const getStudyResults = tool('clinicaltrials_get_study_results', {
361
- description: `Fetch clinical trial results data from ClinicalTrials.gov for completed studies — outcome measures with statistics, adverse events, participant flow, and baseline characteristics. Only available for studies where hasResults is true. Use clinicaltrials_search_studies first to find studies with results.`,
419
+ description: `Fetch clinical trial results data from ClinicalTrials.gov for completed studies — outcome measures with statistics, adverse events, participant flow, baseline characteristics, and results metadata (limitations & caveats, certain-agreement disclosure restrictions, results point of contact). Only available for studies where hasResults is true. Use clinicaltrials_search_studies first to find studies with results.`,
362
420
  annotations: {
363
421
  readOnlyHint: true,
364
422
  idempotentHint: true,
@@ -392,7 +450,7 @@ export const getStudyResults = tool('clinicaltrials_get_study_results', {
392
450
  z.array(z.enum(VALID_SECTIONS)).describe('Multiple section names.'),
393
451
  ])
394
452
  .optional()
395
- .describe(`Filter which sections to return. Values: outcomes, adverseEvents, participantFlow, baseline. Omit for all sections.`),
453
+ .describe(`Filter which sections to return. Values: outcomes, adverseEvents, participantFlow, baseline, moreInfo. Omit for all sections.`),
396
454
  summary: z
397
455
  .boolean()
398
456
  .default(false)
@@ -421,6 +479,10 @@ export const getStudyResults = tool('clinicaltrials_get_study_results', {
421
479
  .record(z.string(), z.unknown())
422
480
  .optional()
423
481
  .describe('Baseline characteristics. Summary mode: groupCount, measureCount, and measures (title, paramType, unitOfMeasure). Full mode: adds groups and measures with per-group classes/categories/measurements.'),
482
+ moreInfo: z
483
+ .record(z.string(), z.unknown())
484
+ .optional()
485
+ .describe('Results metadata from moreInfoModule. Summary mode: limitationsAndCaveats, certainAgreement flags (piSponsorEmployee, restrictiveAgreement, restrictionType), and pointOfContact. Full mode: adds certainAgreement.otherDetails.'),
424
486
  })
425
487
  .describe('Extracted results for one study.'))
426
488
  .describe('Results per study.'),
@@ -511,6 +573,8 @@ export const getStudyResults = tool('clinicaltrials_get_study_results', {
511
573
  entry.participantFlow = summarizeParticipantFlow(data);
512
574
  else if (section === 'baseline')
513
575
  entry.baseline = summarizeBaseline(data);
576
+ else if (section === 'moreInfo')
577
+ entry.moreInfo = summarizeMoreInfo(data);
514
578
  }
515
579
  else {
516
580
  entry[section] = data;
@@ -546,6 +610,8 @@ export const getStudyResults = tool('clinicaltrials_get_study_results', {
546
610
  formatParticipantFlow(r.participantFlow, lines);
547
611
  if (r.baseline)
548
612
  formatBaseline(r.baseline, lines);
613
+ if (r.moreInfo)
614
+ formatMoreInfo(r.moreInfo, lines);
549
615
  lines.push('');
550
616
  }
551
617
  if (result.studiesWithoutResults?.length)
@@ -1 +1 @@
1
- {"version":3,"file":"get-study-results.tool.js","sourceRoot":"","sources":["../../../../src/mcp-server/tools/definitions/get-study-results.tool.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"get-study-results.tool.js","sourceRoot":"","sources":["../../../../src/mcp-server/tools/definitions/get-study-results.tool.ts"],"names":[],"mappings":"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"}
@@ -1,8 +1,12 @@
1
1
  /**
2
2
  * @fileoverview ClinicalTrials.gov REST API v2 client with retry, rate limiting, and timeout.
3
+ * Routes search and count operations to the local mirror when enabled and ready,
4
+ * falling back to the live API when the mirror is unavailable or the query requires
5
+ * features the mirror cannot answer (geo filters, complex AREA[] expressions).
3
6
  * @module services/clinical-trials/clinical-trials-service
4
7
  */
5
8
  import type { Context } from '@cyanheads/mcp-ts-core';
9
+ import type { MirrorStatus } from '@cyanheads/mcp-ts-core/mirror';
6
10
  import { type ServerConfig } from '../../config/server-config.js';
7
11
  import { type FieldIndexEntry } from './field-search.js';
8
12
  import type { FieldNode, FieldValueStats, PagedStudiesResponse, SearchParams, Study } from './types.js';
@@ -35,12 +39,27 @@ export declare class ClinicalTrialsService {
35
39
  getStudy(nctId: string, ctx: Context): Promise<Study>;
36
40
  /** Fetch multiple studies by NCT IDs in a single request. Returns identification and results section data. */
37
41
  getStudiesBatch(nctIds: string[], ctx: Context): Promise<Study[]>;
42
+ /**
43
+ * Return current mirror status, or `undefined` when the mirror is disabled.
44
+ * Exposed so tools can surface mirror state to agents when useful.
45
+ */
46
+ mirrorStatus(): Promise<MirrorStatus | undefined>;
38
47
  /** Get field definitions (metadata tree) from the data model. */
39
48
  getMetadata(includeIndexedOnly: boolean, ctx: Context): Promise<FieldNode[]>;
40
49
  /** Get field value statistics for the specified fields. */
41
50
  getFieldValues(fields: string[], ctx: Context): Promise<FieldValueStats[]>;
42
51
  /** Search the field model by keyword, returning ranked matches with paths and types. */
43
52
  searchFieldDefinitions(query: string, limit: number, ctx: Context): Promise<FieldIndexEntry[]>;
53
+ /**
54
+ * Attempt to serve a `searchStudies` call from the local mirror.
55
+ *
56
+ * Returns `null` when the mirror is not ready, or when the query uses
57
+ * features the mirror cannot answer (geo filters, complex AREA[] advanced
58
+ * filters, field selection beyond the metadata tier, or pageToken
59
+ * continuation from a previous live-API page). In all of those cases the
60
+ * caller falls through to the live API.
61
+ */
62
+ private tryMirrorSearch;
44
63
  /** Lazy-load and memoize the flattened field index from /studies/metadata. */
45
64
  private getFieldIndex;
46
65
  /**
@@ -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;AAUtD,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;AA4BpB,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,OAAO,CAAC,iBAAiB,CAMX;gBAEF,MAAM,EAAE,YAAY,EAAE,OAAO,GAAE,4BAAiC;IAU5E,2EAA2E;IACrE,aAAa,CAAC,MAAM,EAAE,YAAY,EAAE,GAAG,EAAE,OAAO,GAAG,OAAO,CAAC,oBAAoB,CAAC;IAWtF,sCAAsC;IACtC,QAAQ,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,OAAO,GAAG,OAAO,CAAC,KAAK,CAAC;IAKrD,8GAA8G;IACxG,eAAe,CAAC,MAAM,EAAE,MAAM,EAAE,EAAE,GAAG,EAAE,OAAO,GAAG,OAAO,CAAC,KAAK,EAAE,CAAC;IAevE,iEAAiE;IACjE,WAAW,CAAC,kBAAkB,EAAE,OAAO,EAAE,GAAG,EAAE,OAAO,GAAG,OAAO,CAAC,SAAS,EAAE,CAAC;IAO5E,2DAA2D;IACrD,cAAc,CAAC,MAAM,EAAE,MAAM,EAAE,EAAE,GAAG,EAAE,OAAO,GAAG,OAAO,CAAC,eAAe,EAAE,CAAC;IAuChF,wFAAwF;IAClF,sBAAsB,CAC1B,KAAK,EAAE,MAAM,EACb,KAAK,EAAE,MAAM,EACb,GAAG,EAAE,OAAO,GACX,OAAO,CAAC,eAAe,EAAE,CAAC;IAU7B,8EAA8E;IAC9E,OAAO,CAAC,aAAa;IAoCrB;;;;;;OAMG;YACW,eAAe;IAoC7B,wEAAwE;YAC1D,cAAc;IAwC5B,OAAO,CAAC,gBAAgB;YA+BV,QAAQ;YAMR,SAAS;CAyLxB;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;;;;;;GAMG;AAEH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,wBAAwB,CAAC;AAStD,OAAO,KAAK,EAAU,YAAY,EAAe,MAAM,+BAA+B,CAAC;AAEvF,OAAO,EAAoC,KAAK,YAAY,EAAE,MAAM,2BAA2B,CAAC;AAChG,OAAO,EACL,KAAK,eAAe,EAIrB,MAAM,mBAAmB,CAAC;AAG3B,OAAO,KAAK,EACV,SAAS,EACT,eAAe,EACf,oBAAoB,EACpB,YAAY,EACZ,KAAK,EACN,MAAM,YAAY,CAAC;AA4BpB,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,OAAO,CAAC,iBAAiB,CAMX;gBAEF,MAAM,EAAE,YAAY,EAAE,OAAO,GAAE,4BAAiC;IAU5E,2EAA2E;IACrE,aAAa,CAAC,MAAM,EAAE,YAAY,EAAE,GAAG,EAAE,OAAO,GAAG,OAAO,CAAC,oBAAoB,CAAC;IAkBtF,sCAAsC;IACtC,QAAQ,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,OAAO,GAAG,OAAO,CAAC,KAAK,CAAC;IAKrD,8GAA8G;IACxG,eAAe,CAAC,MAAM,EAAE,MAAM,EAAE,EAAE,GAAG,EAAE,OAAO,GAAG,OAAO,CAAC,KAAK,EAAE,CAAC;IA2BvE;;;OAGG;IACG,YAAY,IAAI,OAAO,CAAC,YAAY,GAAG,SAAS,CAAC;IAMvD,iEAAiE;IACjE,WAAW,CAAC,kBAAkB,EAAE,OAAO,EAAE,GAAG,EAAE,OAAO,GAAG,OAAO,CAAC,SAAS,EAAE,CAAC;IAO5E,2DAA2D;IACrD,cAAc,CAAC,MAAM,EAAE,MAAM,EAAE,EAAE,GAAG,EAAE,OAAO,GAAG,OAAO,CAAC,eAAe,EAAE,CAAC;IAuChF,wFAAwF;IAClF,sBAAsB,CAC1B,KAAK,EAAE,MAAM,EACb,KAAK,EAAE,MAAM,EACb,GAAG,EAAE,OAAO,GACX,OAAO,CAAC,eAAe,EAAE,CAAC;IAU7B;;;;;;;;OAQG;YACW,eAAe;IAsG7B,8EAA8E;IAC9E,OAAO,CAAC,aAAa;IAoCrB;;;;;;OAMG;YACW,eAAe;IAoC7B,wEAAwE;YAC1D,cAAc;IAwC5B,OAAO,CAAC,gBAAgB;YA+BV,QAAQ;YAMR,SAAS;CAyLxB;AAyGD,0EAA0E;AAC1E,wBAAgB,yBAAyB,IAAI,IAAI,CAEhD;AAED,2DAA2D;AAC3D,wBAAgB,wBAAwB,IAAI,qBAAqB,CAMhE"}