Skip to main content
Glama

Find clinical trials

search_trials
Read-onlyIdempotent

Search Blossom's clinical trials. Set retrievalMode:'hybrid' only for natural-language discovery questions, lexical for names and exact identifiers. Hybrid candidates carry retrievalMatch ranks, which are not verified relevance or an exhaustive count. When retrievalMatch is absent, these are lexical-only results, including when hybrid is disabled or unavailable; do not describe them as found by meaning. Use registrationNumbers with exact ClinicalTrials.gov IDs such as NCT03537014. Exact multi-ID lookup automatically reserves at least one result slot for every requested ID, up to the 20-ID schema maximum. Use to LIST trials matching filters. For one city use trialCity. For multiple cities or supported local regions use trialCities; Orange County expands to a bounded set of known trial-site cities. For supported state searches use trialState or trialStates, never together with city filters. A city result may include non-citable locationResolution metadata with a server-derived fallbackState; use only that state for a bounded second search after a zero result. Location-filtered trial rows include matchedSites. For recorded pacemaker/implanted-cardiac-device protocol criteria use deviceFamily='pacemaker_or_icd'; eligibilityEvidence is protocol text, not direct safety evidence or a universal contraindication. For 'how many?' questions use count_trials instead.

Tool call template

This tool declares no required parameters. Add optional parameters from the input schema as needed.

{
  "id": 1,
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "arguments": {},
    "name": "search_trials"
  }
}

Input Schema

NameRequiredDescriptionDefault
limitNo
phaseNoTrial phase as Roman numerals: "I", "II", "III", "IV", or "NA". Also accepts "Phase 1"/"Phase 2"/etc. and "1"/"2"/"3"/"4" — they are normalized internally.
queryNo
statusNoTrial status. Accepts schema strings ("Recruiting", "Completed", "Active not recruiting", etc.) AND common shortcuts like "active", "recruiting", "completed".
topicsNoTopic slugs (e.g. "depressive-disorders", "post-traumatic-stress-disorder"). Common abbreviations like "PTSD", "TRD", "OCD" and short names like "depression", "anxiety" are auto-mapped.
compoundsNoCompound slugs (e.g. "psilocybin", "mdma"). Street names ("shrooms", "ecstasy") and brand/program names ("COMP360", "MM-120") are auto-mapped.
trialCityNoCity name (e.g. "Berlin", "London", "Boston"). Filter scans only trialSites within the matched country, so you must ALSO set trialCountry (or pass a city in the auto-pair list — Berlin→Germany, London→United Kingdom, etc.). Forgiving prefix match.
designTypeNoTrial design type. Use ["crossover"] for "crossover trials"; ["single-arm"] for uncontrolled trials.
enrollsAgeNoAge in years that the trial would enroll (matches ageMinYears <= X AND (ageMaxYears IS UNDEFINED OR ageMaxYears >= X)). Use 16 for "trials enrolling adolescents", 70 for "trials enrolling elderly".
generationNo
trialStateNoSingle supported country-qualified state. "Colorado" and "CO" normalize to "us-co" and pin the search to United States trial sites.
trialCitiesNoMultiple city names or supported local regions. "Orange County" expands to Orange, Santa Ana, San Juan Capistrano, and Garden Grove. Country scope is inferred only when every entry maps to the same country; otherwise also pass trialCountry.
trialStatesNoMultiple supported country-qualified states. State aliases are normalized and deduplicated. Do not combine with trialCity or trialCities.
deviceFamilyNoRecorded trial eligibility mentions for the pacemaker/implantable-cardioverter-defibrillator family. This retrieves protocol criteria, not a medical-safety conclusion.
isRandomizedNo
maskingLevelNoBlinding level. "none" = open-label, "double" = double-blind, etc.
studyStartToNoInclusive upper bound for studyStartDate (YYYY-MM-DD).
trialCountryNoSingle country slug (e.g. "united-states", "germany"). ISO codes ("US", "UK", "DE") and common names ("USA", "Britain") are auto-mapped. For multi-country / regional questions use trialCountries instead.
retrievalModeNoUse hybrid only for natural-language discovery questions; lexical for names, identifiers, exact titles and counts. Hybrid is bounded candidate retrieval, not proof of relevance or exhaustive coverage.
sexesEligibleNoSexes eligible for study. "all" matches trials with no sex restriction.
studyStartFromNoInclusive lower bound for studyStartDate (YYYY-MM-DD).
trialCountriesNoMultiple country slugs OR region names. Regions ("Scandinavia", "Nordics", "EU", "Europe", "North America", "Latin America", "Oceania", "Asia-Pacific") expand to their constituent countries automatically. Use this for "trials in Scandinavia", "European psilocybin trials", etc.
controlStrategyNoControl / comparator strategy. ["placebo"] for placebo-controlled, ["comparator"] for active-comparator, ["waitlist"] for waitlist control.
researcherSlugsNoSlugs of investigators / researchers attached to the trial (Person docs).
resultsPublishedNo
primarySponsorSlugNoStakeholder slug of the primary sponsor (e.g. compass-pathways, maps).
registrationNumbersNoExact ClinicalTrials.gov IDs (for example NCT03537014). Case and whitespace after NCT are normalized.
psychotherapyProvidedNo

Output Schema

NameRequiredDescriptionDefault
resultYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4.8/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations only declare a safe, idempotent, closed-world read, so the description is free to add the non-obvious behavior that matters: retrievalMatch ranks are not verified relevance or an exhaustive count, missing retrievalMatch means lexical-only results, multi-ID lookup reserves at least one slot per requested ID, and eligibilityEvidence is protocol text rather than a safety conclusion.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Front-loads the retrieval-mode rule and packs a lot of decision-relevant content into few sentences without filler. It is dense and somewhat non-linear (retrieval-mode caution partly duplicates the schema text, and geography rules arrive before the core listing behavior), which costs a point.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Output schema exists, so return shape needn't be explained, yet the description still flags the output fields that change interpretation (retrievalMatch, matchedSites, locationResolution). For a 28-parameter search tool it covers the retrieval, geography, identifier, and safety-interpretation dimensions an agent needs to call it correctly.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

With 28 parameters at 79% schema coverage the baseline is 3, but the description adds relational meaning the schema can't express: city filters scan only within a matched country, state and city filters are mutually exclusive, Orange County expands to a bounded city set, and locationResolution/fallbackState enables a bounded second search. It leaves a few flags (isRandomized, resultsPublished, psychotherapyProvided, limit) unmentioned, so not a 5.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

"Search Blossom's clinical trials" plus "Use to LIST trials matching filters" gives a specific verb, resource, and scope. It also explicitly hands off counting questions to count_trials, so an agent can separate this from the aggregate/count siblings without opening schemas.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Gives explicit routing rules: hybrid only for natural-language discovery, lexical for names/identifiers; trialCity for one city, trialCities for many, trialState(s) never combined with city filters; deviceFamily for recorded pacemaker criteria; count_trials for "how many?". Alternatives and exclusions are named, not inferred.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources