@cyanheads/who-gho-mcp-server 0.1.1 → 0.1.4
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.
- package/CLAUDE.md +1 -1
- package/Dockerfile +12 -6
- package/README.md +1 -1
- package/changelog/0.1.x/0.1.2.md +12 -0
- package/changelog/0.1.x/0.1.3.md +20 -0
- package/changelog/0.1.x/0.1.4.md +12 -0
- package/dist/mcp-server/resources/definitions/who-indicator-metadata.resource.js +2 -2
- package/dist/mcp-server/resources/definitions/who-indicator-metadata.resource.js.map +1 -1
- package/dist/mcp-server/tools/definitions/who-get-indicator-metadata.tool.js +2 -2
- package/dist/mcp-server/tools/definitions/who-get-indicator-metadata.tool.js.map +1 -1
- package/dist/mcp-server/tools/definitions/who-list-dimensions.tool.js +1 -1
- package/dist/mcp-server/tools/definitions/who-list-dimensions.tool.js.map +1 -1
- package/dist/mcp-server/tools/definitions/who-query-indicator-data.tool.d.ts.map +1 -1
- package/dist/mcp-server/tools/definitions/who-query-indicator-data.tool.js +9 -5
- package/dist/mcp-server/tools/definitions/who-query-indicator-data.tool.js.map +1 -1
- package/dist/services/gho/gho-service.d.ts +2 -1
- package/dist/services/gho/gho-service.d.ts.map +1 -1
- package/dist/services/gho/gho-service.js +6 -2
- package/dist/services/gho/gho-service.js.map +1 -1
- package/package.json +27 -4
- package/server.json +7 -7
package/CLAUDE.md
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
# Developer Protocol
|
|
2
2
|
|
|
3
3
|
**Server:** who-gho-mcp-server
|
|
4
|
-
**Version:** 0.1.
|
|
4
|
+
**Version:** 0.1.4
|
|
5
5
|
**Framework:** [@cyanheads/mcp-ts-core](https://www.npmjs.com/package/@cyanheads/mcp-ts-core) `^0.9.7`
|
|
6
6
|
**Engines:** Bun ≥1.3.0, Node ≥24.0.0
|
|
7
7
|
**MCP SDK:** `@modelcontextprotocol/sdk` ^1.29.0
|
package/Dockerfile
CHANGED
|
@@ -1,13 +1,18 @@
|
|
|
1
1
|
# ==============================================================================
|
|
2
2
|
# Build Stage
|
|
3
3
|
#
|
|
4
|
-
#
|
|
5
|
-
#
|
|
4
|
+
# Uses a real Node.js image so that tsx runs under a proper Node runtime.
|
|
5
|
+
# The oven/bun image provides a `node` shim that actually runs Bun — Bun's
|
|
6
|
+
# module resolver can't locate tsx's CJS entry on Linux arm64, causing the
|
|
7
|
+
# build to fail. Node LTS resolves tsx correctly via the standard CJS loader.
|
|
6
8
|
# ==============================================================================
|
|
7
|
-
FROM
|
|
9
|
+
FROM node:24-slim AS build
|
|
8
10
|
|
|
9
11
|
WORKDIR /usr/src/app
|
|
10
12
|
|
|
13
|
+
# Install bun for dependency resolution (bun.lock format)
|
|
14
|
+
RUN npm install -g bun@1.3
|
|
15
|
+
|
|
11
16
|
# Copy dependency manifests for optimized layer caching
|
|
12
17
|
COPY package.json bun.lock ./
|
|
13
18
|
|
|
@@ -18,7 +23,7 @@ RUN bun install --frozen-lockfile
|
|
|
18
23
|
COPY . .
|
|
19
24
|
|
|
20
25
|
# Build the application
|
|
21
|
-
RUN
|
|
26
|
+
RUN npm run build
|
|
22
27
|
|
|
23
28
|
|
|
24
29
|
# ==============================================================================
|
|
@@ -37,9 +42,10 @@ WORKDIR /usr/src/app
|
|
|
37
42
|
ENV NODE_ENV=production
|
|
38
43
|
|
|
39
44
|
# OCI image metadata (https://github.com/opencontainers/image-spec/blob/main/annotations.md)
|
|
40
|
-
LABEL org.opencontainers.image.title="who-gho-mcp-server"
|
|
41
|
-
LABEL org.opencontainers.image.description=""
|
|
45
|
+
LABEL org.opencontainers.image.title="@cyanheads/who-gho-mcp-server"
|
|
46
|
+
LABEL org.opencontainers.image.description="MCP server for the WHO Global Health Observatory — 3,059 global health indicators across 194 member states with country, region, year, and sex filters."
|
|
42
47
|
LABEL org.opencontainers.image.licenses="Apache-2.0"
|
|
48
|
+
LABEL org.opencontainers.image.source="https://github.com/cyanheads/who-gho-mcp-server"
|
|
43
49
|
|
|
44
50
|
# Copy dependency manifests
|
|
45
51
|
COPY package.json bun.lock ./
|
package/README.md
CHANGED
|
@@ -7,7 +7,7 @@
|
|
|
7
7
|
|
|
8
8
|
<div align="center">
|
|
9
9
|
|
|
10
|
-
[](./CHANGELOG.md) [](./LICENSE) [](https://github.com/users/cyanheads/packages/container/package/who-gho-mcp-server) [](https://modelcontextprotocol.io/) [](https://www.npmjs.com/package/@cyanheads/who-gho-mcp-server) [](https://www.typescriptlang.org/) [](https://bun.sh/)
|
|
11
11
|
|
|
12
12
|
</div>
|
|
13
13
|
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
---
|
|
2
|
+
summary: "Fix indicator name resolution and document region_codes aggregate behavior"
|
|
3
|
+
breaking: false
|
|
4
|
+
security: false
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
# 0.1.2 — 2026-05-23
|
|
8
|
+
|
|
9
|
+
## Fixed
|
|
10
|
+
|
|
11
|
+
- **`who_get_indicator_metadata`** / **`who://indicator/{code}/metadata`**: `indicatorName` now reflects the actual indicator name. `GhoService.listIndicators` accepts an `indicatorCode` param that applies an `IndicatorCode eq '...'` OData filter; both call sites updated to pass the code.
|
|
12
|
+
- **`who_query_indicator_data`**: `region_codes` description now documents that region rows are aggregates, not per-country breakdowns, and how to retrieve country-level data instead.
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
---
|
|
2
|
+
summary: "Tool description fixes and metadata sync to gold standard"
|
|
3
|
+
breaking: false
|
|
4
|
+
security: false
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
# 0.1.3 — 2026-05-23
|
|
8
|
+
|
|
9
|
+
## Fixed
|
|
10
|
+
|
|
11
|
+
- **`who_list_dimensions`**: description referred to "this endpoint" — changed to "this tool".
|
|
12
|
+
- **`who_query_indicator_data`**: sex filter description replaced the internal `Dim1Type=SEX` implementation detail with behavior-facing wording. `dim1_value` description now includes a concrete example code (`YEARS05-14`).
|
|
13
|
+
|
|
14
|
+
## Changed
|
|
15
|
+
|
|
16
|
+
- **`package.json`**: added `mcpName`, `bugs`, `homepage`, `author`, `funding`, `packageManager`; keywords expanded; `repository.url` corrected to `git+https://…git` form; `engines.bun` raised to `>=1.3.2`.
|
|
17
|
+
- **`server.json`**: `name` changed to `io.github.cyanheads/who-gho-mcp-server`; `runtimeHint` corrected from `node` to `bun`.
|
|
18
|
+
- **`manifest.json`**: `repository`, `homepage`, `license` fields added.
|
|
19
|
+
- **`Dockerfile`**: OCI labels updated — title uses scoped package name, description filled in, `source` label added.
|
|
20
|
+
- **`bunfig.toml`**: added (`[install]` and `[run]` config for Bun).
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
---
|
|
2
|
+
summary: "Sync canonical tagline across all metadata surfaces"
|
|
3
|
+
breaking: false
|
|
4
|
+
security: false
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
# 0.1.4 — 2026-05-23
|
|
8
|
+
|
|
9
|
+
## Changed
|
|
10
|
+
|
|
11
|
+
- **`package.json`**, **`server.json`**, **`manifest.json`**: description standardized to `WHO Global Health Observatory — 3,059 indicators across 194 member states.`
|
|
12
|
+
- **`README.md`**: version badge updated to 0.1.4.
|
|
@@ -31,8 +31,8 @@ export const whoIndicatorMetadataResource = resource('who://indicator/{indicator
|
|
|
31
31
|
if (!dims) {
|
|
32
32
|
throw notFound(`Indicator "${params.indicatorCode}" has no metadata — it may not exist. Use who_search_indicators to find valid codes.`, { indicatorCode: params.indicatorCode });
|
|
33
33
|
}
|
|
34
|
-
// Look up name
|
|
35
|
-
const nameResult = await getGhoService().listIndicators({
|
|
34
|
+
// Look up name via exact-code filter
|
|
35
|
+
const nameResult = await getGhoService().listIndicators({ indicatorCode: params.indicatorCode, limit: 1, offset: 0 }, ctx);
|
|
36
36
|
const match = nameResult.indicators.find((i) => i.indicatorCode === params.indicatorCode);
|
|
37
37
|
return {
|
|
38
38
|
indicatorCode: params.indicatorCode,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"who-indicator-metadata.resource.js","sourceRoot":"","sources":["../../../../src/mcp-server/resources/definitions/who-indicator-metadata.resource.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,QAAQ,EAAE,CAAC,EAAE,MAAM,wBAAwB,CAAC;AACrD,OAAO,EAAE,QAAQ,EAAE,MAAM,+BAA+B,CAAC;AACzD,OAAO,EAAE,aAAa,EAAE,MAAM,+BAA+B,CAAC;AAE9D,MAAM,CAAC,MAAM,4BAA4B,GAAG,QAAQ,CAAC,0CAA0C,EAAE;IAC/F,IAAI,EAAE,wBAAwB;IAC9B,WAAW,EACT,wGAAwG;QACxG,oFAAoF;IACtF,QAAQ,EAAE,kBAAkB;IAC5B,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC;QACf,aAAa,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,uCAAuC,CAAC;KAC5E,CAAC;IACF,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC;QACf,aAAa,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,iBAAiB,CAAC;QACrD,aAAa,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,sBAAsB,CAAC;QAC1D,UAAU,EAAE,CAAC;aACV,KAAK,CACJ,CAAC;aACE,MAAM,CAAC;YACN,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,6CAA6C,CAAC;YAC7E,aAAa,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,gCAAgC,CAAC;SACrE,CAAC;aACD,QAAQ,CAAC,gDAAgD,CAAC,CAC9D;aACA,QAAQ,CAAC,qCAAqC,CAAC;KACnD,CAAC;IAEF,KAAK,CAAC,OAAO,CAAC,MAAM,EAAE,GAAG;QACvB,MAAM,MAAM,GAAG,MAAM,aAAa,EAAE,CAAC,sBAAsB,CAAC,CAAC,MAAM,CAAC,aAAa,CAAC,EAAE,GAAG,CAAC,CAAC;QACzF,MAAM,IAAI,GAAG,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC;QAC9C,IAAI,CAAC,IAAI,EAAE,CAAC;YACV,MAAM,QAAQ,CACZ,cAAc,MAAM,CAAC,aAAa,sFAAsF,EACxH,EAAE,aAAa,EAAE,MAAM,CAAC,aAAa,EAAE,CACxC,CAAC;QACJ,CAAC;QACD,
|
|
1
|
+
{"version":3,"file":"who-indicator-metadata.resource.js","sourceRoot":"","sources":["../../../../src/mcp-server/resources/definitions/who-indicator-metadata.resource.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,QAAQ,EAAE,CAAC,EAAE,MAAM,wBAAwB,CAAC;AACrD,OAAO,EAAE,QAAQ,EAAE,MAAM,+BAA+B,CAAC;AACzD,OAAO,EAAE,aAAa,EAAE,MAAM,+BAA+B,CAAC;AAE9D,MAAM,CAAC,MAAM,4BAA4B,GAAG,QAAQ,CAAC,0CAA0C,EAAE;IAC/F,IAAI,EAAE,wBAAwB;IAC9B,WAAW,EACT,wGAAwG;QACxG,oFAAoF;IACtF,QAAQ,EAAE,kBAAkB;IAC5B,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC;QACf,aAAa,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,uCAAuC,CAAC;KAC5E,CAAC;IACF,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC;QACf,aAAa,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,iBAAiB,CAAC;QACrD,aAAa,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,sBAAsB,CAAC;QAC1D,UAAU,EAAE,CAAC;aACV,KAAK,CACJ,CAAC;aACE,MAAM,CAAC;YACN,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,6CAA6C,CAAC;YAC7E,aAAa,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,gCAAgC,CAAC;SACrE,CAAC;aACD,QAAQ,CAAC,gDAAgD,CAAC,CAC9D;aACA,QAAQ,CAAC,qCAAqC,CAAC;KACnD,CAAC;IAEF,KAAK,CAAC,OAAO,CAAC,MAAM,EAAE,GAAG;QACvB,MAAM,MAAM,GAAG,MAAM,aAAa,EAAE,CAAC,sBAAsB,CAAC,CAAC,MAAM,CAAC,aAAa,CAAC,EAAE,GAAG,CAAC,CAAC;QACzF,MAAM,IAAI,GAAG,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC;QAC9C,IAAI,CAAC,IAAI,EAAE,CAAC;YACV,MAAM,QAAQ,CACZ,cAAc,MAAM,CAAC,aAAa,sFAAsF,EACxH,EAAE,aAAa,EAAE,MAAM,CAAC,aAAa,EAAE,CACxC,CAAC;QACJ,CAAC;QACD,qCAAqC;QACrC,MAAM,UAAU,GAAG,MAAM,aAAa,EAAE,CAAC,cAAc,CACrD,EAAE,aAAa,EAAE,MAAM,CAAC,aAAa,EAAE,KAAK,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,EAC5D,GAAG,CACJ,CAAC;QACF,MAAM,KAAK,GAAG,UAAU,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,aAAa,KAAK,MAAM,CAAC,aAAa,CAAC,CAAC;QAC1F,OAAO;YACL,aAAa,EAAE,MAAM,CAAC,aAAa;YACnC,aAAa,EAAE,KAAK,EAAE,aAAa,IAAI,MAAM,CAAC,aAAa;YAC3D,UAAU,EAAE,IAAI;SACjB,CAAC;IACJ,CAAC;CACF,CAAC,CAAC"}
|
|
@@ -57,10 +57,10 @@ export const whoGetIndicatorMetadata = tool('who_get_indicator_metadata', {
|
|
|
57
57
|
],
|
|
58
58
|
async handler(input, ctx) {
|
|
59
59
|
ctx.log.info('Fetching indicator metadata', { codes: input.indicator_codes });
|
|
60
|
-
// Fan out all lookups in parallel: dimension metadata + indicator names (
|
|
60
|
+
// Fan out all lookups in parallel: dimension metadata + indicator names (exact code lookup)
|
|
61
61
|
const [dimMap, ...nameResults] = await Promise.all([
|
|
62
62
|
getGhoService().getIndicatorDimensions(input.indicator_codes, ctx),
|
|
63
|
-
...input.indicator_codes.map((code) => getGhoService().listIndicators({
|
|
63
|
+
...input.indicator_codes.map((code) => getGhoService().listIndicators({ indicatorCode: code, limit: 1, offset: 0 }, ctx)),
|
|
64
64
|
]);
|
|
65
65
|
// Build name map from search results
|
|
66
66
|
const nameMap = new Map();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"who-get-indicator-metadata.tool.js","sourceRoot":"","sources":["../../../../src/mcp-server/tools/definitions/who-get-indicator-metadata.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,uBAAuB,GAAG,IAAI,CAAC,4BAA4B,EAAE;IACxE,KAAK,EAAE,gCAAgC;IACvC,WAAW,EACT,qGAAqG;QACrG,iFAAiF;QACjF,kGAAkG;QAClG,oEAAoE;QACpE,yFAAyF;IAC3F,WAAW,EAAE,EAAE,YAAY,EAAE,IAAI,EAAE,cAAc,EAAE,IAAI,EAAE,aAAa,EAAE,KAAK,EAAE;IAC/E,KAAK,EAAE,CAAC,CAAC,MAAM,CAAC;QACd,eAAe,EAAE,CAAC;aACf,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;aACxB,GAAG,CAAC,CAAC,CAAC;aACN,GAAG,CAAC,EAAE,CAAC;aACP,QAAQ,CAAC,uEAAuE,CAAC;KACrF,CAAC;IACF,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC;QACf,UAAU,EAAE,CAAC;aACV,KAAK,CACJ,CAAC;aACE,MAAM,CAAC;YACN,aAAa,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,iBAAiB,CAAC;YACrD,aAAa,EAAE,CAAC;iBACb,MAAM,EAAE;iBACR,QAAQ,CAAC,qDAAqD,CAAC;YAClE,UAAU,EAAE,CAAC;iBACV,KAAK,CACJ,CAAC;iBACE,MAAM,CAAC;gBACN,SAAS,EAAE,CAAC;qBACT,MAAM,EAAE;qBACR,QAAQ,CACP,qEAAqE,CACtE;gBACH,aAAa,EAAE,CAAC;qBACb,MAAM,EAAE;qBACR,QAAQ,CAAC,uDAAuD,CAAC;aACrE,CAAC;iBACD,QAAQ,CAAC,gDAAgD,CAAC,CAC9D;iBACA,QAAQ,CACP,+EAA+E,CAChF;SACJ,CAAC;aACD,QAAQ,CAAC,6BAA6B,CAAC,CAC3C;aACA,QAAQ,CAAC,+CAA+C,CAAC;QAC5D,QAAQ,EAAE,CAAC;aACR,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;aACjB,QAAQ,CACP,oFAAoF,CACrF;KACJ,CAAC;IAEF,MAAM,EAAE;QACN;YACE,MAAM,EAAE,eAAe;YACvB,IAAI,EAAE,gBAAgB,CAAC,QAAQ;YAC/B,IAAI,EAAE,wDAAwD;YAC9D,QAAQ,EACN,wFAAwF;SAC3F;KACF;IAED,KAAK,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG;QACtB,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,6BAA6B,EAAE,EAAE,KAAK,EAAE,KAAK,CAAC,eAAe,EAAE,CAAC,CAAC;QAE9E,
|
|
1
|
+
{"version":3,"file":"who-get-indicator-metadata.tool.js","sourceRoot":"","sources":["../../../../src/mcp-server/tools/definitions/who-get-indicator-metadata.tool.ts"],"names":[],"mappings":"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"}
|
|
@@ -9,7 +9,7 @@ export const whoListDimensions = tool('who_list_dimensions', {
|
|
|
9
9
|
description: 'List all dimension type codes and human-readable titles available in the WHO Global Health Observatory API. ' +
|
|
10
10
|
'Use this to discover valid dimension codes before calling who_list_dimension_values. ' +
|
|
11
11
|
'Common dimensions include COUNTRY, REGION, SEX, WORLDBANKINCOMEGROUP, and AGEGROUP, ' +
|
|
12
|
-
'but many additional types exist — this
|
|
12
|
+
'but many additional types exist — this tool exposes them all.',
|
|
13
13
|
annotations: { readOnlyHint: true, idempotentHint: true, openWorldHint: false },
|
|
14
14
|
input: z.object({}),
|
|
15
15
|
output: z.object({
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"who-list-dimensions.tool.js","sourceRoot":"","sources":["../../../../src/mcp-server/tools/definitions/who-list-dimensions.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,0BAA0B;IACjC,WAAW,EACT,8GAA8G;QAC9G,uFAAuF;QACvF,sFAAsF;QACtF
|
|
1
|
+
{"version":3,"file":"who-list-dimensions.tool.js","sourceRoot":"","sources":["../../../../src/mcp-server/tools/definitions/who-list-dimensions.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,0BAA0B;IACjC,WAAW,EACT,8GAA8G;QAC9G,uFAAuF;QACvF,sFAAsF;QACtF,+DAA+D;IACjE,WAAW,EAAE,EAAE,YAAY,EAAE,IAAI,EAAE,cAAc,EAAE,IAAI,EAAE,aAAa,EAAE,KAAK,EAAE;IAC/E,KAAK,EAAE,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC;IACnB,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC;QACf,UAAU,EAAE,CAAC;aACV,KAAK,CACJ,CAAC;aACE,MAAM,CAAC;YACN,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,yDAAyD,CAAC;YACpF,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,2DAA2D,CAAC;SACxF,CAAC;aACD,QAAQ,CAAC,gCAAgC,CAAC,CAC9C;aACA,QAAQ,CAAC,mDAAmD,CAAC;KACjE,CAAC;IAEF,KAAK,CAAC,OAAO,CAAC,MAAM,EAAE,GAAG;QACvB,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,6BAA6B,CAAC,CAAC;QAC5C,MAAM,UAAU,GAAG,MAAM,aAAa,EAAE,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC;QAC7D,OAAO,EAAE,UAAU,EAAE,CAAC;IACxB,CAAC;IAED,MAAM,EAAE,CAAC,MAAM,EAAE,EAAE;QACjB,MAAM,KAAK,GAAG,CAAC,sBAAsB,MAAM,CAAC,UAAU,CAAC,MAAM,YAAY,EAAE,EAAE,CAAC,CAAC;QAC/E,KAAK,MAAM,CAAC,IAAI,MAAM,CAAC,UAAU,EAAE,CAAC;YAClC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,IAAI,OAAO,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC;QAC5C,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 +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;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
|
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;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8PhC,CAAC"}
|
|
@@ -16,8 +16,8 @@ export const whoQueryIndicatorData = tool('who_query_indicator_data', {
|
|
|
16
16
|
'Spatial filters are mutually exclusive per call: provide only one of country_codes, region_codes, ' +
|
|
17
17
|
'or income_group_codes — mixing them triggers an error. ' +
|
|
18
18
|
'Omitting all spatial filters returns all geographies (may be large; use limit to cap). ' +
|
|
19
|
-
'The sex filter applies
|
|
20
|
-
'returns empty rows; check who_get_indicator_metadata first if uncertain.',
|
|
19
|
+
'The sex filter only applies when the indicator uses SEX as its first cross-cutting dimension — ' +
|
|
20
|
+
'if not, the filter returns empty rows; check who_get_indicator_metadata first if uncertain.',
|
|
21
21
|
annotations: { readOnlyHint: true, idempotentHint: true, openWorldHint: false },
|
|
22
22
|
input: z.object({
|
|
23
23
|
indicator_code: z
|
|
@@ -33,7 +33,11 @@ export const whoQueryIndicatorData = tool('who_query_indicator_data', {
|
|
|
33
33
|
.array(z.string().min(1))
|
|
34
34
|
.optional()
|
|
35
35
|
.describe('WHO region codes to filter on, e.g. ["AFR","EUR","AMR","EMR","SEAR","WPR"]. ' +
|
|
36
|
-
'
|
|
36
|
+
'Returns the aggregate row for each named WHO region — not per-country rows within it. ' +
|
|
37
|
+
'To get country-level data for a region, use who_list_dimension_values with ' +
|
|
38
|
+
'dimension="COUNTRY" and filter by parentCode to retrieve the ISO codes for countries ' +
|
|
39
|
+
'in that region, then pass those to country_codes. ' +
|
|
40
|
+
'Use who_list_dimension_values with dimension="REGION" to see all valid region codes. ' +
|
|
37
41
|
'Mutually exclusive with country_codes and income_group_codes.'),
|
|
38
42
|
income_group_codes: z
|
|
39
43
|
.array(z.string().min(1))
|
|
@@ -59,8 +63,8 @@ export const whoQueryIndicatorData = tool('who_query_indicator_data', {
|
|
|
59
63
|
dim1_value: z
|
|
60
64
|
.string()
|
|
61
65
|
.optional()
|
|
62
|
-
.describe('
|
|
63
|
-
'(e.g. an AGEGROUP code). Ignored when sex is also provided.'),
|
|
66
|
+
.describe('Value filter for indicators whose first cross-cutting dimension is not SEX ' +
|
|
67
|
+
'(e.g. an AGEGROUP code like "YEARS05-14"). Ignored when sex is also provided.'),
|
|
64
68
|
include_uncertainty: z
|
|
65
69
|
.boolean()
|
|
66
70
|
.default(true)
|
|
@@ -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":"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,UAAU,GAAG,CAAC,UAAU,EAAE,UAAU,EAAE,SAAS,CAAU,CAAC;AAEhE,MAAM,CAAC,MAAM,qBAAqB,GAAG,IAAI,CAAC,0BAA0B,EAAE;IACpE,KAAK,EAAE,8BAA8B;IACrC,WAAW,EACT,yGAAyG;QACzG,iGAAiG;QACjG,0EAA0E;QAC1E,mGAAmG;QACnG,qEAAqE;QACrE,oGAAoG;QACpG,yDAAyD;QACzD,yFAAyF;QACzF,iGAAiG;QACjG,
|
|
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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"}
|
|
@@ -10,9 +10,10 @@ export declare class GhoService {
|
|
|
10
10
|
private readonly baseUrl;
|
|
11
11
|
private readonly timeoutMs;
|
|
12
12
|
constructor(_config: AppConfig, _storage: StorageService);
|
|
13
|
-
/** Fetch the indicator catalog with optional keyword search. */
|
|
13
|
+
/** Fetch the indicator catalog with optional keyword search or exact-code lookup. */
|
|
14
14
|
listIndicators(params: {
|
|
15
15
|
query?: string;
|
|
16
|
+
indicatorCode?: string;
|
|
16
17
|
limit: number;
|
|
17
18
|
offset: number;
|
|
18
19
|
}, ctx: Context): Promise<{
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"gho-service.d.ts","sourceRoot":"","sources":["../../../src/services/gho/gho-service.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,wBAAwB,CAAC;AACtD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,+BAA+B,CAAC;AAE/D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,gCAAgC,CAAC;AAGrE,OAAO,KAAK,EACV,eAAe,EACf,OAAO,EACP,SAAS,EACT,cAAc,EACd,SAAS,EACT,uBAAuB,EAOxB,MAAM,YAAY,CAAC;AAKpB,qBAAa,UAAU;IACrB,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAS;IACjC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAS;gBAEvB,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,cAAc;IAOxD,
|
|
1
|
+
{"version":3,"file":"gho-service.d.ts","sourceRoot":"","sources":["../../../src/services/gho/gho-service.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,wBAAwB,CAAC;AACtD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,+BAA+B,CAAC;AAE/D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,gCAAgC,CAAC;AAGrE,OAAO,KAAK,EACV,eAAe,EACf,OAAO,EACP,SAAS,EACT,cAAc,EACd,SAAS,EACT,uBAAuB,EAOxB,MAAM,YAAY,CAAC;AAKpB,qBAAa,UAAU;IACrB,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAS;IACjC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAS;gBAEvB,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,cAAc;IAOxD,qFAAqF;IACrF,cAAc,CACZ,MAAM,EAAE;QAAE,KAAK,CAAC,EAAE,MAAM,CAAC;QAAC,aAAa,CAAC,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,EACjF,GAAG,EAAE,OAAO,GACX,OAAO,CAAC;QAAE,UAAU,EAAE,SAAS,EAAE,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC;IA4BtD,iDAAiD;IACjD,cAAc,CAAC,GAAG,EAAE,OAAO,GAAG,OAAO,CAAC,SAAS,EAAE,CAAC;IAWlD,oFAAoF;IACpF,mBAAmB,CAAC,aAAa,EAAE,MAAM,EAAE,GAAG,EAAE,OAAO,GAAG,OAAO,CAAC,cAAc,EAAE,CAAC;IAiBnF;;;OAGG;IACG,sBAAsB,CAC1B,cAAc,EAAE,MAAM,EAAE,EACxB,GAAG,EAAE,OAAO,GACX,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,uBAAuB,EAAE,CAAC,CAAC;IA6BlD,oEAAoE;IACpE,SAAS,CACP,MAAM,EAAE,eAAe,EACvB,GAAG,EAAE,OAAO,GACX,OAAO,CAAC;QAAE,IAAI,EAAE,OAAO,EAAE,CAAC;QAAC,SAAS,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,OAAO,CAAA;KAAE,CAAC;IA0FtE,OAAO,CAAC,YAAY;IAsBpB;;;OAGG;YACW,QAAQ;IAkBtB,0GAA0G;YAC5F,OAAO;IAkBrB,mDAAmD;IACnD,OAAO,CAAC,iBAAiB;CAG1B;AAMD,wBAAgB,cAAc,CAAC,MAAM,EAAE,SAAS,EAAE,OAAO,EAAE,cAAc,GAAG,IAAI,CAE/E;AAED,wBAAgB,aAAa,IAAI,UAAU,CAK1C"}
|
|
@@ -16,7 +16,7 @@ export class GhoService {
|
|
|
16
16
|
this.baseUrl = serverCfg.baseUrl.replace(/\/$/, '');
|
|
17
17
|
this.timeoutMs = serverCfg.requestTimeoutMs;
|
|
18
18
|
}
|
|
19
|
-
/** Fetch the indicator catalog with optional keyword search. */
|
|
19
|
+
/** Fetch the indicator catalog with optional keyword search or exact-code lookup. */
|
|
20
20
|
listIndicators(params, ctx) {
|
|
21
21
|
return withRetry(async () => {
|
|
22
22
|
const qs = new URLSearchParams({
|
|
@@ -24,7 +24,11 @@ export class GhoService {
|
|
|
24
24
|
$skip: String(params.offset),
|
|
25
25
|
$count: 'true',
|
|
26
26
|
});
|
|
27
|
-
if (params.
|
|
27
|
+
if (params.indicatorCode) {
|
|
28
|
+
// Exact match by code — codes are not substrings of names, so contains() fails here.
|
|
29
|
+
qs.set('$filter', `IndicatorCode eq '${this.escapeODataString(params.indicatorCode)}'`);
|
|
30
|
+
}
|
|
31
|
+
else if (params.query) {
|
|
28
32
|
qs.set('$filter', `contains(IndicatorName,'${this.escapeODataString(params.query)}')`);
|
|
29
33
|
}
|
|
30
34
|
const url = `${this.baseUrl}/Indicator?${qs}`;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"gho-service.js","sourceRoot":"","sources":["../../../src/services/gho/gho-service.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAIH,OAAO,EAAE,QAAQ,EAAE,kBAAkB,EAAE,MAAM,+BAA+B,CAAC;AAE7E,OAAO,EAAE,SAAS,EAAE,MAAM,8BAA8B,CAAC;AACzD,OAAO,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAC;AAgB5D,oGAAoG;AACpG,MAAM,mBAAmB,GAAG,IAAI,GAAG,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC;AAEtD,MAAM,OAAO,UAAU;IACJ,OAAO,CAAS;IAChB,SAAS,CAAS;IAEnC,YAAY,OAAkB,EAAE,QAAwB;QACtD,MAAM,SAAS,GAAG,eAAe,EAAE,CAAC;QACpC,qEAAqE;QACrE,IAAI,CAAC,OAAO,GAAG,SAAS,CAAC,OAAO,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;QACpD,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC,gBAAgB,CAAC;IAC9C,CAAC;IAED,
|
|
1
|
+
{"version":3,"file":"gho-service.js","sourceRoot":"","sources":["../../../src/services/gho/gho-service.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@cyanheads/who-gho-mcp-server",
|
|
3
|
-
"version": "0.1.
|
|
4
|
-
"
|
|
3
|
+
"version": "0.1.4",
|
|
4
|
+
"mcpName": "io.github.cyanheads/who-gho-mcp-server",
|
|
5
|
+
"description": "WHO Global Health Observatory — 3,059 indicators across 194 member states.",
|
|
5
6
|
"type": "module",
|
|
6
7
|
"main": "dist/index.js",
|
|
7
8
|
"types": "dist/index.d.ts",
|
|
@@ -29,6 +30,7 @@
|
|
|
29
30
|
"format": "biome check --write --unsafe .",
|
|
30
31
|
"lint:mcp": "tsx scripts/lint-mcp.ts",
|
|
31
32
|
"lint:packaging": "tsx scripts/lint-packaging.ts",
|
|
33
|
+
"publish-mcp": "mcp-publisher login github -token \"$(security find-generic-password -a \"$USER\" -s mcp-publisher-github-pat -w)\" && mcp-publisher publish",
|
|
32
34
|
"bundle": "npm run build && npx -y @anthropic-ai/mcpb pack . dist/who-gho-mcp-server.mcpb",
|
|
33
35
|
"changelog:build": "tsx scripts/build-changelog.ts",
|
|
34
36
|
"changelog:check": "tsx scripts/build-changelog.ts --check",
|
|
@@ -41,6 +43,11 @@
|
|
|
41
43
|
"mcp",
|
|
42
44
|
"mcp-server",
|
|
43
45
|
"model-context-protocol",
|
|
46
|
+
"typescript",
|
|
47
|
+
"bun",
|
|
48
|
+
"stdio",
|
|
49
|
+
"streamable-http",
|
|
50
|
+
"ai-agent",
|
|
44
51
|
"who",
|
|
45
52
|
"gho",
|
|
46
53
|
"global-health",
|
|
@@ -51,11 +58,27 @@
|
|
|
51
58
|
],
|
|
52
59
|
"repository": {
|
|
53
60
|
"type": "git",
|
|
54
|
-
"url": "https://github.com/cyanheads/who-gho-mcp-server"
|
|
61
|
+
"url": "git+https://github.com/cyanheads/who-gho-mcp-server.git"
|
|
55
62
|
},
|
|
63
|
+
"bugs": {
|
|
64
|
+
"url": "https://github.com/cyanheads/who-gho-mcp-server/issues"
|
|
65
|
+
},
|
|
66
|
+
"homepage": "https://github.com/cyanheads/who-gho-mcp-server#readme",
|
|
67
|
+
"author": "cyanheads <casey@caseyjhand.com> (https://github.com/cyanheads/who-gho-mcp-server#readme)",
|
|
68
|
+
"funding": [
|
|
69
|
+
{
|
|
70
|
+
"type": "github",
|
|
71
|
+
"url": "https://github.com/sponsors/cyanheads"
|
|
72
|
+
},
|
|
73
|
+
{
|
|
74
|
+
"type": "buy_me_a_coffee",
|
|
75
|
+
"url": "https://www.buymeacoffee.com/cyanheads"
|
|
76
|
+
}
|
|
77
|
+
],
|
|
56
78
|
"license": "Apache-2.0",
|
|
79
|
+
"packageManager": "bun@1.3.2",
|
|
57
80
|
"engines": {
|
|
58
|
-
"bun": ">=1.3.
|
|
81
|
+
"bun": ">=1.3.2",
|
|
59
82
|
"node": ">=24.0.0"
|
|
60
83
|
},
|
|
61
84
|
"publishConfig": {
|
package/server.json
CHANGED
|
@@ -1,19 +1,19 @@
|
|
|
1
1
|
{
|
|
2
2
|
"$schema": "https://static.modelcontextprotocol.io/schemas/2025-12-11/server.schema.json",
|
|
3
|
-
"name": "cyanheads/who-gho-mcp-server",
|
|
4
|
-
"description": "WHO Global Health Observatory
|
|
3
|
+
"name": "io.github.cyanheads/who-gho-mcp-server",
|
|
4
|
+
"description": "WHO Global Health Observatory — 3,059 indicators across 194 member states.",
|
|
5
5
|
"repository": {
|
|
6
6
|
"url": "https://github.com/cyanheads/who-gho-mcp-server",
|
|
7
7
|
"source": "github"
|
|
8
8
|
},
|
|
9
|
-
"version": "0.1.
|
|
9
|
+
"version": "0.1.4",
|
|
10
10
|
"packages": [
|
|
11
11
|
{
|
|
12
12
|
"registryType": "npm",
|
|
13
13
|
"registryBaseUrl": "https://registry.npmjs.org",
|
|
14
14
|
"identifier": "@cyanheads/who-gho-mcp-server",
|
|
15
|
-
"runtimeHint": "
|
|
16
|
-
"version": "0.1.
|
|
15
|
+
"runtimeHint": "bun",
|
|
16
|
+
"version": "0.1.4",
|
|
17
17
|
"packageArguments": [
|
|
18
18
|
{
|
|
19
19
|
"type": "positional",
|
|
@@ -41,8 +41,8 @@
|
|
|
41
41
|
"registryType": "npm",
|
|
42
42
|
"registryBaseUrl": "https://registry.npmjs.org",
|
|
43
43
|
"identifier": "@cyanheads/who-gho-mcp-server",
|
|
44
|
-
"runtimeHint": "
|
|
45
|
-
"version": "0.1.
|
|
44
|
+
"runtimeHint": "bun",
|
|
45
|
+
"version": "0.1.4",
|
|
46
46
|
"packageArguments": [
|
|
47
47
|
{
|
|
48
48
|
"type": "positional",
|