ct_search

Pack: clinicaltrials · 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/ct_search for the schema, then POST the same URL with its arguments for the data.

Search ClinicalTrials.gov for clinical trials — find trials and look up a NAMED trial by keyword, condition, drug/therapy, status (e.g. ‘Recruiting’), or phase (e.g. ‘Phase 2’). Use for “clinical trials for <disease/drug>”, or to locate a specific study like “the FLOW trial”, “semaglutide kidney outcomes trial” (use ct_get_study for its full design/results). Returns NCT IDs, titles, status, enrollment, and sponsor info for the current page, PLUS conditions_summary — a condition-by-condition breakdown across ALL matches (not just this page), so “how many trials and what conditions do they cover” is answerable from one call. To see studies past the first page, call again with the SAME query/status/phase/sponsor and page_token set to the previous response’s next_page_token.

Parameters

NameTypeRequiredDescription
querystringyesThe SUBJECT of the search — a condition, drug, or keyword (e.g., “GLP-1 receptor agonist”, “breast cancer immunotherapy”). Prefer the topic alone over a full sentence: put status in status and phase in phase rather than in the text. Conversational framing is stripped automatically, and the term actually searched is echoed back as query_used.
statusstringnoFilter by overall status: RECRUITING, ACTIVE_NOT_RECRUITING, COMPLETED, TERMINATED, WITHDRAWN, ENROLLING_BY_INVITATION, SUSPENDED, NOT_YET_RECRUITING. Several may be combined as a comma-separated union, e.g. “RECRUITING,NOT_YET_RECRUITING”.
phasestringnoFilter by phase: EARLY_PHASE1, PHASE1, PHASE2, PHASE3, PHASE4 (or NA). Roman numerals (“Phase III”) and comma-separated unions (“PHASE2,PHASE3”) are accepted.
sponsor_matchstringno
sponsorstringnoFilter by the trial’s registered LEAD sponsor (e.g., “Pfizer”, “Novo Nordisk”). Widen to trials the company only partners on with sponsor_match: “lead_or_collaborator”.
limitnumbernoNumber of results (1-100, default 10)
page_tokenstringnoPass the previous call’s next_page_token here, with the SAME query/status/phase/sponsor arguments, to fetch studies past the first page. Omit it for a fresh search. A “continue listing”/“next page” follow-up means: re-call with this set, not a new query.

Example call

Arguments

{
  "query": "GLP-1 receptor agonist",
  "status": "RECRUITING",
  "phase": "PHASE2",
  "limit": 20
}

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_search","arguments":{"query":"GLP-1 receptor agonist","status":"RECRUITING","phase":"PHASE2","limit":20}}}'

TypeScript (@pipeworx/sdk)

import { Pipeworx } from '@pipeworx/sdk';
const pipeworx = new Pipeworx();

const result = await pipeworx.call('ct_search', {
  "query": "GLP-1 receptor agonist",
  "status": "RECRUITING",
  "phase": "PHASE2",
  "limit": 20
});

More examples

{
  "query": "breast cancer immunotherapy",
  "sponsor": "Pfizer",
  "limit": 10
}

Response shape

Always returns: total_count, studies

FieldTypeDescription
total_countnumberTotal number of matching trials
studiesarrayList of formatted trial summaries
Full JSON Schema
{
  "type": "object",
  "properties": {
    "total_count": {
      "type": "number",
      "description": "Total number of matching trials"
    },
    "studies": {
      "type": "array",
      "description": "List of formatted trial summaries",
      "items": {
        "type": "object",
        "properties": {
          "nct_id": {
            "type": [
              "string",
              "null"
            ],
            "description": "NCT identifier"
          },
          "title": {
            "type": [
              "string",
              "null"
            ],
            "description": "Brief trial title"
          },
          "official_title": {
            "type": [
              "string",
              "null"
            ],
            "description": "Official trial title"
          },
          "status": {
            "type": [
              "string",
              "null"
            ],
            "description": "Overall trial status"
          },
          "phase": {
            "type": [
              "string",
              "null"
            ],
            "description": "Trial phase(s) comma-separated"
          },
          "enrollment": {
            "type": [
              "number",
              "null"
            ],
            "description": "Target enrollment count"
          },
          "enrollment_type": {
            "type": [
              "string",
              "null"
            ],
            "description": "Enrollment type (e.g., Actual, Anticipated)"
          },
          "conditions": {
            "type": "array",
            "description": "List of trial conditions",
            "items": {
              "type": "string"
            }
          },
          "interventions": {
            "type": "array",
            "description": "List of interventions",
            "items": {
              "type": "object",
              "properties": {
                "type": {
                  "type": [
                    "string",
                    "null"
                  ],
                  "description": "Intervention type"
                },
                "name": {
                  "type": [
                    "string",
                    "null"
                  ],
                  "description": "Intervention name"
                },
                "description": {
                  "type": [
                    "string",
                    "null"
                  ],
                  "description": "Intervention description"
                }
              }
            }
          },
          "sponsor": {
            "type": [
              "string",
              "null"
            ],
            "description": "Lead sponsor name"
          },
          "sponsor_class": {
            "type": [
              "string",
              "null"
            ],
            "description": "Sponsor class"
          },
          "collaborators": {
            "type": "array",
            "description": "List of collaborator names",
            "items": {
              "type": "string"
            }
          },
          "start_date": {
            "type": [
              "string",
              "null"
            ],
            "description": "Trial start date"
          },
          "primary_completion_date": {
            "type": [
              "string",
              "null"
            ],
            "description": "Primary completion date"
          },
          "completion_date": {
            "type": [
              "string",
              "null"
            ],
            "description": "Final completion date"
          }
        }
      }
    }
  },
  "required": [
    "total_count",
    "studies"
  ]
}

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 clinicaltrials pack
{
  "mcpServers": {
    "clinicaltrials": {
      "url": "https://gateway.pipeworx.io/clinicaltrials/mcp"
    }
  }
}

See Getting Started for client-specific install steps.

Regenerated from source · build October 30, 2026