Skip to main content
Glama
CDISC Library MCP Server

CDISC Library MCP Server

by whereayan

get_ct_package

Read-only

Retrieve a CDISC controlled terminology package's metadata and paginated codelist index with term counts; use it to browse package contents without loading full inline terminology payloads.

Instructions

获取指定控制术语包详情:包元信息 + 分页的 codelist 索引(含每张表的 termCount)。 整包载荷内联了全部术语及其 submissionValue(sdtmct 实测 1106 张表 / 13 MB),因此默认只发索引、不发内联术语;raw=true 会把 13 MB 原样推送,常见 MCP 客户端会在 60s 超时,请改用 get_codelist_submission_values 按表取。

示例: package='sdtmct-2024-03-29'

Input Schema

NameRequiredDescriptionDefault
rawNotrue 时返回未经瘦身的原始 API 载荷(含 _links 等超媒体元数据);默认 false,返回已瘦身、更省 token 的响应
limitNo本页最多返回多少条(默认 200,上限 2000:超订会被钳到 2000 并在limitRequested 里回显请求值);全量条数看响应里的计数字段,hasMore 判断要不要继续翻页
offsetNo分页起始下标(默认 0)
packageYesCT 包名称,如 'sdtmct-2024-03-29'(SDTM 术语)或 'adamct-2024-03-29'(ADaM 术语);大小写不敏感。不确定有哪些包时用 get_ct_packages 查询

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.0

TDQS

A4.8/5.0
Behavior5/5

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

readOnlyHint already marks this as a safe read, and the description goes well beyond that: it discloses the response shape (package metadata plus codelist index with termCount), the deliberate omission of inline terms, concrete payload size (1106 tables / 13 MB for sdtmct), and the client-timeout risk of raw=true. That is exactly the operational context annotations cannot supply.

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 purpose and the default-vs-raw decision, followed by an example; nothing is filler. The 13 MB figure appears twice (once in the payload explanation, once in the raw warning), which is mild redundancy, though it reinforces the key risk.

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?

There is no output schema, so the description carries the return-value burden and does so: it names the returned sections, mentions hasMore/limit clamping behavior, and warns about the oversized raw mode. For a read-only, 4-parameter tool this leaves no decision-relevant gap.

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 the baseline is 3, but the description adds real meaning on top: raw is framed by its 13 MB/timeout consequence rather than just 'untrimmed payload', and the package parameter is given concrete naming syntax and a pointer to get_ct_packages. Limit/offset semantics are left entirely to the schema, which is acceptable at full coverage.

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 a concrete verb and resource: returns package metadata plus a paginated codelist index that includes a termCount per table. It also draws the boundary against two siblings by name, get_ct_packages (for discovering package names) and get_codelist_submission_values (for per-table terms), so an agent can pick the right tool without inspecting 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?

Explicitly says what happens by default (index only, no inline terms), what raw=true does (pushes the 13 MB payload and will hit a 60s client timeout), and names the alternative tool to use instead. It also routes to get_ct_packages when the package name is unknown, so the when/when-not conditions are all covered.

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