ct_phase_transition_rates
Pack: clinicaltrials · Endpoint: https://gateway.pipeworx.io/clinicaltrials/mcp
Measure how often drugs for a disease actually advance from one clinical phase to the next — the registry-derived analog of a probability-of-technical-success (PTRS) benchmark. Groups industry-sponsored interventional trials for the condition by normalized intervention (drug) name, then reports observed Phase 1→Phase 2 and Phase 2→Phase 3 transition rates as numerator/denominator with an explicit censoring rule, alongside the published BIO/Informa/QLS 2011-2020 benchmark for the matching therapeutic area. Answers “what fraction of Phase 2 assets in NSCLC reach Phase 3”, “how does attrition in Alzheimer compare to lung cancer”, “what is the probability of success for this indication”. Returns the top interventions with their per-phase trial path so the rate is auditable. Counts trial EXISTENCE in the registry, not efficacy readouts or approvals, so it is an upper bound on technical success.
Parameters
| Name | Type | Required | Description |
|---|---|---|---|
condition | string | yes | Disease or condition, e.g. “non-small cell lung cancer”, “Alzheimer disease”, “type 2 diabetes”. |
sponsor_class | string | no | Which sponsors to count. “industry” (default) restricts to company-led trials, matching how commercial PTRS benchmarks are built; “all” adds academic, NIH and other sponsors, which raises the count and lowers the rate. |
from_year | number | no | Optional earliest year for the EARLIER-phase completion date (e.g. 2010). Omit for no floor. |
to_year | number | no | Analysis end year; the censoring window is measured back from here. Defaults to the current year. |
censor_years | number | no | Years an earlier-phase trial must have been completed before to_year to enter the denominator (1-15, default 3). Raising it demands more follow-up time, shrinking the denominator; lowering it admits assets that have not yet had time to advance and depresses the rate. |
max_pages | number | no | Upstream pages of 1000 studies to pull (1-5, default 5). The response reports truncated: true when the cap cut off the match set. |
Example call
Arguments
{
"condition": "non-small cell lung cancer"
}
curl
curl -X POST https://gateway.pipeworx.io/clinicaltrials/mcp \
-H 'Content-Type: application/json' \
-d '{"jsonrpc":"2.0","id":1,"method":"tools/call","params":{"name":"ct_phase_transition_rates","arguments":{"condition":"non-small cell lung cancer"}}}'
TypeScript (@pipeworx/sdk)
import { Pipeworx } from '@pipeworx/sdk';
const pipeworx = new Pipeworx();
const result = await pipeworx.call('ct_phase_transition_rates', {
"condition": "non-small cell lung cancer"
});
More examples
{
"condition": "Alzheimer disease",
"sponsor_class": "industry",
"censor_years": 3
}
Connect
Add this to your MCP client config, or use one-click install buttons:
{
"mcpServers": {
"clinicaltrials": {
"url": "https://gateway.pipeworx.io/clinicaltrials/mcp"
}
}
}
See Getting Started for client-specific install steps.