search_world_trials
PRIMARY TRIAL TOOL. USE WHEN you need actual clinical-trial RECORDS for a disease, intervention, sponsor, country or date window. Searches DISTINCT real-world trials across the admitted PRIMARY registries — ClinicalTrials.gov (US NIH) and ISRCTN (UK) — deduplicated by exact cross-registry identifier match, so a trial registered twice is returned ONCE, not twice. Secondary aggregators are deliberately excluded, so the index is registry-authoritative but NOT a census of every country. Every result is evidence-ready: canonical id, normalized status/phase/study type/enrollment/countries/primary endpoints, the registries that hold it, source URLs, retrieval timestamps, payload checksums and a quotable citation block. HOW TO NARROW: use q for the disease, then intervention to separate MODALITIES within that disease (e.g. "stem cell", "encapsulation", "gene edit", "xenotransplant") — running several intervention-scoped searches is how you build a comparative landscape. Use status="active" for currently-running human studies. SCOPE WARNING: omit registry to keep the answer worldwide; supplying it makes the result single-registry evidence and you must label it as such. ROWS ARE COMPACT by default (20 per page, about 10 KB); pass include="full" only when you need endpoints, eligibility or locations, or call get_world_trial for one trial. COUNTING: read data.totalCanonical or call get_trial_coverage; do NOT page through results to count. Page with _meta.pagination.nextUrl only when you need more records to read. Status/phase/studyType/country are case-insensitive and normalized (US = USA = United States; 1 = I = PHASE1); unknown values return 400. q expands lay terms and MeSH/ICD-10 codes (juvenile diabetes, E10, heart attack); data.resolvedTerms shows what was searched. NEXT: get_world_trial for one trial's full per-registry provenance and raw payload; get_trial_coverage to learn how much of your result set is duplicate registrations; get_trial_landscape for the derived shape (phase mix, sponsors, reporting gap, momentum); find_trial_registrations to see every registry one trial appears in.
Tool call template
This tool declares no required parameters. Add optional parameters from the input schema as needed.
{
"id": 1,
"jsonrpc": "2.0",
"method": "tools/call",
"params": {
"arguments": {},
"name": "search_world_trials"
}
}Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| q | No | Free-text condition/intervention query, e.g. "type 1 diabetes islet". Tokens are ANDed. | |
| page | No | Page number, 1-based. | |
| sort | No | lastUpdated (default) | startDate | enrollment | canonicalId. | |
| limit | No | Results per call (the same as pageSize). | |
| phase | No | Comma-separated phases: 1-4, I-IV, early_phase1, or 1/2. Phase is missing for much of the corpus. | |
| topic | No | Cure Protocol topic id (get_trial_stats lists them). | |
| cursor | No | Opaque cursor. Pass _meta.pagination.nextCursor from the previous call unchanged to get the next page; omit it to start at the beginning. | |
| status | No | recruiting | active_not_recruiting | not_yet_recruiting | completed | halted | terminated | withdrawn | not_authorised | unknown, or "active" for any open status (recruiting + active_not_recruiting + not_yet_recruiting). Case-insensitive; unknown values return 400. | |
| country | No | Recruiting/site country: full English name or ISO code (US, USA, UK, DE, ...). | |
| include | No | "full" for complete records instead of compact rows; "eligibilityText" adds the full inclusion/exclusion prose (large). Use only when you must reason about endpoints or eligibility. | |
| sponsor | No | Free-text sponsor name match. | |
| pageSize | No | Results per page (default 20, max 100). Keep it small: use get_trial_coverage for counts. | |
| registry | No | clinicaltrials_gov | isrctn. OMIT for full-index scope, restricting to one registry makes the answer single-registry evidence. | |
| condition | No | Exact registry condition term. Prefer q unless you know the exact string. | |
| studyType | No | interventional | observational | expanded_access | other. | |
| intervention | No | Free-text intervention match: the way to separate MODALITIES within one disease. | |
| startedAfter | No | ISO date: study start on/after. | |
| updatedSince | No | ISO date: only records updated on/after this date. | |
| crossRegistry | No | true = only trials registered in more than one registry. | |
| maxEnrollment | No | Maximum normalized enrollment. | |
| minEnrollment | No | Minimum normalized enrollment. | |
| startedBefore | No | ISO date: study start on/before. | |
| completionAfter | No | ISO date: completion on/after. | |
| completionBefore | No | ISO date: completion on/before. | |
| resultsAvailable | No | Restrict to trials with/without posted results. |
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
| data | No | The answer. Shape depends on the tool; describe_tool documents it. | |
| _meta | No | source, generatedAt, sources (per-source lastSyncedAt and ageHours), rateLimit, disclaimer. |