ctis_search_trials
Pack: eu-ctis · Connect: https://pipeworx.io/mcp (see Connect below for a single-pack URL)
No MCP client? Call it directly: GET https://gateway.pipeworx.io/v1/tools/ctis_search_trials for the schema, then POST the same URL with its arguments for the data.
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 — every tool in the catalog, including this one — or use one-click install buttons:
{
"mcpServers": {
"pipeworx": {
"url": "https://pipeworx.io/mcp"
}
}
}
Connect to just the eu-ctis pack
{
"mcpServers": {
"eu-ctis": {
"url": "https://gateway.pipeworx.io/eu-ctis/mcp"
}
}
}
See Getting Started for client-specific install steps.