Model Context Protocol server for accessing clinical trials data from ICTRP (WHO International Clinical Trials Registry Platform) and ClinicalTrials.gov
Two tools with basic schemas and descriptions, but significant gaps in parameter documentation and output schema clarity. search-clinical-trials has 5 parameters with descriptions, but lacks enums for constrained values (recruitment status, country). get-trial-details is minimal (1 param). Neither tool documents output schema structure. Descriptions are adequate (60-80 chars) but lack actionable context for LLM selection. No error handling guidance, no pagination support despite search tool returning multiple results. Parameter descriptions lack format constraints and valid value ranges.
Get detailed information about a specific clinical trial by trial ID
Search for clinical trials based on condition, country, and other parameters
No output schema documented for either tool. LLMs cannot plan downstream calls or extract required fields without knowing response structure.
search-clinical-trials lacks pagination support (no limit, offset, page_size, or next_cursor parameters). Large result sets will blow context window.
Parameter 'recruitment' and 'country' accept free-form strings with no enum constraints. LLMs will hallucinate invalid values like 'recruiting-now' or 'United States of America'.
Parameter descriptions lack format constraints. 'maxResults' has no min/max bounds; 'trialId' has no format hint (e.g., 'NCT' prefix pattern). LLMs will pass invalid values.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | F | 48 | 2026-07-28+ | v2 |
No error handling guidance. If a trial ID is invalid or search returns no results, LLMs have no recovery path. Descriptions should include 'If no results, try broadening the condition parameter.'