Skip to main content
Glama
CDISC Library MCP Server

CDISC Library MCP Server

by whereayan

compare_versions

Read-only

Compare two versions of a CDISC standard to identify differences by section, returning a summary first and allowing drill-down into specific sections with row limits.

Instructions

比较同一标准两个版本的差异。

默认返回摘要视图(各差异分区名称与行数 + Info 分区内容),因为完整 diff 载荷可达数十 MB,不适合直接进上下文。 要看某分区详情:传 section='<分区名>'(名称来自摘要里的 sections 索引),并用 max_rows 控制返回行数(默认 200,超出会标注 truncated)。

参数说明:

  • standard: 标准名称,如 sdtmig, adamig

  • old_version / new_version: 旧/新版本号,支持 '3-3'/'3.3'/'latest';传反了会自动交换并在响应 note 中说明

示例: standard='sdtmig', old_version='3-3', new_version='3-4' 再下钻: section='Domains', max_rows=50

Input Schema

NameRequiredDescriptionDefault
rawNotrue 时返回未汇总的完整 diff 载荷——警告:可达数十 MB,极耗 token,仅在确有必要时使用;默认 false(摘要视图)
sectionNo只返回指定差异分区的明细行;不传则返回全部分区的摘要索引
max_rowsNosection 明细模式下最多返回的行数,默认 200
standardYes标准名称: sdtm, sdtmig, sendig, adam, adamig, cdash, cdashig
new_versionYes新版本号,支持 '3-4'/'3.4'/'latest'
old_versionYes旧版本号,支持 '3-3'/'3.3'/'latest'

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.0

TDQS

A4.6/5.0
Behavior5/5

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

With readOnlyHint already covering safety, the description adds real behavioral context beyond annotations: default summary view, multi-MB payload risk for the full diff, truncation flagging when rows exceed max_rows, and the notable behavior that reversed old/new version arguments are auto-swapped with an explanatory note in the response. That auto-swap disclosure is exactly the kind of non-obvious behavior an agent needs.

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?

Well front-loaded: the default behavior and its rationale come first, then the drill-down instruction, then a parameter list and two concrete examples. Some redundancy with the schema (repeating '3-3'/'3.3'/'latest' and the default of 200) costs it the top score.

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 6-parameter, no-output-schema tool, the description covers the return shape (section names plus per-section row counts plus Info section content), the drill-down workflow, and the cost profile of the heavy mode. Nothing an agent needs in order to call it correctly is missing.

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?

Schema coverage is 100%, so baseline is 3; the description still earns above baseline by explaining that section names must come from the summary's sections index and that passing new_version before old_version is tolerated via auto-swap. The version-format and max_rows-default restatements duplicate the schema but the extra semantics are genuine.

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 opening line states a specific verb+resource+scope: comparing two versions of the same standard. It is immediately distinguishable from every sibling tool (all of which are single-entity get_* lookups) and identifies the three required inputs implicitly.

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?

Gives a clear operating procedure: default summary first, then drill into a section by name from the summary's sections index, with max_rows capping output. It also effectively says when NOT to use the full payload (raw is tens of MB). It stops short of explicitly comparing itself to any sibling tool, but none of the siblings compete for this job.

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