@cyanheads/who-gho-mcp-server 0.1.9 → 0.1.10

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (22) hide show
  1. package/CLAUDE.md +2 -2
  2. package/README.md +1 -1
  3. package/dist/mcp-server/tools/definitions/who-get-indicator-metadata.tool.d.ts +1 -1
  4. package/dist/mcp-server/tools/definitions/who-get-indicator-metadata.tool.d.ts.map +1 -1
  5. package/dist/mcp-server/tools/definitions/who-list-dimension-values.tool.d.ts +1 -1
  6. package/dist/mcp-server/tools/definitions/who-list-dimension-values.tool.d.ts.map +1 -1
  7. package/dist/mcp-server/tools/definitions/who-list-dimensions.tool.d.ts +1 -1
  8. package/dist/mcp-server/tools/definitions/who-list-dimensions.tool.d.ts.map +1 -1
  9. package/dist/mcp-server/tools/definitions/who-list-indicators.tool.d.ts +5 -3
  10. package/dist/mcp-server/tools/definitions/who-list-indicators.tool.d.ts.map +1 -1
  11. package/dist/mcp-server/tools/definitions/who-list-indicators.tool.js +17 -11
  12. package/dist/mcp-server/tools/definitions/who-list-indicators.tool.js.map +1 -1
  13. package/dist/mcp-server/tools/definitions/who-query-indicator-data.tool.d.ts +11 -4
  14. package/dist/mcp-server/tools/definitions/who-query-indicator-data.tool.d.ts.map +1 -1
  15. package/dist/mcp-server/tools/definitions/who-query-indicator-data.tool.js +69 -17
  16. package/dist/mcp-server/tools/definitions/who-query-indicator-data.tool.js.map +1 -1
  17. package/dist/mcp-server/tools/definitions/who-search-indicators.tool.d.ts +5 -3
  18. package/dist/mcp-server/tools/definitions/who-search-indicators.tool.d.ts.map +1 -1
  19. package/dist/mcp-server/tools/definitions/who-search-indicators.tool.js +19 -18
  20. package/dist/mcp-server/tools/definitions/who-search-indicators.tool.js.map +1 -1
  21. package/package.json +4 -3
  22. package/server.json +3 -3
package/CLAUDE.md CHANGED
@@ -1,8 +1,8 @@
1
1
  # Agent Protocol
2
2
 
3
3
  **Server:** @cyanheads/who-gho-mcp-server
4
- **Version:** 0.1.9
5
- **Framework:** [@cyanheads/mcp-ts-core](https://www.npmjs.com/package/@cyanheads/mcp-ts-core) `^0.9.13`
4
+ **Version:** 0.1.10
5
+ **Framework:** [@cyanheads/mcp-ts-core](https://www.npmjs.com/package/@cyanheads/mcp-ts-core) `^0.9.16`
6
6
  **Engines:** Bun ≥1.3.2, Node ≥24.0.0
7
7
 
8
8
  > **Read the framework docs first:** `node_modules/@cyanheads/mcp-ts-core/CLAUDE.md` contains the full API reference — builders, Context, error codes, exports, patterns. This file covers server-specific conventions only.
package/README.md CHANGED
@@ -7,7 +7,7 @@
7
7
 
8
8
  <div align="center">
9
9
 
10
- [![Version](https://img.shields.io/badge/Version-0.1.9-blue.svg?style=flat-square)](./CHANGELOG.md) [![License](https://img.shields.io/badge/License-Apache%202.0-orange.svg?style=flat-square)](./LICENSE) [![Docker](https://img.shields.io/badge/Docker-ghcr.io-2496ED?style=flat-square&logo=docker&logoColor=white)](https://github.com/users/cyanheads/packages/container/package/who-gho-mcp-server) [![MCP SDK](https://img.shields.io/badge/MCP%20SDK-^1.29.0-green.svg?style=flat-square)](https://modelcontextprotocol.io/) [![npm](https://img.shields.io/npm/v/@cyanheads/who-gho-mcp-server?style=flat-square&logo=npm&logoColor=white)](https://www.npmjs.com/package/@cyanheads/who-gho-mcp-server) [![TypeScript](https://img.shields.io/badge/TypeScript-^6.0.3-3178C6.svg?style=flat-square)](https://www.typescriptlang.org/) [![Bun](https://img.shields.io/badge/Bun-v1.3.2-blueviolet.svg?style=flat-square)](https://bun.sh/)
10
+ [![Version](https://img.shields.io/badge/Version-0.1.10-blue.svg?style=flat-square)](./CHANGELOG.md) [![License](https://img.shields.io/badge/License-Apache%202.0-orange.svg?style=flat-square)](./LICENSE) [![Docker](https://img.shields.io/badge/Docker-ghcr.io-2496ED?style=flat-square&logo=docker&logoColor=white)](https://github.com/users/cyanheads/packages/container/package/who-gho-mcp-server) [![MCP SDK](https://img.shields.io/badge/MCP%20SDK-^1.29.0-green.svg?style=flat-square)](https://modelcontextprotocol.io/) [![npm](https://img.shields.io/npm/v/@cyanheads/who-gho-mcp-server?style=flat-square&logo=npm&logoColor=white)](https://www.npmjs.com/package/@cyanheads/who-gho-mcp-server) [![TypeScript](https://img.shields.io/badge/TypeScript-^6.0.3-3178C6.svg?style=flat-square)](https://www.typescriptlang.org/) [![Bun](https://img.shields.io/badge/Bun-v1.3.2-blueviolet.svg?style=flat-square)](https://bun.sh/)
11
11
 
12
12
  </div>
13
13
 
@@ -21,5 +21,5 @@ export declare const whoGetIndicatorMetadata: import("@cyanheads/mcp-ts-core").T
21
21
  readonly code: JsonRpcErrorCode.NotFound;
22
22
  readonly when: "All requested indicator codes returned empty metadata.";
23
23
  readonly recovery: "Use who_search_indicators to find valid indicator codes matching your topic and retry.";
24
- }]>;
24
+ }], undefined>;
25
25
  //# sourceMappingURL=who-get-indicator-metadata.tool.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"who-get-indicator-metadata.tool.d.ts","sourceRoot":"","sources":["../../../../src/mcp-server/tools/definitions/who-get-indicator-metadata.tool.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAQ,CAAC,EAAE,MAAM,wBAAwB,CAAC;AACjD,OAAO,EAAE,gBAAgB,EAAE,MAAM,+BAA+B,CAAC;AAGjE,eAAO,MAAM,uBAAuB;;;;;;;;;;;;;;;;;GAmIlC,CAAC"}
1
+ {"version":3,"file":"who-get-indicator-metadata.tool.d.ts","sourceRoot":"","sources":["../../../../src/mcp-server/tools/definitions/who-get-indicator-metadata.tool.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAQ,CAAC,EAAE,MAAM,wBAAwB,CAAC;AACjD,OAAO,EAAE,gBAAgB,EAAE,MAAM,+BAA+B,CAAC;AAGjE,eAAO,MAAM,uBAAuB;;;;;;;;;;;;;;;;;cAmIlC,CAAC"}
@@ -20,5 +20,5 @@ export declare const whoListDimensionValues: import("@cyanheads/mcp-ts-core").To
20
20
  readonly code: JsonRpcErrorCode.NotFound;
21
21
  readonly when: "The dimension code returned no values — it may not exist in the GHO catalog.";
22
22
  readonly recovery: "Use who_list_dimensions to discover valid dimension type codes and retry with a correct code.";
23
- }]>;
23
+ }], undefined>;
24
24
  //# sourceMappingURL=who-list-dimension-values.tool.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"who-list-dimension-values.tool.d.ts","sourceRoot":"","sources":["../../../../src/mcp-server/tools/definitions/who-list-dimension-values.tool.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAQ,CAAC,EAAE,MAAM,wBAAwB,CAAC;AACjD,OAAO,EAAE,gBAAgB,EAAE,MAAM,+BAA+B,CAAC;AAGjE,eAAO,MAAM,sBAAsB;;;;;;;;;;;;;;;;GAgFjC,CAAC"}
1
+ {"version":3,"file":"who-list-dimension-values.tool.d.ts","sourceRoot":"","sources":["../../../../src/mcp-server/tools/definitions/who-list-dimension-values.tool.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAQ,CAAC,EAAE,MAAM,wBAAwB,CAAC;AACjD,OAAO,EAAE,gBAAgB,EAAE,MAAM,+BAA+B,CAAC;AAGjE,eAAO,MAAM,sBAAsB;;;;;;;;;;;;;;;;cAgFjC,CAAC"}
@@ -8,5 +8,5 @@ export declare const whoListDimensions: import("@cyanheads/mcp-ts-core").ToolDef
8
8
  code: z.ZodString;
9
9
  title: z.ZodString;
10
10
  }, z.core.$strip>>;
11
- }, z.core.$strip>, undefined>;
11
+ }, z.core.$strip>, undefined, undefined>;
12
12
  //# sourceMappingURL=who-list-dimensions.tool.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"who-list-dimensions.tool.d.ts","sourceRoot":"","sources":["../../../../src/mcp-server/tools/definitions/who-list-dimensions.tool.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAQ,CAAC,EAAE,MAAM,wBAAwB,CAAC;AAGjD,eAAO,MAAM,iBAAiB;;;;;6BAmC5B,CAAC"}
1
+ {"version":3,"file":"who-list-dimensions.tool.d.ts","sourceRoot":"","sources":["../../../../src/mcp-server/tools/definitions/who-list-dimensions.tool.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAQ,CAAC,EAAE,MAAM,wBAAwB,CAAC;AAGjD,eAAO,MAAM,iBAAiB;;;;;wCAmC5B,CAAC"}
@@ -11,7 +11,9 @@ export declare const whoListIndicators: import("@cyanheads/mcp-ts-core").ToolDef
11
11
  indicatorCode: z.ZodString;
12
12
  indicatorName: z.ZodString;
13
13
  }, z.core.$strip>>;
14
- total: z.ZodNumber;
15
- hasMore: z.ZodBoolean;
16
- }, z.core.$strip>, undefined>;
14
+ }, z.core.$strip>, undefined, {
15
+ readonly totalCount: z.ZodNumber;
16
+ readonly hasMore: z.ZodBoolean;
17
+ readonly pageInfo: z.ZodString;
18
+ }>;
17
19
  //# sourceMappingURL=who-list-indicators.tool.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"who-list-indicators.tool.d.ts","sourceRoot":"","sources":["../../../../src/mcp-server/tools/definitions/who-list-indicators.tool.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAQ,CAAC,EAAE,MAAM,wBAAwB,CAAC;AAGjD,eAAO,MAAM,iBAAiB;;;;;;;;;;6BAkE5B,CAAC"}
1
+ {"version":3,"file":"who-list-indicators.tool.d.ts","sourceRoot":"","sources":["../../../../src/mcp-server/tools/definitions/who-list-indicators.tool.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAQ,CAAC,EAAE,MAAM,wBAAwB,CAAC;AAGjD,eAAO,MAAM,iBAAiB;;;;;;;;;;;;EA2E5B,CAAC"}
@@ -38,23 +38,29 @@ export const whoListIndicators = tool('who_list_indicators', {
38
38
  })
39
39
  .describe('An indicator entry with its code and name.'))
40
40
  .describe('Indicators for the requested page.'),
41
- total: z.number().describe('Total number of indicators in the GHO catalog.'),
42
- hasMore: z.boolean().describe('True when more indicators exist beyond the current page.'),
43
41
  }),
42
+ // Agent-facing pagination context: catalog total and whether more pages exist.
43
+ // Lives in enrichment so it reaches both structuredContent and content[] alike.
44
+ enrichment: {
45
+ totalCount: z.number().describe('Total number of indicators in the GHO catalog.'),
46
+ hasMore: z.boolean().describe('True when more indicators exist beyond the current page.'),
47
+ pageInfo: z
48
+ .string()
49
+ .describe('Human-readable page position, e.g. "offset 0, showing 50 of 3059". Use to construct the next offset.'),
50
+ },
44
51
  async handler(input, ctx) {
45
52
  ctx.log.info('Listing indicators', { limit: input.limit, offset: input.offset });
46
53
  const { indicators, total } = await getGhoService().listIndicators({ limit: input.limit, offset: input.offset }, ctx);
47
- return {
48
- indicators,
49
- total,
50
- hasMore: input.offset + indicators.length < total,
51
- };
54
+ const hasMore = input.offset + indicators.length < total;
55
+ ctx.enrich.total(total);
56
+ ctx.enrich({
57
+ hasMore,
58
+ pageInfo: `offset ${input.offset}, showing ${indicators.length} of ${total}`,
59
+ });
60
+ return { indicators };
52
61
  },
53
62
  format: (result) => {
54
- const lines = [
55
- `**Indicators (${result.indicators.length} shown, ${result.total} total, hasMore: ${result.hasMore}):**`,
56
- '',
57
- ];
63
+ const lines = [`**Indicators (showing ${result.indicators.length}):**`, ''];
58
64
  for (const ind of result.indicators) {
59
65
  lines.push(`- **${ind.indicatorCode}**: ${ind.indicatorName}`);
60
66
  }
@@ -1 +1 @@
1
- {"version":3,"file":"who-list-indicators.tool.js","sourceRoot":"","sources":["../../../../src/mcp-server/tools/definitions/who-list-indicators.tool.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,IAAI,EAAE,CAAC,EAAE,MAAM,wBAAwB,CAAC;AACjD,OAAO,EAAE,aAAa,EAAE,MAAM,+BAA+B,CAAC;AAE9D,MAAM,CAAC,MAAM,iBAAiB,GAAG,IAAI,CAAC,qBAAqB,EAAE;IAC3D,KAAK,EAAE,yBAAyB;IAChC,WAAW,EACT,8EAA8E;QAC9E,kGAAkG;QAClG,0EAA0E;IAC5E,WAAW,EAAE,EAAE,YAAY,EAAE,IAAI,EAAE,cAAc,EAAE,IAAI,EAAE,aAAa,EAAE,KAAK,EAAE;IAC/E,KAAK,EAAE,CAAC,CAAC,MAAM,CAAC;QACd,KAAK,EAAE,CAAC;aACL,MAAM,EAAE;aACR,GAAG,EAAE;aACL,GAAG,CAAC,CAAC,CAAC;aACN,GAAG,CAAC,GAAG,CAAC;aACR,OAAO,CAAC,EAAE,CAAC;aACX,QAAQ,CAAC,+DAA+D,CAAC;QAC5E,MAAM,EAAE,CAAC;aACN,MAAM,EAAE;aACR,GAAG,EAAE;aACL,GAAG,CAAC,CAAC,CAAC;aACN,OAAO,CAAC,CAAC,CAAC;aACV,QAAQ,CAAC,8CAA8C,CAAC;KAC5D,CAAC;IACF,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC;QACf,UAAU,EAAE,CAAC;aACV,KAAK,CACJ,CAAC;aACE,MAAM,CAAC;YACN,aAAa,EAAE,CAAC;iBACb,MAAM,EAAE;iBACR,QAAQ,CACP,+EAA+E,CAChF;YACH,aAAa,EAAE,CAAC;iBACb,MAAM,EAAE;iBACR,QAAQ,CAAC,+DAA+D,CAAC;SAC7E,CAAC;aACD,QAAQ,CAAC,4CAA4C,CAAC,CAC1D;aACA,QAAQ,CAAC,oCAAoC,CAAC;QACjD,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,gDAAgD,CAAC;QAC5E,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,CAAC,0DAA0D,CAAC;KAC1F,CAAC;IAEF,KAAK,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG;QACtB,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,oBAAoB,EAAE,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC;QACjF,MAAM,EAAE,UAAU,EAAE,KAAK,EAAE,GAAG,MAAM,aAAa,EAAE,CAAC,cAAc,CAChE,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,CAAC,MAAM,EAAE,EAC5C,GAAG,CACJ,CAAC;QACF,OAAO;YACL,UAAU;YACV,KAAK;YACL,OAAO,EAAE,KAAK,CAAC,MAAM,GAAG,UAAU,CAAC,MAAM,GAAG,KAAK;SAClD,CAAC;IACJ,CAAC;IAED,MAAM,EAAE,CAAC,MAAM,EAAE,EAAE;QACjB,MAAM,KAAK,GAAG;YACZ,iBAAiB,MAAM,CAAC,UAAU,CAAC,MAAM,WAAW,MAAM,CAAC,KAAK,oBAAoB,MAAM,CAAC,OAAO,MAAM;YACxG,EAAE;SACH,CAAC;QACF,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,UAAU,EAAE,CAAC;YACpC,KAAK,CAAC,IAAI,CAAC,OAAO,GAAG,CAAC,aAAa,OAAO,GAAG,CAAC,aAAa,EAAE,CAAC,CAAC;QACjE,CAAC;QACD,OAAO,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACpD,CAAC;CACF,CAAC,CAAC"}
1
+ {"version":3,"file":"who-list-indicators.tool.js","sourceRoot":"","sources":["../../../../src/mcp-server/tools/definitions/who-list-indicators.tool.ts"],"names":[],"mappings":"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"}
@@ -36,9 +36,6 @@ export declare const whoQueryIndicatorData: import("@cyanheads/mcp-ts-core").Too
36
36
  displayValue: z.ZodOptional<z.ZodString>;
37
37
  comments: z.ZodOptional<z.ZodString>;
38
38
  }, z.core.$strip>>;
39
- totalRows: z.ZodNumber;
40
- truncated: z.ZodBoolean;
41
- truncatedNote: z.ZodOptional<z.ZodString>;
42
39
  }, z.core.$strip>, readonly [{
43
40
  readonly reason: "indicator_not_found";
44
41
  readonly code: JsonRpcErrorCode.NotFound;
@@ -54,5 +51,15 @@ export declare const whoQueryIndicatorData: import("@cyanheads/mcp-ts-core").Too
54
51
  readonly code: JsonRpcErrorCode.ValidationError;
55
52
  readonly when: "More than one of country_codes, region_codes, or income_group_codes were provided.";
56
53
  readonly recovery: "Provide only one spatial filter type per call. To compare countries and regions, make separate calls.";
57
- }]>;
54
+ }], {
55
+ readonly appliedFilters: z.ZodObject<{
56
+ indicatorCode: z.ZodString;
57
+ spatialFilter: z.ZodOptional<z.ZodString>;
58
+ yearRange: z.ZodOptional<z.ZodString>;
59
+ sex: z.ZodOptional<z.ZodString>;
60
+ dim1Value: z.ZodOptional<z.ZodString>;
61
+ }, z.core.$strip>;
62
+ readonly totalRows: z.ZodNumber;
63
+ readonly notice: z.ZodOptional<z.ZodString>;
64
+ }>;
58
65
  //# sourceMappingURL=who-query-indicator-data.tool.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"who-query-indicator-data.tool.d.ts","sourceRoot":"","sources":["../../../../src/mcp-server/tools/definitions/who-query-indicator-data.tool.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAQ,CAAC,EAAE,MAAM,wBAAwB,CAAC;AACjD,OAAO,EAAE,gBAAgB,EAAE,MAAM,+BAA+B,CAAC;AAKjE,eAAO,MAAM,qBAAqB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8QhC,CAAC"}
1
+ {"version":3,"file":"who-query-indicator-data.tool.d.ts","sourceRoot":"","sources":["../../../../src/mcp-server/tools/definitions/who-query-indicator-data.tool.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAQ,CAAC,EAAE,MAAM,wBAAwB,CAAC;AACjD,OAAO,EAAE,gBAAgB,EAAE,MAAM,+BAA+B,CAAC;AAKjE,eAAO,MAAM,qBAAqB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAuUhC,CAAC"}
@@ -128,17 +128,50 @@ export const whoQueryIndicatorData = tool('who_query_indicator_data', {
128
128
  })
129
129
  .describe('A single data row from the GHO indicator dataset.'))
130
130
  .describe('Data rows matching the query.'),
131
+ }),
132
+ // Agent-facing result context: effective filter echo, total row count, and truncation
133
+ // notice when the limit was reached. Lives in enrichment so it reaches structuredContent
134
+ // + content[] alike without a format() entry.
135
+ enrichment: {
136
+ appliedFilters: z
137
+ .object({
138
+ indicatorCode: z.string().describe('Indicator code that was queried.'),
139
+ spatialFilter: z
140
+ .string()
141
+ .optional()
142
+ .describe('Active spatial filter summary, e.g. "country_codes: JPN,USA" or "region_codes: EUR".'),
143
+ yearRange: z
144
+ .string()
145
+ .optional()
146
+ .describe('Applied year range, e.g. "2015–2023". Absent when no year filter was set.'),
147
+ sex: z.string().optional().describe('Sex filter value applied, if any.'),
148
+ dim1Value: z.string().optional().describe('dim1_value filter applied, if any.'),
149
+ })
150
+ .describe('Filters that were applied to the query.'),
131
151
  totalRows: z
132
152
  .number()
133
153
  .describe('Total row count matching the query on the server (before the limit is applied).'),
134
- truncated: z
135
- .boolean()
136
- .describe('True when totalRows exceeds the limit and not all rows were returned.'),
137
- truncatedNote: z
154
+ notice: z
138
155
  .string()
139
156
  .optional()
140
- .describe('Present when truncated is true. Explains how to retrieve additional rows, e.g. by narrowing filters or increasing the limit.'),
141
- }),
157
+ .describe('Present when the limit was reached and not all rows were returned. Explains how to retrieve additional rows.'),
158
+ },
159
+ enrichmentTrailer: {
160
+ appliedFilters: {
161
+ render: (filters) => {
162
+ const parts = [`- **Indicator:** ${filters.indicatorCode}`];
163
+ if (filters.spatialFilter)
164
+ parts.push(`- **Spatial:** ${filters.spatialFilter}`);
165
+ if (filters.yearRange)
166
+ parts.push(`- **Years:** ${filters.yearRange}`);
167
+ if (filters.sex)
168
+ parts.push(`- **Sex:** ${filters.sex}`);
169
+ if (filters.dim1Value)
170
+ parts.push(`- **Dim1:** ${filters.dim1Value}`);
171
+ return `**Applied Filters:**\n${parts.join('\n')}`;
172
+ },
173
+ },
174
+ },
142
175
  errors: [
143
176
  {
144
177
  reason: 'indicator_not_found',
@@ -198,19 +231,38 @@ export const whoQueryIndicatorData = tool('who_query_indicator_data', {
198
231
  if (rows.length === 0) {
199
232
  throw ctx.fail('no_data', `Indicator "${input.indicator_code}" returned no data for the applied filters.`, { indicatorCode: input.indicator_code, ...ctx.recoveryFor('no_data') });
200
233
  }
201
- const truncatedNote = truncated
202
- ? `Showing ${input.limit} of ${totalRows} rows. Narrow the filters (year range, spatial codes) or increase the limit (max 1000) to retrieve more.`
203
- : undefined;
204
- return { rows, totalRows, truncated, ...(truncatedNote && { truncatedNote }) };
234
+ // Build a human-readable spatial filter summary for the enrichment echo.
235
+ let spatialFilter;
236
+ if (input.country_codes?.length)
237
+ spatialFilter = `country_codes: ${input.country_codes.join(',')}`;
238
+ else if (input.region_codes?.length)
239
+ spatialFilter = `region_codes: ${input.region_codes.join(',')}`;
240
+ else if (input.income_group_codes?.length)
241
+ spatialFilter = `income_group_codes: ${input.income_group_codes.join(',')}`;
242
+ const yearRange = input.year_from != null && input.year_to != null
243
+ ? `${input.year_from}–${input.year_to}`
244
+ : input.year_from != null
245
+ ? `from ${input.year_from}`
246
+ : input.year_to != null
247
+ ? `to ${input.year_to}`
248
+ : undefined;
249
+ ctx.enrich({
250
+ appliedFilters: {
251
+ indicatorCode: input.indicator_code,
252
+ ...(spatialFilter && { spatialFilter }),
253
+ ...(yearRange && { yearRange }),
254
+ ...(input.sex && { sex: input.sex }),
255
+ ...(input.dim1_value && { dim1Value: input.dim1_value }),
256
+ },
257
+ totalRows,
258
+ });
259
+ if (truncated) {
260
+ ctx.enrich.notice(`Showing ${input.limit} of ${totalRows} rows. Narrow the filters (year range, spatial codes) or increase the limit (max 1000) to retrieve more.`);
261
+ }
262
+ return { rows };
205
263
  },
206
264
  format: (result) => {
207
- const lines = [
208
- `**Rows: ${result.rows.length} shown${result.truncated ? ` of ${result.totalRows} total (truncated)` : ` of ${result.totalRows} total`}**`,
209
- '',
210
- ];
211
- if (result.truncatedNote) {
212
- lines.push(`> ${result.truncatedNote}`, '');
213
- }
265
+ const lines = [`**Rows returned: ${result.rows.length}**`, ''];
214
266
  for (const row of result.rows) {
215
267
  const spatial = [row.spatialDimType, row.spatialDim, row.spatialLabel]
216
268
  .filter(Boolean)
@@ -1 +1 @@
1
- {"version":3,"file":"who-query-indicator-data.tool.js","sourceRoot":"","sources":["../../../../src/mcp-server/tools/definitions/who-query-indicator-data.tool.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"who-query-indicator-data.tool.js","sourceRoot":"","sources":["../../../../src/mcp-server/tools/definitions/who-query-indicator-data.tool.ts"],"names":[],"mappings":"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"}
@@ -12,12 +12,14 @@ export declare const whoSearchIndicators: import("@cyanheads/mcp-ts-core").ToolD
12
12
  indicatorCode: z.ZodString;
13
13
  indicatorName: z.ZodString;
14
14
  }, z.core.$strip>>;
15
- totalMatches: z.ZodNumber;
16
- note: z.ZodOptional<z.ZodString>;
17
15
  }, z.core.$strip>, readonly [{
18
16
  readonly reason: "no_results";
19
17
  readonly code: JsonRpcErrorCode.NotFound;
20
18
  readonly when: "No indicators matched the query keyword.";
21
19
  readonly recovery: "Try a different keyword or use who_list_indicators to browse the full catalog without a filter.";
22
- }]>;
20
+ }], {
21
+ readonly effectiveQuery: z.ZodString;
22
+ readonly totalCount: z.ZodNumber;
23
+ readonly notice: z.ZodOptional<z.ZodString>;
24
+ }>;
23
25
  //# sourceMappingURL=who-search-indicators.tool.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"who-search-indicators.tool.d.ts","sourceRoot":"","sources":["../../../../src/mcp-server/tools/definitions/who-search-indicators.tool.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAQ,CAAC,EAAE,MAAM,wBAAwB,CAAC;AACjD,OAAO,EAAE,gBAAgB,EAAE,MAAM,+BAA+B,CAAC;AAGjE,eAAO,MAAM,mBAAmB;;;;;;;;;;;;;;;GA8F9B,CAAC"}
1
+ {"version":3,"file":"who-search-indicators.tool.d.ts","sourceRoot":"","sources":["../../../../src/mcp-server/tools/definitions/who-search-indicators.tool.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAQ,CAAC,EAAE,MAAM,wBAAwB,CAAC;AACjD,OAAO,EAAE,gBAAgB,EAAE,MAAM,+BAA+B,CAAC;AAGjE,eAAO,MAAM,mBAAmB;;;;;;;;;;;;;;;;;EAkG9B,CAAC"}
@@ -39,14 +39,22 @@ export const whoSearchIndicators = tool('who_search_indicators', {
39
39
  })
40
40
  .describe('An indicator entry with its code and name.'))
41
41
  .describe('Matching indicators up to the requested limit.'),
42
- totalMatches: z
42
+ }),
43
+ // Agent-facing result context: the search term as echoed, total catalog matches, and
44
+ // truncation notice when the limit was reached. Lives in enrichment (not output) so it
45
+ // reaches structuredContent + content[] alike without a format() entry.
46
+ enrichment: {
47
+ effectiveQuery: z
48
+ .string()
49
+ .describe('Keyword used for the catalog search, as received by the server.'),
50
+ totalCount: z
43
51
  .number()
44
- .describe('Total count of indicators matching the query, before the limit is applied.'),
45
- note: z
52
+ .describe('Total indicators matching the query in the catalog, before the limit is applied.'),
53
+ notice: z
46
54
  .string()
47
55
  .optional()
48
56
  .describe('Present when the limit was reached and more results exist. Suggests how to get additional results.'),
49
- }),
57
+ },
50
58
  errors: [
51
59
  {
52
60
  reason: 'no_results',
@@ -64,25 +72,18 @@ export const whoSearchIndicators = tool('who_search_indicators', {
64
72
  });
65
73
  }
66
74
  const truncated = total > input.limit;
67
- return {
68
- indicators,
69
- totalMatches: total,
70
- ...(truncated && {
71
- note: `Showing ${input.limit} of ${total} matches. Refine the query or increase the limit (max 100) to get more targeted results.`,
72
- }),
73
- };
75
+ ctx.enrich.echo(input.query);
76
+ ctx.enrich.total(total);
77
+ if (truncated) {
78
+ ctx.enrich.notice(`Showing ${input.limit} of ${total} matches. Refine the query or increase the limit (max 100) to get more targeted results.`);
79
+ }
80
+ return { indicators };
74
81
  },
75
82
  format: (result) => {
76
- const lines = [
77
- `**Found ${result.totalMatches} indicator${result.totalMatches === 1 ? '' : 's'} (showing ${result.indicators.length}):**`,
78
- '',
79
- ];
83
+ const lines = [`**Found indicators (showing ${result.indicators.length}):**`, ''];
80
84
  for (const ind of result.indicators) {
81
85
  lines.push(`- **${ind.indicatorCode}**: ${ind.indicatorName}`);
82
86
  }
83
- if (result.note) {
84
- lines.push('', `> ${result.note}`);
85
- }
86
87
  return [{ type: 'text', text: lines.join('\n') }];
87
88
  },
88
89
  });
@@ -1 +1 @@
1
- {"version":3,"file":"who-search-indicators.tool.js","sourceRoot":"","sources":["../../../../src/mcp-server/tools/definitions/who-search-indicators.tool.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,IAAI,EAAE,CAAC,EAAE,MAAM,wBAAwB,CAAC;AACjD,OAAO,EAAE,gBAAgB,EAAE,MAAM,+BAA+B,CAAC;AACjE,OAAO,EAAE,aAAa,EAAE,MAAM,+BAA+B,CAAC;AAE9D,MAAM,CAAC,MAAM,mBAAmB,GAAG,IAAI,CAAC,uBAAuB,EAAE;IAC/D,KAAK,EAAE,2BAA2B;IAClC,WAAW,EACT,+FAA+F;QAC/F,2EAA2E;QAC3E,2FAA2F;QAC3F,qDAAqD;QACrD,4FAA4F;IAC9F,WAAW,EAAE,EAAE,YAAY,EAAE,IAAI,EAAE,cAAc,EAAE,IAAI,EAAE,aAAa,EAAE,KAAK,EAAE;IAC/E,KAAK,EAAE,CAAC,CAAC,MAAM,CAAC;QACd,KAAK,EAAE,CAAC;aACL,MAAM,EAAE;aACR,GAAG,CAAC,CAAC,CAAC;aACN,QAAQ,CAAC,iFAAiF,CAAC;QAC9F,KAAK,EAAE,CAAC;aACL,MAAM,EAAE;aACR,GAAG,EAAE;aACL,GAAG,CAAC,CAAC,CAAC;aACN,GAAG,CAAC,GAAG,CAAC;aACR,OAAO,CAAC,EAAE,CAAC;aACX,QAAQ,CAAC,8DAA8D,CAAC;KAC5E,CAAC;IACF,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC;QACf,UAAU,EAAE,CAAC;aACV,KAAK,CACJ,CAAC;aACE,MAAM,CAAC;YACN,aAAa,EAAE,CAAC;iBACb,MAAM,EAAE;iBACR,QAAQ,CACP,+EAA+E,CAChF;YACH,aAAa,EAAE,CAAC;iBACb,MAAM,EAAE;iBACR,QAAQ,CAAC,+DAA+D,CAAC;SAC7E,CAAC;aACD,QAAQ,CAAC,4CAA4C,CAAC,CAC1D;aACA,QAAQ,CAAC,gDAAgD,CAAC;QAC7D,YAAY,EAAE,CAAC;aACZ,MAAM,EAAE;aACR,QAAQ,CAAC,4EAA4E,CAAC;QACzF,IAAI,EAAE,CAAC;aACJ,MAAM,EAAE;aACR,QAAQ,EAAE;aACV,QAAQ,CACP,oGAAoG,CACrG;KACJ,CAAC;IAEF,MAAM,EAAE;QACN;YACE,MAAM,EAAE,YAAY;YACpB,IAAI,EAAE,gBAAgB,CAAC,QAAQ;YAC/B,IAAI,EAAE,0CAA0C;YAChD,QAAQ,EACN,iGAAiG;SACpG;KACF;IAED,KAAK,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG;QACtB,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,sBAAsB,EAAE,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,EAAE,CAAC,CAAC;QACjF,MAAM,EAAE,UAAU,EAAE,KAAK,EAAE,GAAG,MAAM,aAAa,EAAE,CAAC,cAAc,CAChE,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,EAAE,MAAM,EAAE,CAAC,EAAE,EACrD,GAAG,CACJ,CAAC;QACF,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC5B,MAAM,GAAG,CAAC,IAAI,CAAC,YAAY,EAAE,0BAA0B,KAAK,CAAC,KAAK,IAAI,EAAE;gBACtE,GAAG,GAAG,CAAC,WAAW,CAAC,YAAY,CAAC;aACjC,CAAC,CAAC;QACL,CAAC;QACD,MAAM,SAAS,GAAG,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC;QACtC,OAAO;YACL,UAAU;YACV,YAAY,EAAE,KAAK;YACnB,GAAG,CAAC,SAAS,IAAI;gBACf,IAAI,EAAE,WAAW,KAAK,CAAC,KAAK,OAAO,KAAK,0FAA0F;aACnI,CAAC;SACH,CAAC;IACJ,CAAC;IAED,MAAM,EAAE,CAAC,MAAM,EAAE,EAAE;QACjB,MAAM,KAAK,GAAG;YACZ,WAAW,MAAM,CAAC,YAAY,aAAa,MAAM,CAAC,YAAY,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,aAAa,MAAM,CAAC,UAAU,CAAC,MAAM,MAAM;YAC1H,EAAE;SACH,CAAC;QACF,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,UAAU,EAAE,CAAC;YACpC,KAAK,CAAC,IAAI,CAAC,OAAO,GAAG,CAAC,aAAa,OAAO,GAAG,CAAC,aAAa,EAAE,CAAC,CAAC;QACjE,CAAC;QACD,IAAI,MAAM,CAAC,IAAI,EAAE,CAAC;YAChB,KAAK,CAAC,IAAI,CAAC,EAAE,EAAE,KAAK,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC;QACrC,CAAC;QACD,OAAO,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACpD,CAAC;CACF,CAAC,CAAC"}
1
+ {"version":3,"file":"who-search-indicators.tool.js","sourceRoot":"","sources":["../../../../src/mcp-server/tools/definitions/who-search-indicators.tool.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@cyanheads/who-gho-mcp-server",
3
- "version": "0.1.9",
3
+ "version": "0.1.10",
4
4
  "mcpName": "io.github.cyanheads/who-gho-mcp-server",
5
5
  "description": "Query WHO Global Health Observatory data — 3,059 indicators across 194 member states with country, region, year, and sex filters via MCP. STDIO or Streamable HTTP.",
6
6
  "type": "module",
@@ -16,7 +16,8 @@
16
16
  "clean": "bun run scripts/clean.ts",
17
17
  "devcheck": "bun run scripts/devcheck.ts",
18
18
  "tree": "bun run scripts/tree.ts",
19
- "format": "biome check --write --unsafe",
19
+ "format": "biome check --write .",
20
+ "format:unsafe": "biome check --write --unsafe .",
20
21
  "test": "bunx vitest run",
21
22
  "audit:refresh": "rm -f bun.lock && bun install && bun audit",
22
23
  "list-skills": "bun run scripts/list-skills.ts",
@@ -75,7 +76,7 @@
75
76
  "access": "public"
76
77
  },
77
78
  "dependencies": {
78
- "@cyanheads/mcp-ts-core": "^0.9.13",
79
+ "@cyanheads/mcp-ts-core": "^0.9.16",
79
80
  "pino-pretty": "^13.1.3",
80
81
  "zod": "^4.4.3"
81
82
  },
package/server.json CHANGED
@@ -12,14 +12,14 @@
12
12
  "url": "https://who-gho.caseyjhand.com/mcp"
13
13
  }
14
14
  ],
15
- "version": "0.1.9",
15
+ "version": "0.1.10",
16
16
  "packages": [
17
17
  {
18
18
  "registryType": "npm",
19
19
  "registryBaseUrl": "https://registry.npmjs.org",
20
20
  "identifier": "@cyanheads/who-gho-mcp-server",
21
21
  "runtimeHint": "bun",
22
- "version": "0.1.9",
22
+ "version": "0.1.10",
23
23
  "packageArguments": [
24
24
  {
25
25
  "type": "positional",
@@ -48,7 +48,7 @@
48
48
  "registryBaseUrl": "https://registry.npmjs.org",
49
49
  "identifier": "@cyanheads/who-gho-mcp-server",
50
50
  "runtimeHint": "bun",
51
- "version": "0.1.9",
51
+ "version": "0.1.10",
52
52
  "packageArguments": [
53
53
  {
54
54
  "type": "positional",