Skip to main content
Glama

get_trial_landscape

Read-only

USE WHEN you need the SHAPE of a research field rather than a list of its members: phase / status / study-type mix, sponsor concentration, enrollment scale, the completed-but-unreported results gap, momentum over 30/90/365 days, and a real diff against a stored earlier snapshot. READ fieldCompleteness BEFORE QUOTING ANY DISTRIBUTION — if phase is recorded for a quarter of a registry's records, the phase mix describes that quarter, not the field. evidenceGap reports the reporting failure per registry and deliberately refuses to publish a combined figure when the registries' results flags are not comparable. NEXT: search_world_trials to inspect the trials behind a bucket, get_trial_coverage to check how much of the population is duplicate registrations.

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": "get_trial_landscape"
  }
}

Input Schema

NameRequiredDescriptionDefault
qNoFree-text condition/intervention query, e.g. "type 1 diabetes islet". Tokens are ANDed.
phaseNoComma-separated phases: 1-4, I-IV, early_phase1, or 1/2. Phase is missing for much of the corpus.
topicNoCure Protocol topic id (get_trial_stats lists them).
statusNorecruiting | active_not_recruiting | not_yet_recruiting | completed | halted | terminated | withdrawn | not_authorised | unknown, or "active" for any open status (recruiting + active_not_recruiting + not_yet_recruiting). Case-insensitive; unknown values return 400.
countryNoRecruiting/site country: full English name or ISO code (US, USA, UK, DE, ...).
sponsorNoFree-text sponsor name match.
registryNoclinicaltrials_gov | isrctn. OMIT for full-index scope, restricting to one registry makes the answer single-registry evidence.
conditionNoExact registry condition term. Prefer q unless you know the exact string.
studyTypeNointerventional | observational | expanded_access | other.
interventionNoFree-text intervention match: the way to separate MODALITIES within one disease.
startedAfterNoISO date: study start on/after.
updatedSinceNoISO date: only records updated on/after this date.
crossRegistryNotrue = only trials registered in more than one registry.
maxEnrollmentNoMaximum normalized enrollment.
minEnrollmentNoMinimum normalized enrollment.
startedBeforeNoISO date: study start on/before.
completionAfterNoISO date: completion on/after.
completionBeforeNoISO date: completion on/before.
resultsAvailableNoRestrict to trials with/without posted results.

Output Schema

NameRequiredDescriptionDefault
dataNoThe answer. Shape depends on the tool; describe_tool documents it.
_metaNosource, generatedAt, sources (per-source lastSyncedAt and ageHours), rateLimit, disclaimer.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed1 schema field changed
    • changedOutput schema / (root)
      Previous value: -nullNew value: +{
      +  "$schema": "http://json-schema.org/draft-07/schema#",
      +  "additionalProperties": {},
      +  "properties": {
      +    "_meta": {
      +      "additionalProperties": {},
      +      "description": "source, generatedAt, sources (per-source lastSyncedAt and ageHours), rateLimit, disclaimer.",
      +      "propertyNames": {
      +        "type": "string"
      +      },
      +      "type": "object"
      +    },
      +    "data": {
      +      "description": "The answer. Shape depends on the tool; describe_tool documents it."
      +    }
      +  },
      +  "type": "object"
      +}
  2. Changed16 schema fields changed
    • addedInput schema / properties / completionAfter / maxLength
      Added value: +20000
    • addedInput schema / properties / completionBefore / maxLength
      Added value: +20000
    • addedInput schema / properties / condition / maxLength
      Added value: +20000
    • addedInput schema / properties / country / maxLength
      Added value: +20000
    • addedInput schema / properties / intervention / maxLength
      Added value: +20000
    • addedInput schema / properties / phase / anyOf
      Added value: +[
      +  {
      +    "maxLength": 2000,
      +    "type": "string"
      +  },
      +  {
      +    "items": {
      +      "maxLength": 200,
      +      "type": "string"
      +    },
      +    "maxItems": 100,
      +    "minItems": 1,
      +    "type": "array"
      +  }
      +]
    • removedInput schema / properties / phase / type
      Removed value: -"string"
    • addedInput schema / properties / q / maxLength
      Added value: +500
    • addedInput schema / properties / registry / maxLength
      Added value: +20000
    • addedInput schema / properties / sponsor / maxLength
      Added value: +20000
    • addedInput schema / properties / startedAfter / maxLength
      Added value: +20000
    • addedInput schema / properties / startedBefore / maxLength
      Added value: +20000
    • addedInput schema / properties / status / maxLength
      Added value: +20000
    • addedInput schema / properties / studyType / maxLength
      Added value: +20000
    • addedInput schema / properties / topic / maxLength
      Added value: +20000
    • addedInput schema / properties / updatedSince / maxLength
      Added value: +20000
  3. Changed3 schema fields changed
    • changedInput schema / properties / country / description
      Previous value: -"Recruiting/site country."New value: +"Recruiting/site country: full English name or ISO code (US, USA, UK, DE, ...)."
    • changedInput schema / properties / phase / description
      Previous value: -"Comma-separated phases, e.g. \"1,2\". Phase is missing for much of the corpus."New value: +"Comma-separated phases: 1-4, I-IV, early_phase1, or 1/2. Phase is missing for much of the corpus."
    • changedInput schema / properties / status / description
      Previous value: -"Recruitment status, or \"active\" for recruiting + active + not_yet_recruiting."New value: +"recruiting | active_not_recruiting | not_yet_recruiting | completed | halted | terminated | withdrawn | not_authorised | unknown, or \"active\" for any open status (recruiting + active_not_recruiting + not_yet_recruiting). Case-insensitive; unknown values return 400."
  4. Changed7 schema fields changed
    • changedInput schema / properties / completionAfter / description
      Previous value: -"ISO date — completion on/after."New value: +"ISO date: completion on/after."
    • changedInput schema / properties / completionBefore / description
      Previous value: -"ISO date — completion on/before."New value: +"ISO date: completion on/before."
    • changedInput schema / properties / intervention / description
      Previous value: -"Free-text intervention match — the way to separate MODALITIES within one disease."New value: +"Free-text intervention match: the way to separate MODALITIES within one disease."
    • changedInput schema / properties / registry / description
      Previous value: -"clinicaltrials_gov | isrctn. OMIT for full-index scope — restricting to one registry makes the answer single-registry evidence."New value: +"clinicaltrials_gov | isrctn. OMIT for full-index scope, restricting to one registry makes the answer single-registry evidence."
    • changedInput schema / properties / startedAfter / description
      Previous value: -"ISO date — study start on/after."New value: +"ISO date: study start on/after."
    • changedInput schema / properties / startedBefore / description
      Previous value: -"ISO date — study start on/before."New value: +"ISO date: study start on/before."
    • changedInput schema / properties / updatedSince / description
      Previous value: -"ISO date — only records updated on/after this date."New value: +"ISO date: only records updated on/after this date."
  5. First observed

TDQS

A4.6/5.0
Behavior5/5

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

Annotations only cover readOnly/openWorld; the description adds substantive behavior the annotations cannot: a warning to read `fieldCompleteness` before quoting any distribution, and the disclosure that `evidenceGap` deliberately refuses to publish a combined figure when registry flags are incomparable. That is exactly the kind of output-interpretation and limitation context annotations can't carry.

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-loaded with the core selection rule and alternatives at the end; nearly every clause carries distinct information. It is dense and reads as a run-on block of caveats, but no sentence is redundant.

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?

For a 19-parameter analysis tool with an output schema (so return shape needn't be described), the description supplies the missing interpretive layer: completeness caveats, the deliberate non-reporting behavior of evidenceGap, and the workflow handoffs. Nothing an agent needs to call and interpret it correctly is absent.

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

Parameters3/5

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

With 100% schema description coverage across 19 parameters, the schema already documents each filter (including enum-like values for status, registry, studyType), so the baseline is 3. The description adds a little interpretive value, notably that phase is missing for much of the corpus and that restricting to one registry yields single-registry evidence, but it doesn't explain parameter interactions or defaults.

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?

The description opens with a specific verb-plus-resource framing ('the SHAPE of a research field rather than a list of its members') and enumerates the exact outputs: phase/status/study-type mix, sponsor concentration, enrollment scale, reporting gap, momentum, snapshot diff. This cleanly separates it from search_world_trials, which returns member trials.

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?

'USE WHEN you need the SHAPE ... rather than a list of its members' gives an explicit selection condition, and the NEXT clause names the follow-up tools (search_world_trials to drill into a bucket, get_trial_coverage for duplicate registrations) with their distinct purposes. Both when-to-use and the alternatives are stated outright.

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