---
summary: "enrichment adoption — search/list/data tools surface query echoes, result totals, pagination, and empty-result guidance in a typed enrichment block"
breaking: false
security: false
agent-notes: |
  All four search/list/data tools now use ctx.enrich() for pagination metadata and notices.
  The structuredContent output keys were renamed as part of this adoption:
    - `total` → `enrichment.totalCount`
    - `page` → `enrichment.currentPage`
    - `pages` → `enrichment.totalPages`
    - `message` (worldbank_search_indicators only) → `enrichment.notice`
  These fields were in `output` and are now in the enrichment block, so they reach both
  structuredContent and content[] automatically without format() duplication.
  worldbank_search_indicators gained `enrichment.effectiveQuery` (active filter echo).
  worldbank_get_data and worldbank_search_indicators gained `enrichment.notice` for empty-result guidance.
---

# 0.1.9 — 2026-05-30

## Changed

- **`worldbank_search_indicators`, `worldbank_list_countries`, `worldbank_list_sources`, `worldbank_get_data`** — pagination metadata (`total`, `page`, `pages`) moved from `output` into a typed `enrichment` block via `ctx.enrich()`, surfacing in both `structuredContent` and the `content[]` markdown trailer automatically.

- **structuredContent field renames** (value and presence preserved in both channels; key changed):
  - `output.total` → `enrichment.totalCount`
  - `output.page` → `enrichment.currentPage`
  - `output.pages` → `enrichment.totalPages`
  - `output.message` (worldbank_search_indicators only) → `enrichment.notice`

- **`worldbank_search_indicators`** — adds `enrichment.effectiveQuery`: active filters (keyword, topic ID, source ID) echoed as a formatted string so callers can confirm which filters were applied.

- **`worldbank_get_data`** — adds `enrichment.notice`: recovery hint surfaced when zero observations are returned, suggesting date-range broadening or `mrv=` usage.

- **`@cyanheads/mcp-ts-core`** `^0.9.13` → `^0.9.16`

- **`format:unsafe` script** split out from `format`; `format` now runs safe fixes only (`biome check --write .`).
