search_rare_diseases
Search clinical trials for rare diseases and orphan conditions to find relevant studies and recruitment opportunities.
Instructions
Search clinical trials for rare diseases and orphan conditions
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| rareDisease | Yes | Rare disease or orphan condition name | |
| recruitmentStatus | No | Filter by recruitment status | |
| pageSize | No | Number of results to return (default 10, max 100) |
Implementation Reference
- src/index.ts:1624-1701 (handler)The handler implementation for the 'search_rare_diseases' tool, which searches for rare diseases using the ClinicalTrials.gov API.
private async handleSearchRareDiseases(args: any) { if (!args?.rareDisease) { throw new McpError( ErrorCode.InvalidParams, "Rare disease parameter is required" ); } const params: any = { format: "json", pageSize: args?.pageSize || 10, "query.cond": args.rareDisease, }; if (args?.recruitmentStatus) { params["filter.overallStatus"] = args.recruitmentStatus; } // Add terms commonly associated with rare diseases params["query.term"] = `${args.rareDisease} OR orphan OR rare`; try { const response: AxiosResponse<StudySearchResponse> = await this.axiosInstance.get("/studies", { params }); const studies = response.data.studies || []; const results = studies.map((study) => ({ ...this.formatStudySummary(study), conditions: study.protocolSection.conditionsModule?.conditions || [], eligibility: { sex: study.protocolSection.eligibilityModule?.sex || "Unknown", minimumAge: study.protocolSection.eligibilityModule?.minimumAge || "Not specified", maximumAge: study.protocolSection.eligibilityModule?.maximumAge || "Not specified", }, })); return { content: [ { type: "text", text: JSON.stringify( { searchCriteria: { rareDisease: args.rareDisease, recruitmentStatus: args?.recruitmentStatus, searchNote: "Includes orphan and rare disease designations", }, totalCount: response.data.totalCount || 0, resultsShown: results.length, studies: results, }, null, 2 ), }, ], }; } catch (error) { if (axios.isAxiosError(error)) { return { content: [ { type: "text", text: `Clinical Trials API error: ${ error.response?.data?.message || error.message }`, }, ], isError: true, }; } throw error; } } - src/index.ts:469-495 (registration)Tool registration for 'search_rare_diseases' in the list of available tools.
name: "search_rare_diseases", description: "Search clinical trials for rare diseases and orphan conditions", inputSchema: { type: "object", properties: { rareDisease: { type: "string", description: "Rare disease or orphan condition name", minLength: 2, }, recruitmentStatus: { type: "string", description: "Filter by recruitment status", enum: ["RECRUITING", "NOT_YET_RECRUITING", "COMPLETED"], }, pageSize: { type: "number", description: "Number of results to return (default 10, max 100)", minimum: 1, maximum: 100, }, }, required: ["rareDisease"], }, },