ctis_search_trials
Pack: eu-ctis · Endpoint: https://gateway.pipeworx.io/eu-ctis/mcp
Search clinical trials authorised in the EU/EEA under Regulation 536/2014, from the EU Clinical Trials Information System (CTIS). Filter by medicine or active substance, medical condition, sponsor, trial status, phase, member state, age group, sex, results availability and start date. Returns trial number, title, status, sponsor, phase, conditions, products, per-country status, enrolment and primary endpoint. Answers questions such as which European trials are recruiting for a drug, who sponsors them and which member states they run in.
Parameters
| Name | Type | Required | Description |
|---|---|---|---|
query | string | no | Free-text terms matched across the trial record (any of the words) |
medicine | string | no | Medicine, brand or active substance name, e.g. “pembrolizumab” |
condition | string | no | Medical condition studied, e.g. “melanoma” |
sponsor | string | no | Sponsor organisation name, e.g. “Novartis” |
title | string | no | Words that must appear in the trial title |
endpoint | string | no | Words appearing in the trial endpoints |
exclude | string | no | Terms that must NOT appear in the record |
status | array | no | Trial status: “Under evaluation”, “Authorised, recruitment pending”, “Authorised, recruiting”, “Ongoing, recruiting”, “Ongoing, recruitment ended”, “Temporarily halted”, “Suspended”, “Ended”, “Expired”, “Revoked”, “Not authorised”, “Cancelled” |
items | string | no | |
phase | array | no | Trial phase — “1”, “2”, “3”, “4” (or “phase III”), which expands to the integrated phases too |
items | string | no | |
country | array | no | EEA member states concerned, by name or ISO code, e.g. [“Germany”, “ES”] |
items | string | no | |
age_group | array | no | Age range of subjects: “in utero”, “0-17 years”, “18-64 years”, “65+ years” |
items | string | no | |
region | string | no | Where the trial runs: “EEA only”, “non-EEA only” or “both” |
gender | string | no | Restrict to trials enrolling “male” or “female” subjects |
has_results | boolean | no | Only trials that have posted study results |
rare_disease | boolean | no | Only trials in a rare disease |
orphan_designation | boolean | no | Only trials of a product with an orphan designation |
low_intervention | boolean | no | Only low-intervention trials |
start_from | string | no | Earliest EEA start date, YYYY-MM-DD |
start_to | string | no | Latest EEA start date, YYYY-MM-DD |
sort_by | string | no | Sort field: decisionDate (default), ctNumber, sponsor, ctStatus |
sort_direction | string | no | ASC or DESC (default DESC) |
page | number | no | Result page, 1-based |
limit | number | no | Results per page, 1-100 (default 20) |
Example call
Arguments
{
"medicine": "pembrolizumab",
"status": [
"Ongoing, recruiting"
],
"country": [
"Germany"
],
"limit": 2
}
curl
curl -X POST https://gateway.pipeworx.io/eu-ctis/mcp \
-H 'Content-Type: application/json' \
-d '{"jsonrpc":"2.0","id":1,"method":"tools/call","params":{"name":"ctis_search_trials","arguments":{"medicine":"pembrolizumab","status":["Ongoing, recruiting"],"country":["Germany"],"limit":2}}}'
TypeScript (@pipeworx/sdk)
import { Pipeworx } from '@pipeworx/sdk';
const pipeworx = new Pipeworx();
const result = await pipeworx.call('ctis_search_trials', {
"medicine": "pembrolizumab",
"status": [
"Ongoing, recruiting"
],
"country": [
"Germany"
],
"limit": 2
});
More examples
{
"condition": "melanoma",
"phase": [
"3"
],
"has_results": true,
"limit": 3
}
Connect
Add this to your MCP client config, or use one-click install buttons:
{
"mcpServers": {
"eu-ctis": {
"url": "https://gateway.pipeworx.io/eu-ctis/mcp"
}
}
}
See Getting Started for client-specific install steps.