Skip to main content
Glama

Server Details

Provide structured access to ClinicalTrials.gov data for searching, retrieving, and analyzing clin…

If you are the author of this connector, you can claim ownership with GitHub, an HTTP challenge, or a DNS record. Claimed connector authors can inspect health checks, view analytics, and manage their listing.
Status
Healthy
OAuth
Works in Glama
Last Tested
Transport
Streamable HTTP
URL

TDQS

A3.5/5.0

Scored across 12 tools

Disambiguation4/5

Most tools have clearly distinct purposes (search by condition vs intervention vs sponsor), and descriptions clarify boundaries. However, search_trials_combined overlaps with all individual search tools, and get_trial_details vs get_trial_details_batched vs search_trials_by_nct_ids could confuse an agent about which retrieval method to use.

Naming Consistency5/5

All tool names follow a consistent verb_noun or verb_resource pattern (search_trials_by_X, get_trial_details, analyze_trial_phases), with no mixing of conventions like camelCase. The suffix variations (batched, nct_ids_only) are predictable modifiers.

Tool Count4/5

12 tools is reasonable for a ClinicalTrials.gov API client, covering multiple search dimensions and retrieval options. It's slightly heavy on search variants (five different search tools) but each serves a specific query pattern.

Completeness4/5

The server provides comprehensive search (by condition, intervention, sponsor, acronym, NCT IDs, combined), retrieval (single, batched, lightweight ID-only), and analysis/metadata tools. It lacks explicit update or export operations, but as a read-only query interface for ClinicalTrials.gov, the surface is nearly complete.

Available Tools

12 tools
analyze_trial_phasesCInspect

Analyze the distribution of trial phases for given search criteria.

ParametersJSON Schema
NameRequiredDescriptionDefault
sponsorsNoSponsors to analyze
conditionsNoMedical conditions to analyze
max_studiesNoMaximum number of studies to analyze
interventionsNoInterventions to analyze

TDQS

C2.9/5.0
Behavior2/5

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

With no annotations provided, the description carries the full burden but fails to disclose critical behavioral traits: the output format (what the 'distribution' looks like structurally), the implication that all parameters are optional (risking unbounded queries), or performance characteristics of analyzing up to 1000 studies.

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?

The single sentence is front-loaded with the action verb and contains no redundant or wasteful language. However, given the lack of annotations and output schema, the extreme brevity contributes to under-specification rather than efficient communication.

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

Completeness2/5

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

Inadequate for a tool with no annotations and no output schema. The description fails to describe the return value (what constitutes a 'distribution'), does not explain default behavior when optional criteria are omitted, and omits any mention of the max_studies limit behavior despite it being a key constraint.

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?

Schema description coverage is 100%, establishing a baseline of 3. The description adds that parameters function as 'search criteria' and specifies the analysis targets 'trial phases,' providing semantic glue, but does not elaborate on parameter interaction effects or data formats beyond the schema.

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

Purpose4/5

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

The description clearly states the tool analyzes the distribution of trial phases, using specific verbs and resources. However, it misses the opportunity to explicitly distinguish this analytical/aggregation function from the numerous sibling 'search_trials_*' tools that retrieve individual records.

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

Usage Guidelines2/5

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

No explicit guidance on when to use this versus the ten sibling search tools. The agent must infer that 'analyze' implies aggregation while 'search' implies retrieval, but no prerequisites, exclusions, or decision criteria are provided.

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

get_available_fieldsBInspect

Get organized list of available fields for customizing search results, grouped by category.

ParametersJSON Schema
NameRequiredDescriptionDefault
categoryNoOptional: specific category to return (identification, status, conditions, design, interventions, arms, outcomes, eligibility, locations, sponsors, descriptions, contacts, results)

TDQS

B3.3/5.0
Behavior3/5

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

With no annotations provided, the description carries the full burden of behavioral disclosure. It adequately describes the output organization ('grouped by category'), but omits other behavioral traits like whether the data is static, response size, or caching characteristics. The mention of grouping provides some value beyond a generic description.

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

Conciseness5/5

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

The description is a single, efficient sentence that front-loads the action verb. Every phrase earns its place: 'organized list' implies structure, 'customizing search results' provides context, and 'grouped by category' describes output behavior. No redundant or filler text.

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

Completeness3/5

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

For a single-parameter tool without output schema, the description adequately explains what the tool returns (a categorized list of fields). However, without an output schema, it could benefit from describing the return format (e.g., whether it's a flat list or nested object) to complete the picture for the agent.

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?

Schema description coverage is 100%, establishing a baseline of 3. The description mentions 'grouped by category' which aligns with the category parameter, but does not add semantic meaning beyond what the schema already provides (including the explicit list of valid category values).

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

Purpose4/5

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

The description uses a specific verb ('Get') and resource ('available fields') and clarifies the context ('for customizing search results'). It implicitly distinguishes from sibling search tools by positioning itself as a metadata discovery utility rather than a search execution tool, though it could more explicitly contrast with get_field_statistics.

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

Usage Guidelines2/5

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

No guidance is provided on when to use this tool versus alternatives. Given the presence of numerous search siblings (search_trials_by_*, get_trial_details), the description should explicitly state when to call this field-discovery utility versus executing searches directly.

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

get_field_statisticsCInspect

Get statistical information about field values in the ClinicalTrials.gov database.

ParametersJSON Schema
NameRequiredDescriptionDefault
field_namesNoField names to get statistics for
field_typesNoField types to filter by (ENUM, STRING, DATE, INTEGER, NUMBER, BOOLEAN)

TDQS

C2.9/5.0
Behavior2/5

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

With no annotations provided, the description carries the full burden of behavioral disclosure but fails to specify what 'statistics' entails (counts, distributions, null percentages?), whether the operation is expensive, or what happens when called with zero parameters (which is allowed since no parameters are required).

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?

The description is a single, efficient sentence with no redundant words. However, given the complete absence of annotations and output schema, it is arguably too brief to provide sufficient context for proper tool selection.

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

Completeness3/5

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

For a two-parameter tool with full schema coverage, the description is minimally adequate, but gaps remain regarding the return value format (what statistics are returned) and the zero-parameter behavior. Without an output schema, the description should have briefly characterized the statistical output.

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?

The input schema has 100% description coverage for both parameters ('Field names to get statistics for' and 'Field types to filter by'), so the baseline score is 3. The description itself adds no parameter-specific context, but does not need to compensate given the comprehensive schema documentation.

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

Purpose4/5

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

The description uses a specific verb ('Get') and identifies the resource ('statistical information about field values') and scope ('ClinicalTrials.gov database'). However, it doesn't explicitly differentiate from sibling get_available_fields, which may also return field metadata, leaving ambiguity about which tool to use for discovery versus analysis.

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

Usage Guidelines2/5

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

The description provides no guidance on when to use this tool versus alternatives (particularly get_available_fields), nor does it mention prerequisites such as needing valid field names from get_available_fields first. No when-not-to-use or exclusion criteria are present.

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

get_trial_detailsAInspect

Get comprehensive details for a single clinical trial by NCT ID.

ParametersJSON Schema
NameRequiredDescriptionDefault
fieldsNoSpecific fields to return
nct_idYesNCT ID of the trial to retrieve

TDQS

A3.5/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full burden of behavioral disclosure. While it states 'comprehensive details' (hinting at data scope), it fails to mention error handling (e.g., invalid NCT ID), rate limits, authentication requirements, or whether this is a cached vs. live lookup. For a data retrieval tool with no safety annotations, this is insufficient behavioral context.

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

Conciseness5/5

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

The description is a single, front-loaded sentence with zero redundancy. Every word earns its place: 'Get' (action), 'comprehensive details' (scope), 'single clinical trial' (resource), 'by NCT ID' (key parameter).

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

Completeness3/5

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

For a simple lookup tool with two parameters and no output schema, the description adequately covers the basic contract. However, it misses the opportunity to explain the relationship between the optional 'fields' parameter and the sibling 'get_available_fields' tool, or to describe error conditions (e.g., trial not found).

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, the schema already fully documents both 'nct_id' and 'fields'. The description adds minimal semantic value beyond the schema, merely reinforcing that the lookup is 'by NCT ID'. It does not explain valid NCT ID formats or suggest using 'get_available_fields' to populate the 'fields' parameter.

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 provides a specific verb ('Get comprehensive details'), identifies the resource ('single clinical trial'), and specifies the lookup mechanism ('by NCT ID'). The word 'single' effectively distinguishes this tool from its sibling 'get_trial_details_batched' and differentiates it from the various 'search' tools that return lists.

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

Usage Guidelines3/5

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

While the description implies usage through the word 'single' (suggesting it's for individual lookups rather than batch operations), it lacks explicit guidance on when to prefer this over 'get_trial_details_batched' or the search tools. It does not mention prerequisites like NCT ID format or when searching might be better than direct lookup.

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

get_trial_details_batchedAInspect

Retrieve detailed clinical trial records in batches. Use after search tools for in-depth review.

ParametersJSON Schema
NameRequiredDescriptionDefault
fieldsNoSpecific fields to return
nct_idsYesNCT IDs to retrieve in batches
batch_sizeNoBatch size for each API call

TDQS

A3.7/5.0
Behavior2/5

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

No annotations provided, so description carries full burden. While it mentions 'batches,' it fails to explain batching mechanics (e.g., internal pagination, concurrency), error handling for invalid NCT IDs, rate limits, or return structure. The batch_size parameter in schema implies chunking behavior not described.

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

Conciseness5/5

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

Two sentences with zero waste: first establishes capability, second establishes workflow context. Front-loaded with the core action. No redundant or filler text.

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

Completeness3/5

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

Adequate for basic tool selection but insufficient for a batch operation tool with no annotations. Lacks disclosure on failure modes (partial vs complete failure), return value structure, or whether it aggregates results across batches into a single response.

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?

Schema description coverage is 100%, with clear descriptions for nct_ids, fields, and batch_size. Description adds no specific parameter syntax details, but baseline 3 is appropriate when schema is self-documenting. No parameter semantics are added by the description text itself.

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?

States specific action ('Retrieve') + resource ('clinical trial records') + scope ('in batches'). The 'batched' modifier distinguishes it from sibling 'get_trial_details' (implied singular) and contrasts with search tools by emphasizing 'detailed records' vs searching.

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

Usage Guidelines4/5

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

Explicitly states workflow position: 'Use after search tools for in-depth review.' This clearly positions it as a secondary fetch tool in the retrieval pipeline, though it doesn't explicitly name which specific search tools to use first.

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

search_trials_by_acronymAInspect

Search clinical trials by study acronym (e.g., 'TETON'). Matches acronyms exactly (case-insensitive) by default.

ParametersJSON Schema
NameRequiredDescriptionDefault
fieldsNoSpecific fields to return
acronymsYesTrial acronyms to search for
exact_matchNoIf true, match acronym exactly; if false, allow partial matches
max_studiesNoMaximum number of studies to return

TDQS

A4/5.0
Behavior3/5

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

With no annotations provided, the description must carry the full burden. It successfully discloses the matching behavior (exact, case-insensitive) and hints at configurability ('by default'), but omits safety characteristics (idempotency, read-only nature), rate limits, or return value structure.

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

Conciseness5/5

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

Two efficiently structured sentences with zero redundancy. The first sentence front-loads purpose and example; the second provides critical behavioral context about matching logic. Every word earns its place.

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

Completeness4/5

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

Given the tool's moderate complexity (4 parameters, flat structure, 100% schema coverage) and lack of output schema, the description adequately covers the primary use case and key behavioral detail. A brief mention of return values (e.g., 'returns trial records') would achieve completeness given the missing output schema.

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?

Despite 100% schema coverage (baseline 3), the description adds value by explaining the relationship between the default exact matching behavior and the exact_match parameter ('by default'). The example 'TETON' also provides concrete semantic context for the acronyms parameter not present in the raw schema description.

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?

Description clearly states the specific action (Search), resource (clinical trials), and filtering mechanism (by study acronym). The example 'TETON' concretely illustrates the expected input format, and the specificity distinguishes it from sibling tools like search_trials_by_condition or search_trials_by_intervention.

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

Usage Guidelines3/5

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

While the description implies usage through the specificity of 'by study acronym', it lacks explicit guidance on when to prefer this tool over the nine sibling search tools (e.g., search_trials_by_condition). No prerequisites, error conditions, or explicit alternatives are mentioned.

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

search_trials_by_conditionAInspect

Search clinical trials by medical condition(s). Returns trials matching any of the specified conditions.

ParametersJSON Schema
NameRequiredDescriptionDefault
fieldsNoSpecific fields to return
conditionsYesMedical conditions to search for
max_studiesNoMaximum number of studies to return

TDQS

A4/5.0
Behavior3/5

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

No annotations are provided, so the description carries the full burden. It discloses the crucial OR matching behavior ('matching any') not evident in the schema, and implies read-only operation via 'Search' and 'Returns'. However, it lacks explicit safety declarations, rate limits, or pagination behavior details that annotations would typically cover.

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

Conciseness5/5

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

Two sentences, zero waste. First sentence establishes purpose and resource; second sentence discloses matching logic. Every word earns its place. Appropriately front-loaded with the core action.

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

Completeness4/5

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

For a straightforward 3-parameter search tool with 100% schema coverage and no nested objects, the description is adequately complete. It specifies the search dimension and matching logic. While there is no output schema, the phrase 'Returns trials...' provides sufficient context for a list/search operation, though more detail on return structure would strengthen it.

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 100% schema description coverage, the baseline is 3. The description adds value by explaining the relationship between multiple conditions ('matching any'), clarifying that the conditions parameter uses OR logic rather than AND. This semantic detail is not present in the schema's straightforward 'Medical conditions to search for' description.

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 uses specific verb 'Search' with resource 'clinical trials' and explicitly scopes to 'medical condition(s)'. It distinguishes from sibling tools (search_trials_by_acronym, search_trials_by_intervention, etc.) by specifying the search dimension. The addition of 'matching any of the specified conditions' clarifies the OR logic, further differentiating its behavior.

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

Usage Guidelines3/5

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

The description implies usage through the condition-specific focus and clarifies the OR matching logic ('matching any'), which guides how to use the conditions parameter. However, it lacks explicit when-to-use guidance or comparisons to alternatives (e.g., when to use search_trials_combined vs this tool).

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

search_trials_by_interventionCInspect

Search clinical trials by intervention/treatment.

ParametersJSON Schema
NameRequiredDescriptionDefault
fieldsNoSpecific fields to return
max_studiesNoMaximum number of studies to return
interventionsYesInterventions/treatments to search for

TDQS

C2.8/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full burden of behavioral disclosure. It fails to indicate whether this is a read-only operation, what data source is queried, how intervention matching works (exact vs. fuzzy), or what happens when no results are found.

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

Conciseness3/5

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

The description is extremely brief (6 words) and front-loaded with the action. However, given the tool's domain complexity and lack of supporting annotations, this brevity constitutes underspecification rather than efficient conciseness—it leaves critical contextual gaps that sentences should have addressed.

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

Completeness2/5

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

With no output schema, no annotations, and three parameters in a domain with multiple similar search tools, the description is insufficient. It omits expected context such as result set limits (beyond the parameter default), authentication requirements, or the relationship to other search tools on this server.

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?

The input schema has 100% description coverage, establishing a baseline of 3. The description 'Search clinical trials by intervention/treatment' aligns with the 'interventions' parameter but adds no additional semantic context, examples, or syntax guidance beyond what the schema already provides.

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

Purpose4/5

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

The description provides a clear verb ('Search'), resource ('clinical trials'), and scope ('by intervention/treatment'). However, it does not explicitly differentiate from sibling tools like 'search_trials_by_condition' or 'search_trials_combined', which could create uncertainty about which search tool to use.

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

Usage Guidelines2/5

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

No guidance is provided on when to use this tool versus the nine other search-related siblings (e.g., 'search_trials_combined' or 'search_trials_by_condition'). There are no prerequisites, exclusions, or workflow recommendations mentioned.

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

search_trials_by_nct_idsCInspect

Retrieve specific clinical trials by NCT ID(s).

ParametersJSON Schema
NameRequiredDescriptionDefault
fieldsNoSpecific fields to return
nct_idsYesNCT IDs to retrieve

TDQS

C2.9/5.0
Behavior2/5

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

With no annotations provided, the description carries the full burden of behavioral disclosure but offers almost nothing beyond the operation name. It doesn't explain what happens if NCT IDs are invalid, whether results are returned in the same order as input, rate limits, or how the 'fields' parameter filters the response.

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?

Extremely concise at six words. The single sentence is front-loaded with the verb and wastes no space. However, given the absence of annotations and the presence of similar sibling tools, the description is arguably too terse to be fully effective.

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

Completeness3/5

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

For a two-parameter tool with flat schema and no output schema, the description covers the basic intent but leaves significant gaps. Without annotations, it should explain error handling, batch behavior, or at minimum clarify the relationship to get_trial_details_batched. Adequate but incomplete.

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?

Schema coverage is 100%, establishing a baseline of 3. The description implicitly references the 'nct_ids' parameter by mentioning 'NCT ID(s)', but adds no syntax details, examples, or explanation of the 'fields' parameter's purpose beyond what the schema already states.

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

Purpose4/5

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

The description provides a specific verb ('Retrieve'), resource ('clinical trials'), and scope ('by NCT ID(s)'), clearly distinguishing it from siblings like search_trials_by_condition. However, it fails to differentiate from get_trial_details and get_trial_details_batched, leaving ambiguity about which NCT ID lookup tool to use.

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

Usage Guidelines2/5

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

No guidance provided on when to use this tool versus alternatives (particularly get_trial_details or get_trial_details_batched). No mention of prerequisites, batch size limits, or when to prefer the 'fields' parameter over retrieving full records.

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

search_trials_by_sponsorCInspect

Search clinical trials by sponsor/organization.

ParametersJSON Schema
NameRequiredDescriptionDefault
fieldsNoSpecific fields to return
sponsorsYesSponsor organizations to search for
max_studiesNoMaximum number of studies to return

TDQS

C2.9/5.0
Behavior2/5

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

With no annotations provided, the description carries the full burden of behavioral disclosure. While 'Search' implies a read-only operation, the description fails to clarify pagination behavior (despite max_studies parameter), return format, available field options, or rate limiting concerns.

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?

The description is a single efficient sentence with no redundant words. However, given the lack of annotations and output schema, it is arguably too brief to stand alone as sufficient documentation.

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

Completeness3/5

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

For a simple three-parameter search tool with complete schema documentation, the description is minimally adequate. However, gaps remain in behavioral disclosure and sibling differentiation that would be necessary for robust agent decision-making, especially without an output schema or annotations.

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?

The input schema has 100% description coverage (fields, sponsors, max_studies are all documented). The description adds no additional semantic meaning beyond what the schema already provides, meeting the baseline expectation for high-coverage schemas but not compensating with usage examples or format specifications.

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

Purpose4/5

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

The description clearly states the verb (Search), resource (clinical trials), and specific filter criterion (sponsor/organization). However, it does not explicitly differentiate from sibling search tools like search_trials_by_condition or search_trials_by_acronym, which would help the agent select the correct search method.

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

Usage Guidelines2/5

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

The description provides no guidance on when to use this tool versus the numerous sibling search alternatives (e.g., search_trials_by_condition, search_trials_combined). It lacks prerequisites, exclusions, or recommendations for query construction.

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

search_trials_combinedCInspect

Search clinical trials using multiple criteria (conditions, interventions, sponsors, terms, NCT IDs).

ParametersJSON Schema
NameRequiredDescriptionDefault
termsNoGeneral search terms
fieldsNoSpecific fields to return
nct_idsNoSpecific NCT IDs to include
acronymsNoStudy acronyms to search within titles/acronyms
sponsorsNoSponsor organizations to search for
conditionsNoMedical conditions to search for
max_studiesNoMaximum number of studies to return
interventionsNoInterventions/treatments to search for

TDQS

C2.9/5.0
Behavior2/5

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

No annotations are provided, so the description carries full burden. It fails to disclose whether criteria are combined with AND/OR logic, whether the operation is read-only, pagination behavior, or what constitutes a valid search (e.g., minimum criteria requirements). The agent receives no behavioral context beyond the basic function.

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

Conciseness5/5

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

The description is a single, efficient sentence with no redundant words. It is appropriately front-loaded with the action ('Search clinical trials') and immediately qualifies the scope ('using multiple criteria').

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

Completeness2/5

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

Given 8 parameters, no annotations, no output schema, and numerous specialized siblings, the description is incomplete. It omits critical context: all parameters are optional (required: 0), the relationship to single-criterion siblings, and how results are structured or limited (beyond max_studies default).

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, all parameters are already well-documented in the structured schema. The description lists some parameter categories but adds no semantic value beyond what's in the schema (e.g., no syntax examples, no explanation of 'fields' vs 'terms'). Baseline 3 is appropriate.

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

Purpose4/5

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

The description clearly states the tool searches clinical trials using multiple criteria and lists the primary filter types (conditions, interventions, sponsors, terms, NCT IDs). However, it does not explicitly contrast this combined approach with the single-criterion sibling tools (search_trials_by_condition, etc.), which would help the agent understand the 'combined' differentiation.

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

Usage Guidelines2/5

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

The description provides no guidance on when to use this multi-criteria tool versus the specialized single-criterion alternatives (search_trials_by_sponsor, search_trials_by_condition, etc.). Given the abundance of siblings, explicit guidance like 'Use when filtering by multiple criteria simultaneously' is missing.

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

search_trials_nct_ids_onlyAInspect

Lightweight search returning only NCT IDs and minimal metadata for discovery.

ParametersJSON Schema
NameRequiredDescriptionDefault
termsNoGeneral search terms
sponsorsNoSponsor organizations to search for
conditionsNoMedical conditions to search for
max_studiesNoMaximum number of studies to return
interventionsNoInterventions/treatments to search for

TDQS

A3.8/5.0
Behavior3/5

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

With no annotations provided, the description carries the full burden. It discloses the limited return format ('only NCT IDs and minimal metadata') and lightweight nature, but omits safety characteristics (read-only status), rate limits, or specific metadata fields returned.

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

Conciseness5/5

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

Single sentence of 9 words with zero waste. Front-loaded with the key differentiator 'Lightweight' immediately signaling performance characteristics, followed by precise return value constraints.

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

Completeness4/5

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

Adequately covers the tool's core function and return format given the straightforward 5-parameter schema with complete coverage. Could improve by noting that all parameters are optional (0 required) or explicitly contrasting with the full-detail sibling tools in this crowded search namespace.

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?

Schema description coverage is 100% (all 5 parameters documented), establishing a baseline of 3. The description provides no additional parameter semantics, but none are needed given the comprehensive schema documentation.

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 provides a specific verb ('search'), clear resource scope ('NCT IDs'), and distinguishes from siblings through 'lightweight' and 'only NCT IDs'—clearly positioning it as a minimal alternative to comprehensive tools like search_trials_combined or get_trial_details.

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

Usage Guidelines3/5

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

Includes implied usage context ('for discovery') but lacks explicit when-to-use guidance versus the numerous sibling search tools (e.g., 'use this instead of search_trials_combined when you only need identifiers').

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

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

  1. 12 tool updates
    • Changedanalyze_trial_phases15 fields changed
      • addedInput schema / $schema
        Added value: +"http://json-schema.org/draft-07/schema#"
      • removedInput schema / properties / conditions / anyOf
        Removed value: -[
        -  {
        -    "items": {
        -      "type": "string"
        -    },
        -    "type": "array"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • removedInput schema / properties / conditions / default
        Removed value: -null
      • addedInput schema / properties / conditions / items
        Added value: +{
        +  "type": "string"
        +}
      • addedInput schema / properties / conditions / type
        Added value: +"array"
      • removedInput schema / properties / interventions / anyOf
        Removed value: -[
        -  {
        -    "items": {
        -      "type": "string"
        -    },
        -    "type": "array"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • removedInput schema / properties / interventions / default
        Removed value: -null
      • addedInput schema / properties / interventions / items
        Added value: +{
        +  "type": "string"
        +}
      • addedInput schema / properties / interventions / type
        Added value: +"array"
      • changedInput schema / properties / max_studies / type
        Previous value: -"integer"New value: +"number"
      • removedInput schema / properties / sponsors / anyOf
        Removed value: -[
        -  {
        -    "items": {
        -      "type": "string"
        -    },
        -    "type": "array"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • removedInput schema / properties / sponsors / default
        Removed value: -null
      • addedInput schema / properties / sponsors / items
        Added value: +{
        +  "type": "string"
        +}
      • addedInput schema / properties / sponsors / type
        Added value: +"array"
      • changedOutput schema / (root)
        Previous value: -{
        -  "additionalProperties": true,
        -  "type": "object"
        -}New value: +null
    • Changedget_available_fields5 fields changed
      • addedInput schema / $schema
        Added value: +"http://json-schema.org/draft-07/schema#"
      • removedInput schema / properties / category / anyOf
        Removed value: -[
        -  {
        -    "type": "string"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • removedInput schema / properties / category / default
        Removed value: -null
      • addedInput schema / properties / category / type
        Added value: +"string"
      • changedOutput schema / (root)
        Previous value: -{
        -  "additionalProperties": true,
        -  "type": "object"
        -}New value: +null
    • Changedget_field_statistics10 fields changed
      • addedInput schema / $schema
        Added value: +"http://json-schema.org/draft-07/schema#"
      • removedInput schema / properties / field_names / anyOf
        Removed value: -[
        -  {
        -    "items": {
        -      "type": "string"
        -    },
        -    "type": "array"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • removedInput schema / properties / field_names / default
        Removed value: -null
      • addedInput schema / properties / field_names / items
        Added value: +{
        +  "type": "string"
        +}
      • addedInput schema / properties / field_names / type
        Added value: +"array"
      • removedInput schema / properties / field_types / anyOf
        Removed value: -[
        -  {
        -    "items": {
        -      "type": "string"
        -    },
        -    "type": "array"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • removedInput schema / properties / field_types / default
        Removed value: -null
      • addedInput schema / properties / field_types / items
        Added value: +{
        +  "type": "string"
        +}
      • addedInput schema / properties / field_types / type
        Added value: +"array"
      • changedOutput schema / (root)
        Previous value: -{
        -  "additionalProperties": true,
        -  "type": "object"
        -}New value: +null
    • Changedget_trial_details6 fields changed
      • addedInput schema / $schema
        Added value: +"http://json-schema.org/draft-07/schema#"
      • removedInput schema / properties / fields / anyOf
        Removed value: -[
        -  {
        -    "items": {
        -      "type": "string"
        -    },
        -    "type": "array"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • removedInput schema / properties / fields / default
        Removed value: -null
      • addedInput schema / properties / fields / items
        Added value: +{
        +  "type": "string"
        +}
      • addedInput schema / properties / fields / type
        Added value: +"array"
      • changedOutput schema / (root)
        Previous value: -{
        -  "additionalProperties": true,
        -  "type": "object"
        -}New value: +null
    • Changedget_trial_details_batched9 fields changed
      • addedInput schema / $schema
        Added value: +"http://json-schema.org/draft-07/schema#"
      • changedInput schema / properties / batch_size / type
        Previous value: -"integer"New value: +"number"
      • removedInput schema / properties / fields / anyOf
        Removed value: -[
        -  {
        -    "items": {
        -      "type": "string"
        -    },
        -    "type": "array"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • removedInput schema / properties / fields / default
        Removed value: -null
      • changedInput schema / properties / fields / description
        Previous value: -"Specific fields to return for detailed view"New value: +"Specific fields to return"
      • addedInput schema / properties / fields / items
        Added value: +{
        +  "type": "string"
        +}
      • addedInput schema / properties / fields / type
        Added value: +"array"
      • changedInput schema / properties / nct_ids / description
        Previous value: -"NCT IDs to retrieve in batches of 10"New value: +"NCT IDs to retrieve in batches"
      • changedOutput schema / (root)
        Previous value: -{
        -  "additionalProperties": true,
        -  "type": "object"
        -}New value: +null
    • Changedsearch_trials_by_acronym8 fields changed
      • addedInput schema / $schema
        Added value: +"http://json-schema.org/draft-07/schema#"
      • changedInput schema / properties / acronyms / description
        Previous value: -"Trial acronyms to search for, e.g., ['TETON']"New value: +"Trial acronyms to search for"
      • removedInput schema / properties / fields / anyOf
        Removed value: -[
        -  {
        -    "items": {
        -      "type": "string"
        -    },
        -    "type": "array"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • removedInput schema / properties / fields / default
        Removed value: -null
      • addedInput schema / properties / fields / items
        Added value: +{
        +  "type": "string"
        +}
      • addedInput schema / properties / fields / type
        Added value: +"array"
      • changedInput schema / properties / max_studies / type
        Previous value: -"integer"New value: +"number"
      • changedOutput schema / (root)
        Previous value: -{
        -  "additionalProperties": true,
        -  "type": "object"
        -}New value: +null
    • Changedsearch_trials_by_condition7 fields changed
      • addedInput schema / $schema
        Added value: +"http://json-schema.org/draft-07/schema#"
      • removedInput schema / properties / fields / anyOf
        Removed value: -[
        -  {
        -    "items": {
        -      "type": "string"
        -    },
        -    "type": "array"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • removedInput schema / properties / fields / default
        Removed value: -null
      • addedInput schema / properties / fields / items
        Added value: +{
        +  "type": "string"
        +}
      • addedInput schema / properties / fields / type
        Added value: +"array"
      • changedInput schema / properties / max_studies / type
        Previous value: -"integer"New value: +"number"
      • changedOutput schema / (root)
        Previous value: -{
        -  "additionalProperties": true,
        -  "type": "object"
        -}New value: +null
    • Changedsearch_trials_by_intervention7 fields changed
      • addedInput schema / $schema
        Added value: +"http://json-schema.org/draft-07/schema#"
      • removedInput schema / properties / fields / anyOf
        Removed value: -[
        -  {
        -    "items": {
        -      "type": "string"
        -    },
        -    "type": "array"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • removedInput schema / properties / fields / default
        Removed value: -null
      • addedInput schema / properties / fields / items
        Added value: +{
        +  "type": "string"
        +}
      • addedInput schema / properties / fields / type
        Added value: +"array"
      • changedInput schema / properties / max_studies / type
        Previous value: -"integer"New value: +"number"
      • changedOutput schema / (root)
        Previous value: -{
        -  "additionalProperties": true,
        -  "type": "object"
        -}New value: +null
    • Changedsearch_trials_by_nct_ids6 fields changed
      • addedInput schema / $schema
        Added value: +"http://json-schema.org/draft-07/schema#"
      • removedInput schema / properties / fields / anyOf
        Removed value: -[
        -  {
        -    "items": {
        -      "type": "string"
        -    },
        -    "type": "array"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • removedInput schema / properties / fields / default
        Removed value: -null
      • addedInput schema / properties / fields / items
        Added value: +{
        +  "type": "string"
        +}
      • addedInput schema / properties / fields / type
        Added value: +"array"
      • changedOutput schema / (root)
        Previous value: -{
        -  "additionalProperties": true,
        -  "type": "object"
        -}New value: +null
    • Changedsearch_trials_by_sponsor7 fields changed
      • addedInput schema / $schema
        Added value: +"http://json-schema.org/draft-07/schema#"
      • removedInput schema / properties / fields / anyOf
        Removed value: -[
        -  {
        -    "items": {
        -      "type": "string"
        -    },
        -    "type": "array"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • removedInput schema / properties / fields / default
        Removed value: -null
      • addedInput schema / properties / fields / items
        Added value: +{
        +  "type": "string"
        +}
      • addedInput schema / properties / fields / type
        Added value: +"array"
      • changedInput schema / properties / max_studies / type
        Previous value: -"integer"New value: +"number"
      • changedOutput schema / (root)
        Previous value: -{
        -  "additionalProperties": true,
        -  "type": "object"
        -}New value: +null
    • Changedsearch_trials_combined31 fields changed
      • addedInput schema / $schema
        Added value: +"http://json-schema.org/draft-07/schema#"
      • removedInput schema / properties / acronyms / anyOf
        Removed value: -[
        -  {
        -    "items": {
        -      "type": "string"
        -    },
        -    "type": "array"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • removedInput schema / properties / acronyms / default
        Removed value: -null
      • addedInput schema / properties / acronyms / items
        Added value: +{
        +  "type": "string"
        +}
      • addedInput schema / properties / acronyms / type
        Added value: +"array"
      • removedInput schema / properties / conditions / anyOf
        Removed value: -[
        -  {
        -    "items": {
        -      "type": "string"
        -    },
        -    "type": "array"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • removedInput schema / properties / conditions / default
        Removed value: -null
      • addedInput schema / properties / conditions / items
        Added value: +{
        +  "type": "string"
        +}
      • addedInput schema / properties / conditions / type
        Added value: +"array"
      • removedInput schema / properties / fields / anyOf
        Removed value: -[
        -  {
        -    "items": {
        -      "type": "string"
        -    },
        -    "type": "array"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • removedInput schema / properties / fields / default
        Removed value: -null
      • addedInput schema / properties / fields / items
        Added value: +{
        +  "type": "string"
        +}
      • addedInput schema / properties / fields / type
        Added value: +"array"
      • removedInput schema / properties / interventions / anyOf
        Removed value: -[
        -  {
        -    "items": {
        -      "type": "string"
        -    },
        -    "type": "array"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • removedInput schema / properties / interventions / default
        Removed value: -null
      • addedInput schema / properties / interventions / items
        Added value: +{
        +  "type": "string"
        +}
      • addedInput schema / properties / interventions / type
        Added value: +"array"
      • changedInput schema / properties / max_studies / type
        Previous value: -"integer"New value: +"number"
      • removedInput schema / properties / nct_ids / anyOf
        Removed value: -[
        -  {
        -    "items": {
        -      "type": "string"
        -    },
        -    "type": "array"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • removedInput schema / properties / nct_ids / default
        Removed value: -null
      • addedInput schema / properties / nct_ids / items
        Added value: +{
        +  "type": "string"
        +}
      • addedInput schema / properties / nct_ids / type
        Added value: +"array"
      • removedInput schema / properties / sponsors / anyOf
        Removed value: -[
        -  {
        -    "items": {
        -      "type": "string"
        -    },
        -    "type": "array"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • removedInput schema / properties / sponsors / default
        Removed value: -null
      • addedInput schema / properties / sponsors / items
        Added value: +{
        +  "type": "string"
        +}
      • addedInput schema / properties / sponsors / type
        Added value: +"array"
      • removedInput schema / properties / terms / anyOf
        Removed value: -[
        -  {
        -    "items": {
        -      "type": "string"
        -    },
        -    "type": "array"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • removedInput schema / properties / terms / default
        Removed value: -null
      • addedInput schema / properties / terms / items
        Added value: +{
        +  "type": "string"
        +}
      • addedInput schema / properties / terms / type
        Added value: +"array"
      • changedOutput schema / (root)
        Previous value: -{
        -  "additionalProperties": true,
        -  "type": "object"
        -}New value: +null
    • Changedsearch_trials_nct_ids_only20 fields changed
      • addedInput schema / $schema
        Added value: +"http://json-schema.org/draft-07/schema#"
      • removedInput schema / properties / conditions / anyOf
        Removed value: -[
        -  {
        -    "items": {
        -      "type": "string"
        -    },
        -    "type": "array"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • removedInput schema / properties / conditions / default
        Removed value: -null
      • addedInput schema / properties / conditions / items
        Added value: +{
        +  "type": "string"
        +}
      • addedInput schema / properties / conditions / type
        Added value: +"array"
      • removedInput schema / properties / interventions / anyOf
        Removed value: -[
        -  {
        -    "items": {
        -      "type": "string"
        -    },
        -    "type": "array"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • removedInput schema / properties / interventions / default
        Removed value: -null
      • addedInput schema / properties / interventions / items
        Added value: +{
        +  "type": "string"
        +}
      • addedInput schema / properties / interventions / type
        Added value: +"array"
      • changedInput schema / properties / max_studies / description
        Previous value: -"Maximum number of studies to return (optimized for discovery)"New value: +"Maximum number of studies to return"
      • changedInput schema / properties / max_studies / type
        Previous value: -"integer"New value: +"number"
      • removedInput schema / properties / sponsors / anyOf
        Removed value: -[
        -  {
        -    "items": {
        -      "type": "string"
        -    },
        -    "type": "array"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • removedInput schema / properties / sponsors / default
        Removed value: -null
      • addedInput schema / properties / sponsors / items
        Added value: +{
        +  "type": "string"
        +}
      • addedInput schema / properties / sponsors / type
        Added value: +"array"
      • removedInput schema / properties / terms / anyOf
        Removed value: -[
        -  {
        -    "items": {
        -      "type": "string"
        -    },
        -    "type": "array"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • removedInput schema / properties / terms / default
        Removed value: -null
      • addedInput schema / properties / terms / items
        Added value: +{
        +  "type": "string"
        +}
      • addedInput schema / properties / terms / type
        Added value: +"array"
      • changedOutput schema / (root)
        Previous value: -{
        -  "additionalProperties": true,
        -  "type": "object"
        -}New value: +null
  2. 12 tool updates
    • First observedanalyze_trial_phases
    • First observedget_available_fields
    • First observedget_field_statistics
    • First observedget_trial_details
    • First observedget_trial_details_batched
    • First observedsearch_trials_by_acronym
    • First observedsearch_trials_by_condition
    • First observedsearch_trials_by_intervention
    • First observedsearch_trials_by_nct_ids
    • First observedsearch_trials_by_sponsor
    • First observedsearch_trials_combined
    • First observedsearch_trials_nct_ids_only

Related MCP Connectors

Related MCP Servers

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources