UNPKG

clinicaltrialsgov-mcp-server

Version:

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

61 lines 3.91 kB
/** * @fileoverview Search clinical trial studies from ClinicalTrials.gov. * @module mcp-server/tools/definitions/search-studies.tool */ import { z } from '@cyanheads/mcp-ts-core'; import { JsonRpcErrorCode } from '@cyanheads/mcp-ts-core/errors'; export declare const searchStudies: import("@cyanheads/mcp-ts-core").ToolDefinition<z.ZodObject<{ query: z.ZodOptional<z.ZodString>; conditionQuery: z.ZodOptional<z.ZodString>; interventionQuery: z.ZodOptional<z.ZodString>; locationQuery: z.ZodOptional<z.ZodString>; sponsorQuery: z.ZodOptional<z.ZodString>; titleQuery: z.ZodOptional<z.ZodString>; outcomeQuery: z.ZodOptional<z.ZodString>; statusFilter: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodArray<z.ZodString>]>>; phaseFilter: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodArray<z.ZodString>]>>; advancedFilter: z.ZodOptional<z.ZodString>; geoFilter: z.ZodOptional<z.ZodString>; nctIds: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodArray<z.ZodString>]>>; fields: z.ZodOptional<z.ZodArray<z.ZodString>>; sort: z.ZodOptional<z.ZodString>; pageSize: z.ZodDefault<z.ZodNumber>; pageToken: z.ZodOptional<z.ZodString>; countTotal: z.ZodDefault<z.ZodBoolean>; includeUnknownEnrollment: z.ZodDefault<z.ZodBoolean>; }, z.core.$strip>, z.ZodObject<{ studies: z.ZodArray<z.ZodRecord<z.ZodString, z.ZodUnknown>>; totalCount: z.ZodOptional<z.ZodNumber>; nextPageToken: z.ZodOptional<z.ZodString>; requestedFields: z.ZodOptional<z.ZodArray<z.ZodString>>; }, z.core.$strip>, readonly [{ readonly reason: "ids_not_found"; readonly code: JsonRpcErrorCode.NotFound; readonly when: "One or more NCT IDs in the nctIds filter are not present at ClinicalTrials.gov."; readonly recovery: "Verify each NCT ID exists at clinicaltrials.gov, or call clinicaltrials_search_studies first to discover valid identifiers."; }, { readonly reason: "field_invalid"; readonly code: JsonRpcErrorCode.ValidationError; readonly when: "A field name in the fields parameter or AREA[] expression is invalid (often a module name instead of a piece name)."; readonly recovery: "Call clinicaltrials_get_field_definitions to browse the field tree; use PascalCase piece names like OverallStatus, Phase, or StudyType."; }, { readonly reason: "enum_invalid"; readonly code: JsonRpcErrorCode.ValidationError; readonly when: "statusFilter or phaseFilter contains a value ClinicalTrials.gov does not accept."; readonly recovery: "Call clinicaltrials_get_field_values with fields=[\"OverallStatus\"] or fields=[\"Phase\"] to see the valid enum values the filter accepts."; }, { readonly reason: "query_parse_error"; readonly code: JsonRpcErrorCode.ValidationError; readonly when: "A free-text query or advancedFilter expression uses syntax the upstream Essie parser rejects — typically `[ ]` (AREA[]-reserved) or an unmatched `(` / `)` in a query/conditionQuery/etc. value."; readonly recovery: "Field-scoped search uses advancedFilter with AREA[FieldName]value (call clinicaltrials_get_field_definitions to look up the right FieldName); free-text fields (query, conditionQuery, etc.) take plain words plus AND, OR, NOT — `[ ]` are reserved (advancedFilter AREA[] only); `( )` group sub-expressions and are safe when matched; `,` acts as AND."; }, { readonly reason: "rate_limited"; readonly code: JsonRpcErrorCode.RateLimited; readonly when: "ClinicalTrials.gov returned 429 after retry budget exhausted."; readonly recovery: "ClinicalTrials.gov rate-limited the request after several retries; wait about a minute before trying again."; readonly retryable: true; }], { readonly searchCriteria: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>; readonly notice: z.ZodOptional<z.ZodString>; }>; //# sourceMappingURL=search-studies.tool.d.ts.map