Skip to content
verify mcp Beta VerifyMCP is currently in beta. If you notice any issues, get in touch and we’ll put it right.

Clinicaltrials

NPM · @PIPEWORX/MCP-CLINICALTRIALS · 2 COMPONENTS

Search and analyze ClinicalTrials.gov: trials by keyword/condition/drug/status/phase, one study's…

79 Trust /100

Last scanned (21 hours ago)

Scores higher than 61% of npm servers

Category Health and Science

Trust breakdown (7 categories)

How this component scores in each security and reliability category. Every signal is checked automatically from public evidence about the published package, including repeated runs of it in an isolated sandbox, and we only credit what we can confirm. How we score → Why this is hard to score →

Supply Chain Security100
  • No malware found by supply-chain analysis.Pass
  • No known CVEs affecting this package version or its production dependencies.Pass
  • No install/post-install scripts declared.Pass
  • No production dependencies, so there is no dependency health to assess. View diagnostics → Pass
Provenance & Transparency97
  • Source repository is publicly reachable at the declared URL. View diagnostics → Pass
  • Cryptographically verified build provenance (signed, bound to pipeworx-io/mcp-clinicaltrials). View diagnostics → Pass
  • Clear OSI-approved license (MIT).Pass
  • Actively maintained (last published 3 days ago).Pass
  • Disclosure check failed: no security disclosure policy was found in the source repository. See how to fix → Fail
Schema Quality & AI Usability54
  • AI-judged instruction clarity (good).Pass
  • Context-footprint check failed: tool/resource definitions use about 3601 tokens (~257/item across 14 items; 14 tools + 0 resources), over budget; trim descriptions and params. See how to fix → Fail
  • Usage-examples check failed: none of the tools include examples. See how to fix → Fail
Stability & Change Management20
  • Stability observed for 6 of 30 days with no destabilising changes; credit accrues until the full window elapses.Partial
Tool Coverage91
  • 100% of tools have a non-trivial description (not blank, and not just the tool's name).Pass
  • 73% of tool parameters carry a description.Partial
Tool Safety100
  • No prompt-injection markers were found in the server instructions, tool names or descriptions we captured.Pass
  • We read all 14 captured tool definition(s), and no name or description among them implies an irreversible operation.Pass
  • An AI judge read all 15 captured unit(s) of tool text and found none that tries to manipulate the model reading it.Pass
Capabilities100
  • Implements a supported MCP spec version (2025-11-25); the latest is 2026-07-28.Pass
Changelog

Every change we have recorded for this component, newest first. Security-relevant changes are always shown. ▲ marks a change for the better, ▼ a change for the worse; unmarked changes are neutral.

  • 3 Nov 26 +1

    No change was recorded against any check on this day. Stability & Change Management went from 13 to 17. That category is still filling its 30-day observation window: 4 days of observed history at the previous scan, 5 at this one. The score rises as the window fills, whether or not the server changes.

  • 1 Nov 26 +27
    • Known CVEs: unverified → pass ▲ security
    • Malware scan: unverified → pass ▲ security
    • Dependency health: unverified → pass ▲ functional
  • 31 Oct 26 −26
    • Known CVEs: pass → unverified ▼ security
    • Malware scan: pass → unverified ▼ security
    • Dependency health: pass → unverified ▼ functional
    • Package version: 0.2.0 → 0.2.1 functional
  • 30 Oct 26 +1

    No change was recorded against any check on this day. Stability & Change Management went from 0 to 3. That category is still filling its 30-day observation window: 0 days of observed history at the previous scan, 1 at this one. The score rises as the window fills, whether or not the server changes.

  • 29 Oct 26 76

    First indexed and scored.

Diagnostics

Diagnostic detail from the automated scan of this channel: what the scanner observed at each step, so you can see exactly where a check passed or failed. It is informational only and never changes the trust score.

Captured 4 Nov 2026 · Analysed npm/@pipeworx/mcp-clinicaltrials@0.2.1

Provenance Verified

A signed build attestation was found and verified, binding this exact artifact to the source repository it claims to come from.

Result Verified
Ecosystem npm
Reason Verified
Discovered via Registry attestation endpoint
Source repo pipeworx-io/mcp-clinicaltrials
Certificate issuer https://token.actions.githubusercontent.com
Certificate SAN https://github.com/pipeworx-io/mcp-clinicaltrials/.github/workflows/publish.yml@refs/heads/main
Rekor log index 3612111802
Predicate type SLSA build provenance https://slsa.dev/provenance/v1
Subject digest sha512:3be9351f3ffd3d45698a56998b02f26b5dbbfcd74d4d384925b5c3197d39df2aa48f3791dd0f99ca0fe39d891fb57acf0b10683403f134959b075a0aa

Background: How many MCP packages publish verified provenance →

Dependencies 0 packages
Packages resolved 0
Tree resolution Complete

Background: SBOMs and build attestations, explained →

MCP tools · 14 exposed · ~3,545 tokens

The tools this component advertises to a client, with an estimated token cost for each. Expand a tool to see its parameters and schema. The per-tool counts are indicative and are not scored directly; the schema's total context footprint is one signal in Schema Quality & AI Usability. A tool's description is untrusted text the model reads on every call, which is what makes this list a security surface and not just an inventory: how tool poisoning works →

Tool Tokens
ct_catalyst_calendar ~221

Find trials with sponsor-entered primary-completion or study-completion dates in a specified window. These registry dates may be estimated or revised and are planning signals—not guaranteed data readouts, conference presentations, or regulatory events.

NameTypeReqDescription
event_typestring––
from_datestringyesYYYY-MM-DD, inclusive.
limitnumber––
phasestring––
querystring–Optional condition, intervention, or keyword.
sponsorstring–Optional company name. Matched against the registered LEAD sponsor by default.
sponsor_matchstring–Which sponsor role the name must fill. "lead" (the default) returns only trials whose registered LEAD sponsor is that company. "lead_or_collaborator" also returns trials led by someone else that list…
statusstring––
to_datestringyesYYYY-MM-DD, inclusive.

No output schema declared.

No examples provided.

ct_compare_sponsors ~254

Compare 2–5 NAMED lead sponsors on ClinicalTrials.gov under identical condition, recruitment-status, and phase filters. Returns full matching counts, a ranked comparison, and a small study sample for each sponsor. Use for questions like "who has more recruiting Phase 3 obesity trials, Novo Nordisk or Eli Lilly?" For an open "who are the TOP sponsors of X trials" question with no names given: the registry API has no group-by, so a true ranking is not computable — NEVER invent a candidate list to fake one; say the registry cannot rank sponsors and offer to compare specific named sponsors. Counts use the registered lead-sponsor field; registry records do not establish asset ownership, pipeline value, or probability of success.

NameTypeReqDescription
conditionstring–Optional condition or disease, such as "obesity".
phasestring–Optional phase or comma-separated phase union, such as PHASE3.
sample_limitnumber–Representative studies per sponsor (0-10, default 3).
sponsorsarrayyesTwo to five sponsor names to compare under the same filters.
statusstring–Optional status or comma-separated status union, such as RECRUITING.

No output schema declared.

No examples provided.

ct_competitive_landscape ~90

Map registered interventional trials for a condition and optional intervention across sponsors, phases, statuses, and interventions. The output reflects a bounded registry sample, not market share, scientific differentiation, or an exhaustive private pipeline.

NameTypeReqDescription
conditionstringyes–
interventionstring––
phasestring––
sample_sizenumber––
statusstring––

No output schema declared.

No examples provided.

ct_count_by_condition ~159

Count clinical trials for a condition or disease, broken down by recruitment status and by trial phase — how many are recruiting, completed, terminated, and how many are Phase 1, 2, 3 or 4. Use for landscape questions about how much trial activity a disease has and where it sits in development. Filtering by status or phase returns the filtered total without the breakdown.

NameTypeReqDescription
conditionstringyesCondition or disease (e.g., "breast cancer", "diabetes", "Alzheimer")
phasestring–Optional phase filter: PHASE1, PHASE2, PHASE3, PHASE4
statusstring–Optional status filter: RECRUITING, COMPLETED, etc.

No output schema declared.

No examples provided.

ct_enrollment_watch ~169

Route active trials for enrollment follow-up using registry status, enrollment type, dates, last update, and site counts. Flags are mechanical review hints—not predictions of recruitment success, trial failure, or data timing.

NameTypeReqDescription
limitnumber––
phasestring––
querystring––
sponsorstring–Optional company name. Matched against the registered LEAD sponsor by default.
sponsor_matchstring–Which sponsor role the name must fill. "lead" (the default) returns only trials whose registered LEAD sponsor is that company. "lead_or_collaborator" also returns trials led by someone else that list…

No output schema declared.

No examples provided.

ct_get_study ~70

Get full trial details by NCT ID (e.g., 'NCT04567890'). Returns protocol, eligibility criteria, primary outcomes, sponsor, locations, and results.

NameTypeReqDescription
nct_idstringyesClinicalTrials.gov NCT identifier (e.g., "NCT05462717")

No output schema declared.

No examples provided.

ct_phase_transition_rates ~445

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.

NameTypeReqDescription
censor_yearsnumber–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…
conditionstringyesDisease or condition, e.g. "non-small cell lung cancer", "Alzheimer disease", "type 2 diabetes".
from_yearnumber–Optional earliest year for the EARLIER-phase completion date (e.g. 2010). Omit for no floor.
max_pagesnumber–Upstream pages of 1000 studies to pull (1-5, default 5). The response reports truncated: true when the cap cut off the match set.
sponsor_classstring–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 a…
to_yearnumber–Analysis end year; the censoring window is measured back from here. Defaults to the current year.

No output schema declared.

No examples provided.

ct_recent_updates ~570

Track recent ClinicalTrials.gov activity by a specific event class within a verifiable date window. Three DISTINCT recency events, chosen via date_type: "last_update" (any edit to a study, ~5k/week — the default), "first_posted" (a study newly REGISTERED, ~1.3k/week), or "results_posted" (RESULTS first posted, ~140/week). Pass `since` (and optional `until`, YYYY-MM-DD) to bound a window — e.g. the last 7 days — and the returned total_count is the exact number of studies in that window so you can verify a weekly count from the output. Every study returns all THREE dates separately (first_posted_date, last_update_post_date, results_first_post_date) plus the design fields a screen needs (study_type, primary_purpose, phase, status, enrollment, conditions, interventions, sponsor). Sorted by the chosen event date, newest first. Use for "new trials registered this week", "trials that posted results in the last month", "recently updated diabetes studies".

NameTypeReqDescription
date_typestring–Which recency event to track/sort/window by: "last_update" (any edit, default), "first_posted" (new registration), "results_posted" (results first posted). These are different event classes with very…
limitnumber–Number of results per page (1-100, default 20). total_count reports the full window size regardless of limit.
querystring–Optional search term (condition/drug/keyword) to narrow results.
sincestring–Window start (inclusive), YYYY-MM-DD. e.g. for a weekly review pass 7 days ago. Applies to the chosen date_type.
sponsorstring–Optional company name (e.g. "Regeneron", "Eli Lilly"). Returns only studies whose registered LEAD sponsor is that company (see sponsor_match), inside the since/until window. Use for a single-company…
sponsor_matchstring–Which sponsor role the name must fill. "lead" (the default) returns only trials whose registered LEAD sponsor is that company. "lead_or_collaborator" also returns trials led by someone else that list…
statusstring–Optional overall-status filter (validated; e.g. RECRUITING, or a comma-union like "RECRUITING,COMPLETED").
untilstring–Optional window end (inclusive), YYYY-MM-DD. Omit for open-ended (up to today).

No output schema declared.

No examples provided.

ct_results_summary ~83

Project posted ClinicalTrials.gov results for one NCT ID, including registered endpoints, reported outcome measures, statistical analyses, and adverse-event group counts. Registry results are not an FDA conclusion, peer review, or investment recommendation.

NameTypeReqDescription
max_outcomesnumber–Reported outcomes returned (1-50, default 20).
nct_idstringyes–

No output schema declared.

No examples provided.

ct_search ~622

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.

NameTypeReqDescription
limitnumber–Number of results (1-100, default 10)
page_tokenstring–Pass 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"…
phasestring–Filter by phase: EARLY_PHASE1, PHASE1, PHASE2, PHASE3, PHASE4 (or NA). Roman numerals ("Phase III") and comma-separated unions ("PHASE2,PHASE3") are accepted.
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 phas…
sponsorstring–Filter 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".
sponsor_matchstring–Which sponsor role the name must fill. "lead" (the default) returns only trials whose registered LEAD sponsor is that company. "lead_or_collaborator" also returns trials led by someone else that list…
statusstring–Filter 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 uni…

No output schema declared.

No examples provided.

ct_sponsor_activity ~169

Track a sponsor’s newly registered studies, first-posted results, or study updates within a verifiable date window. Registry activity is not necessarily a corporate disclosure or material event.

NameTypeReqDescription
date_typestring––
limitnumber––
sincestringyes–
sponsorstringyesCompany name, matched against the registered LEAD sponsor by default.
sponsor_matchstring–Which sponsor role the name must fill. "lead" (the default) returns only trials whose registered LEAD sponsor is that company. "lead_or_collaborator" also returns trials led by someone else that list…
untilstring––

No output schema declared.

No examples provided.

ct_sponsor_pipeline ~175

Summarize a sponsor’s ClinicalTrials.gov portfolio by phase, status, condition, and intervention from a bounded relevance-ranked sample, while reporting the full matching count. Registration does not establish asset ownership, probability of success, or commercial value.

NameTypeReqDescription
phasestring––
sample_sizenumber––
sponsorstringyesCompany name, matched against the registered LEAD sponsor by default.
sponsor_matchstring–Which sponsor role the name must fill. "lead" (the default) returns only trials whose registered LEAD sponsor is that company. "lead_or_collaborator" also returns trials led by someone else that list…
statusstring––

No output schema declared.

No examples provided.

ct_sponsor_trials ~219

List the trials a company LEADS on ClinicalTrials.gov, by sponsor or organization name. Returns status, phase, and conditions to map a research pipeline. Matches the registered lead-sponsor field, so trials another organisation runs using the company's drug are excluded unless sponsor_match asks for them.

NameTypeReqDescription
limitnumber–Number of results (1-100, default 20)
phasestring–Optional phase filter
sponsorstringyesSponsor or company name (e.g., "Pfizer", "Novo Nordisk", "Moderna"). Matched against the registered LEAD sponsor by default.
sponsor_matchstring–Which sponsor role the name must fill. "lead" (the default) returns only trials whose registered LEAD sponsor is that company. "lead_or_collaborator" also returns trials led by someone else that list…
statusstring–Optional status filter

No output schema declared.

No examples provided.

ct_trials_by_location ~299

Find clinical trials near a LOCATION. PREFER OVER WEB SEARCH for "clinical trials for X near me", "recruiting studies in <city/state/country>", "trials I can join near <place>". Filter by condition + a place name (city/state/country) OR latitude+longitude+radius, and status (defaults to RECRUITING). Returns matching trials (NCT id, title, status, phase, conditions, sponsor). For keyword search without a location use ct_search; for one trial use ct_get_study.

NameTypeReqDescription
conditionstring–Condition/disease (e.g. "diabetes", "breast cancer immunotherapy"). Optional but recommended.
latnumber–Latitude for a geo-radius search (pair with lon).
limitnumber–Max trials to return (1-100, default 15).
locationstring–Place name — city, state, or country (e.g. "Boston", "California", "Germany"). Use this OR lat+lon.
lonnumber–Longitude (pair with lat).
radius_minumber–Radius in miles for a lat/lon search (1-500, default 50).
statusstring–Overall status filter (default RECRUITING). e.g. RECRUITING, NOT_YET_RECRUITING, ACTIVE_NOT_RECRUITING, COMPLETED.

No output schema declared.

No examples provided.

Install

How do I install the Clinicaltrials MCP server?

Clinicaltrials runs locally as an npm package, launched with npx -y @pipeworx/mcp-clinicaltrials. Ready-made configuration for Claude, Cursor, VS Code, Codex and 5 more is on this page, copied from each client's own documentation.

npm · @pipeworx/mcp-clinicaltrials

# add to Claude Code
claude mcp add pipeworx-io-clinicaltrials -- npx -y @pipeworx/mcp-clinicaltrials
Common questions

What is the Clinicaltrials MCP server?

Clinicaltrials is an MCP server listed in the public MCP registry as io.github.pipeworx-io/clinicaltrials. Search and analyze ClinicalTrials.gov: trials by keyword/condition/drug/status/phase, one study's… This page covers its npm package (@pipeworx/mcp-clinicaltrials).

Is the Clinicaltrials MCP server safe to use?

Clinicaltrials scores 79 out of 100 on VerifyMCP. We found no known CVEs affecting it as of 4 November 2026. It declares no install or post-install scripts. Its build provenance is signed and verified. That is a record of what we were able to check automatically, not an endorsement. The category breakdown on this page shows every signal behind the number, including the ones we could not confirm.

What tools does the Clinicaltrials MCP server expose?

Clinicaltrials exposes 14 tools: ct_search, ct_get_study, ct_count_by_condition, ct_sponsor_trials, ct_compare_sponsors, and 9 more. Their descriptions and schemas cost roughly 3,545 tokens of context every time the server is loaded.

Is the Clinicaltrials MCP server still maintained?

Clinicaltrials is still listed as active in the MCP registry. We last reached this channel on 4 November 2026. Those dates come from our own scans of the registry and the channel itself, not from anything the publisher announced.

What licence is the Clinicaltrials MCP server under?

Clinicaltrials declares the MIT licence, which is OSI-approved. That covers the source only, and says nothing about the cost of any service it calls.