---
summary: Polish LLM-facing definition language — flatten `clinicaltrials_get_field_definitions` description, enrich opaque output schemas in search/get-study/get-study-results, expand landscape prompt to all relevant tools.
breaking: false
---

# 2.4.4 — 2026-05-03

Cleanup pass on the LLM-facing surface. Output `.describe()` text on `z.record(z.string(), z.unknown())` fields no longer leaves the calling agent with opaque records — top-level keys and discovery pointers are now inline. The `clinicaltrials_get_field_definitions` description was flattened from multi-paragraph + bullet structure into a single cohesive paragraph per [cyanheads/mcp-ts-core#33](https://github.com/cyanheads/mcp-ts-core/issues/33). The `analyze_trial_landscape` prompt now references all 5 landscape-relevant tools instead of 3.

## Changed

- **`clinicaltrials_search_studies` `studies` output describe** — names the top-level study record keys (`protocolSection`, `derivedSection`, `hasResults`, `resultsSection`, `documentSection`) and points to `clinicaltrials_get_field_definitions` for schema discovery instead of leaving the agent with `'Matching studies.'` on an opaque record array.
- **`clinicaltrials_get_study_record` `study` output describe** — same treatment, with `protocolSection` sub-modules listed inline.
- **`clinicaltrials_get_study_results` output describes** — `outcomes`, `adverseEvents`, `participantFlow`, `baseline` now describe summary vs. full mode shapes so the agent knows what shape to expect under each `summary` setting.
- **`clinicaltrials_get_field_definitions` description** — flattened from three paragraphs + bullet list into a single cohesive paragraph per [cyanheads/mcp-ts-core#33](https://github.com/cyanheads/mcp-ts-core/issues/33). Self-referential `description: z.string().describe('Field description.')` replaced with `'Human-readable description from the upstream data model. Often absent.'`
- **`analyze_trial_landscape` prompt** — adds `clinicaltrials_get_field_definitions` (filter discovery) and `clinicaltrials_get_study_results` (outcome trends across completed trials) to the tool list. Was previously naming only 3 of the 7 server tools.

## Related

- [cyanheads/mcp-ts-core#111](https://github.com/cyanheads/mcp-ts-core/issues/111) — proposed `tool-defs-analysis` skill grew out of this audit; the changes here are exactly what such a skill would surface.
